Skip to content

Commit aab2822

Browse files
author
hh-afk
committed
Merge branch 'dev' into main
2 parents 087a618 + 9f0b01c commit aab2822

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

43 files changed

+20092
-13234
lines changed

221801121&221801131/README.md

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
# 顶会热词统计
2+
3+
## 作业链接
4+
5+
## 结对学号
6+
221801121&221801131
7+
8+
## 项目介绍
9+
我们的项目是一个顶会热词统计网站,包含查询顶会论文、删除论文、三大顶会的热词词频分析展示、10大热词词云图等功能。
10+
11+
项目已部署至阿里云上,地址:http://116.62.208.168:8080/demo_war
12+
## 构建运行
13+
14+
* 所需环境
15+
Tomcat
16+
* 具体步骤
17+
下载文件,将其解压
18+
将解压后的文件置入Tomcat服务目录下,重启tomcat
19+
打开浏览器,进入localhost:8080/即可进入

221801121&221801131/codestyle.md

Lines changed: 31 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,32 @@
1+
#### 包命名
2+
包名称必须全部用小写。
3+
命名方式:com.业务领域名.业务模块.业务子模块.系统分层
4+
如com.hcepms.proj.ownerunit.dao
5+
com.hcepms.proj.ownerunit.controller
6+
7+
8+
#### 类命名
9+
类名以英文单词取名,首字母必须大写,多个英文单词以大写字母间隔,避免使用单词的 缩写,除非它的缩写已经广为人知,如HTTP。类名中不允许‘_’、‘-’等符号。
10+
11+
#### 常量命名
12+
所有常量名均全部大写,单词间以‘_’隔开。例如:MAX_NUM
13+
14+
#### 异常处理
15+
在当前的系统架构中,系统自上而下被分为控制器层、业务逻辑层、数据访问层、数据持久层、界面层。本规范约定各层的异常处理机制。
16+
17+
异常处理原则:
18+
19+
1、下层有常异,必须抛向上一层。
20+
2、为了使系统能够更好的跟踪运行情况,必须把底层异常放入新异常中。
21+
3、如果一个层要抛出多个异常,那么所有自定义异常必须统一继承一个父类异常。这样上层可以通过父类异常捕获。
22+
4、异常统一在控制器层处理,控制器层以下的层次在处理异常时,只需要把低层的异常类放到本层约定的异常类中,并抛出,如有需要可以加适当的异常消息。
23+
24+
#### 对于业务逻辑复杂方法的处理约定
25+
26+
如果一个方法业务逻辑比较复杂,在一个方法中进行处理,该方法将会臃肿、不宜阅读和维护,建议每个方法代码行不要大于50行,建议多使用方法重构。建议对方法中需要进行说明的地方进行注释,如参数、方法中多个步骤的业务逻辑处理。(备注,代码行数指的是代码语句行数,不是编辑器行数)
27+
128
#### 缩进
29+
230
- 四个空格
331
***
432
#### 命名
@@ -29,11 +57,6 @@
2957
***
3058
#### 空行
3159
- 每个函数定义结束后,相对独立的程序块之间必须加空行。
32-
- 括号使用:单独一行
33-
34-
```
35-
for(;;)
36-
{
37-
XXX;
38-
}
39-
```
60+
61+
62+

221801121&221801131/java/edu/fzu/postsearch/dao/PostDAO.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,9 +7,10 @@ public interface PostDAO {
77
int getTotal();
88
void add(Post post);
99
void update(Post post);
10-
void delete(String title) ;
10+
void delete(int id) ;
1111
Post get(String title);
1212
List<Post> list();
13+
public List<Post> listSearch(String search);
1314
List<Post> list(int start, int count) ;
1415
boolean isExist(String name) ;
1516
}

221801121&221801131/java/edu/fzu/postsearch/dao/PostDAOimpl.java

Lines changed: 32 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -40,10 +40,14 @@ public void update(Post post) {
4040
}
4141

4242
@Override
43-
public void delete(String title) {
44-
43+
public void delete(int id) {
44+
try (Connection c = DBUtil.getConnection(); Statement s = c.createStatement()) {
45+
String sql = "delete from post where id = '" + id + "'";
46+
s.executeUpdate(sql);
47+
} catch (SQLException e) {
48+
e.printStackTrace();
49+
}
4550
}
46-
4751
@Override
4852
public Post get(String title) {
4953
return null;
@@ -53,17 +57,40 @@ public Post get(String title) {
5357
public List<Post> list() {
5458
List<Post> postList = new ArrayList<>();
5559
try (Connection c = DBUtil.getConnection(); Statement s = c.createStatement()) {
56-
String sql = "select * from post";
60+
String sql = "select * from post order by year desc,type";
61+
ResultSet rs = s.executeQuery(sql);
62+
while (rs.next()){
63+
int id = rs.getInt("id");
64+
String title = rs.getString("title");
65+
String keywords = rs.getString("keywords");
66+
String abs = rs.getString("abstract");
67+
String link = rs.getString("link");
68+
String year = rs.getString("year");
69+
String type = rs.getString("type");
70+
List<String> kwds= Arrays.asList(keywords.split(","));
71+
postList.add(new Post(id,title,kwds,abs,link,year,type));
72+
}
73+
}catch (SQLException e) {
74+
e.printStackTrace();
75+
}
76+
return postList;
77+
}
78+
79+
public List<Post> listSearch(String search) {
80+
List<Post> postList = new ArrayList<>();
81+
try (Connection c = DBUtil.getConnection(); Statement s = c.createStatement()) {
82+
String sql = "select * from post where title like \'%%" + search +"%%\'" + "or keywords like \'%%" + search +"%%\'order by year desc,type";
5783
ResultSet rs = s.executeQuery(sql);
5884
while (rs.next()){
85+
int id = rs.getInt("id");
5986
String title = rs.getString("title");
6087
String keywords = rs.getString("keywords");
6188
String abs = rs.getString("abstract");
6289
String link = rs.getString("link");
6390
String year = rs.getString("year");
6491
String type = rs.getString("type");
6592
List<String> kwds= Arrays.asList(keywords.split(","));
66-
postList.add(new Post(title,kwds,abs,link,year,type));
93+
postList.add(new Post(id,title,kwds,abs,link,year,type));
6794
}
6895
}catch (SQLException e) {
6996
e.printStackTrace();

221801121&221801131/java/edu/fzu/postsearch/pojo/Post.java

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,14 +3,16 @@
33
import java.util.List;
44

55
public class Post {
6+
private int id;
67
private String title;
78
private List<String> kwds;
89
private String abs;
910
private String link;
1011
private String year;
1112
private String type;
1213

13-
public Post(String title,List<String> kwds,String abs,String link,String year,String type){
14+
public Post(int id,String title,List<String> kwds,String abs,String link,String year,String type){
15+
this.id = id;
1416
this.title = title;
1517
this.kwds = kwds;
1618
this.abs = abs;
@@ -19,6 +21,14 @@ public Post(String title,List<String> kwds,String abs,String link,String year,St
1921
this.type = type;
2022
}
2123

24+
public int getId() {
25+
return id;
26+
}
27+
28+
public void setId(int id) {
29+
this.id = id;
30+
}
31+
2232
public String getTitle() {
2333
return title;
2434
}

221801121&221801131/java/edu/fzu/postsearch/servlet/BaseBackServlet.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
package edu.fzu.postsearch.servlet;
2-
import jakarta.servlet.http.HttpServlet;
3-
import jakarta.servlet.http.HttpServletRequest;
4-
import jakarta.servlet.http.HttpServletResponse;
2+
import javax.servlet.http.HttpServlet;
3+
import javax.servlet.http.HttpServletRequest;
4+
import javax.servlet.http.HttpServletResponse;
55

66
import java.lang.reflect.Method;
77

Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
package edu.fzu.postsearch.servlet;
2+
3+
import edu.fzu.postsearch.dao.PostDAO;
4+
import edu.fzu.postsearch.dao.PostDAOimpl;
5+
6+
import javax.servlet.*;
7+
import javax.servlet.http.*;
8+
import javax.servlet.annotation.*;
9+
import java.io.IOException;
10+
11+
@WebServlet(name = "DeleteServlet", value = "/DeleteServlet")
12+
public class DeleteServlet extends HttpServlet {
13+
private PostDAO postDAO = new PostDAOimpl();
14+
15+
@Override
16+
protected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
17+
int id = Integer.parseInt(req.getParameter("id"));
18+
String search = req.getParameter("search");
19+
postDAO.delete(id);
20+
req.getRequestDispatcher("/postList?search="+search).forward(req, resp);
21+
}
22+
23+
@Override
24+
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
25+
26+
}
27+
28+
@Override
29+
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
30+
31+
}
32+
}

221801121&221801131/java/edu/fzu/postsearch/servlet/PostServlet.java

Lines changed: 17 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -1,49 +1,48 @@
11
package edu.fzu.postsearch.servlet;
2+
import edu.fzu.postsearch.dao.PostDAOimpl;
23
import edu.fzu.postsearch.pojo.Post;
34
import edu.fzu.postsearch.dao.PostDAO;
4-
import edu.fzu.postsearch.dao.PostDAOimpl;
55

6-
import jakarta.servlet.ServletException;
7-
import jakarta.servlet.ServletRequest;
8-
import jakarta.servlet.ServletResponse;
9-
import jakarta.servlet.annotation.WebServlet;
10-
import jakarta.servlet.http.HttpServlet;
11-
import jakarta.servlet.http.HttpServletRequest;
12-
import jakarta.servlet.http.HttpServletResponse;
6+
import javax.servlet.ServletException;
7+
import javax.servlet.annotation.WebServlet;
8+
import javax.servlet.http.HttpServletRequest;
9+
import javax.servlet.http.HttpServletResponse;
1310
import java.io.IOException;
14-
import java.io.PrintWriter;
1511
import java.util.List;
1612

1713
@WebServlet("/postList")
14+
1815
public class PostServlet extends BaseBackServlet{
1916
private PostDAO postDAO;
17+
2018
@Override
21-
public void service(ServletRequest req, ServletResponse resp) throws ServletException, IOException {
22-
List posts = (List) req.getAttribute("posts");// 取得共享里面的数据
19+
public void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
20+
List<Post> posts = (List<Post>) req.getAttribute("posts");// 取得共享里面的数据
2321
if (posts == null){
22+
String search = req.getParameter("search");
23+
req.setAttribute("search",search);
2424
postDAO = new PostDAOimpl();
25-
posts = postDAO.list();
25+
if(search.equals(""))posts = postDAO.list();
26+
else posts = postDAO.listSearch(search);
2627
}
27-
//List<Post> posts = postDAO.list();
2828
// 接收分页页面传递过来的页面数
2929
String strNum = req.getParameter("pageNum");
3030
int pageNum = 0;// 表示当前要显示的页面数
3131
int maxPage = 0;// 最大页
3232
int pageCount = posts.size();// 得到查询出来的所有数据的数目
33-
3433
// 如果是第一次执行,就会接收不到数据
3534
if (strNum == null) {
3635
strNum = "0";
3736
} else {// 接收到了用户点击的第几(pageNum)页
3837
pageNum = Integer.parseInt(strNum);
3938
}
40-
4139
// 计算出要分多少页
42-
if (pageCount % 4 == 0) {
43-
maxPage = pageCount / 4;
40+
if (pageCount % 31 == 0) {
41+
maxPage = pageCount / 31;
4442
} else {
45-
maxPage = pageCount / 4 + 1;
43+
maxPage = pageCount / 31 + 1;
4644
}
45+
//System.out.println(posts.get(0).getTitle());
4746
req.setAttribute("maxPage", maxPage);// 存储最大页数
4847
req.setAttribute("pageNum", pageNum);// 将当前页面存储起来,给分页页面使用
4948
req.setAttribute("posts", posts);

221801121&221801131/java/edu/fzu/postsearch/util/DBUtil.java

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,13 @@
11
package edu.fzu.postsearch.util;
22

3+
import edu.fzu.postsearch.dao.PostDAO;
4+
import edu.fzu.postsearch.dao.PostDAOimpl;
5+
import edu.fzu.postsearch.pojo.Post;
6+
37
import java.sql.*;
8+
import java.util.List;
49

510
public class DBUtil {
6-
711
static String loginName = "root";
812
static String password = "root";
913

@@ -44,5 +48,8 @@ public static void close(ResultSet rs, Statement stmt, Connection conn) {
4448

4549
public static void main(String[] args) throws SQLException {
4650
System.out.println(getConnection());
51+
PostDAO postDAO = new PostDAOimpl();
52+
List<Post> posts = postDAO.listSearch("");
53+
System.out.println(posts.get(0).getTitle());
4754
}
4855
}

0 commit comments

Comments
 (0)