diff --git a/src/com/hellogithub/dao/UserDao.java b/src/com/hellogithub/dao/UserDao.java index d9a7cbb..5386991 100644 --- a/src/com/hellogithub/dao/UserDao.java +++ b/src/com/hellogithub/dao/UserDao.java @@ -112,31 +112,38 @@ public class UserDao { JdbcUtils.closeConnection(resultSet, preparedStatement, connection); } } - - public int dedletePieceLabel(int userID,String str){ + /* + * + * 根据用户名和选取标签进行删除 + * */ + public int dedletePieceLabel(String name,String str){ String label; int num; try { Connection conn = JdbcUtils.getConnection(); QueryRunner runner = new QueryRunner(); - String sql = "select searchHistory from user where userId=?"; - label = runner.query(conn, sql, new BeanHandler<>(String.class),userID); + String sql = "select searchHistory from user where userName=?"; + label = runner.query(conn, sql, new BeanHandler<>(String.class),name); label=label.replace(str,""); - sql="UPDATE user SET searchHistory = ? WHERE userId= ?"; - num = runner.update(conn,sql,label,userID); + sql="UPDATE user SET searchHistory = ? WHERE userName= ?"; + num = runner.update(conn,sql,label,name); } catch (SQLException e) { throw new RuntimeException(e); } return num; } - public String selectLabel(int userID){ + /* + * + * 根据用户名返回搜索历史 + * */ + public String selectLabel(String name){ String label; try { Connection conn = JdbcUtils.getConnection(); QueryRunner runner = new QueryRunner(); - String sql = "select searchHistory from user where userId=?"; - label = runner.query(conn, sql, new BeanHandler<>(String.class),userID); + String sql = "select searchHistory from user where userName=?"; + label = runner.query(conn, sql, new BeanHandler<>(String.class),name); } catch (SQLException e) { throw new RuntimeException(e); @@ -145,14 +152,18 @@ public class UserDao { return label; } - public int dedleteAllLabel(int userID){ + /* + * + * 根据用户名和选取标签进行删除 + * */ + public int dedleteAllLabel(String name){ String label=""; int num; try { Connection conn = JdbcUtils.getConnection(); QueryRunner runner = new QueryRunner(); - String sql="UPDATE user SET searchHistory = ? WHERE userId= ?"; - num = runner.update(conn,sql,label,userID); + String sql="UPDATE user SET searchHistory = ? WHERE userName= ?"; + num = runner.update(conn,sql,label,name); } catch (SQLException e) { throw new RuntimeException(e); } diff --git a/src/com/hellogithub/dao/projectDao.java b/src/com/hellogithub/dao/projectDao.java index 4f41df7..643bacc 100644 --- a/src/com/hellogithub/dao/projectDao.java +++ b/src/com/hellogithub/dao/projectDao.java @@ -13,7 +13,11 @@ import java.util.List; public class projectDao { - + /** + * 按照期刊号查询 + * + * @param num + */ public List retTerm(String num) { List projectEntityList; try { @@ -27,7 +31,11 @@ public class projectDao { } return projectEntityList; } - + /** + * 返回最新期刊数字 + * + * + */ public int latestNum() { projectEntity projectEntity; try { @@ -41,7 +49,11 @@ public class projectDao { } return projectEntity.getPeriodicals(); } - + /** + * 返回最所有项目总数 + * + * + */ public int countAll() { int count; try { @@ -55,7 +67,11 @@ public class projectDao { } return count; } - + /** + * 按照分类检索项目 + * + * + */ public List retCate(int num) { List projectEntityList; diff --git a/src/com/hellogithub/service/UserService.java b/src/com/hellogithub/service/UserService.java index 73cfc19..ee72182 100644 --- a/src/com/hellogithub/service/UserService.java +++ b/src/com/hellogithub/service/UserService.java @@ -31,7 +31,20 @@ public class UserService { public userEntity findByUserName(String userName) { return userDao.findByUserName(userName); } - public int dedletePieceLabel(int userID,String str){ return userDao.dedletePieceLabel(userID, str);} - public String selectLabel(int userID){return userDao.selectLabel(userID);} - public int dedleteAllLabel(int userID){return userDao.dedleteAllLabel(userID);} + /** + * 根据用户名和选取标签进行删除 + * @param name + * @param str + * */ + public int dedletePieceLabel(String name,String str){ return userDao.dedletePieceLabel(name, str);} + /** + * 根据用户名返回搜索历史 + * @param name + * */ + public String selectLabel(String name){return userDao.selectLabel(name);} + /** + * 根据用户名和选取标签进行删除 + * @param name + * */ + public int dedleteAllLabel(String name){return userDao.dedleteAllLabel(name);} } diff --git a/src/com/hellogithub/service/projectService.java b/src/com/hellogithub/service/projectService.java index da51320..69f0e6f 100644 --- a/src/com/hellogithub/service/projectService.java +++ b/src/com/hellogithub/service/projectService.java @@ -8,9 +8,28 @@ import java.util.List; public class projectService { private projectDao projectDao=new projectDao(); - + /** + * 按照期刊号查询 + * + * @param num + */ public List retTerm(String num){return projectDao.retTerm(num);} + /** + * 返回最新期刊数字 + * + * + */ public int latestNum() {return projectDao.latestNum();} + /** + * 返回最所有项目总数 + * + * + */ public int countAll() {return projectDao.countAll();} + /** + * 按照分类检索项目 + * + * + */ public List retCate(int num){return projectDao.retCate(num);} } diff --git a/src/com/hellogithub/servlet/deleteAllLabelServlet.java b/src/com/hellogithub/servlet/deleteAllLabelServlet.java index 888fe0e..99c224c 100644 --- a/src/com/hellogithub/servlet/deleteAllLabelServlet.java +++ b/src/com/hellogithub/servlet/deleteAllLabelServlet.java @@ -6,6 +6,7 @@ import jakarta.servlet.ServletException; import jakarta.servlet.http.HttpServlet; import jakarta.servlet.http.HttpServletRequest; import jakarta.servlet.http.HttpServletResponse; +import jakarta.servlet.http.HttpSession; import java.io.IOException; import java.io.PrintWriter; @@ -20,10 +21,23 @@ public class deleteAllLabelServlet extends HttpServlet { @Override protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { + resp.setCharacterEncoding("UTF-8"); + resp.setContentType("text/html; charset=utf-8"); + // 设置响应头允许ajax跨域访问 + String curOrigin = req.getHeader("Origin"); + resp.setHeader("Access-Control-Allow-Origin", curOrigin == null ? "true" : curOrigin); + resp.setHeader("Access-Control-Allow-Credentials", "true"); + resp.setHeader("Access-Control-Allow-Methods", "POST, GET, OPTIONS, DELETE, HEAD"); + resp.setHeader("Access-Control-Max-Age", "3600"); + resp.setHeader("Access-Control-Allow-Headers", "access-control-allow-origin, authority, content-type, version-info, X-Requested-With"); + resp.setContentType("application/json;charset=UTF-8"); PrintWriter writer = resp.getWriter(); - String id = req.getParameter("xxxxx"); - int num = userService.dedleteAllLabel(Integer.parseInt(id)); + HttpSession session = req.getSession(); + String name = (String)session.getAttribute("username"); + + //返回处理行数,如果为零则代表处理零条结果 + int num = userService.dedleteAllLabel(name); if(num == 0 ){ setResultError("删除失败",writer); }else{ diff --git a/src/com/hellogithub/servlet/deletelabelServlet.java b/src/com/hellogithub/servlet/deletelabelServlet.java index 24b5c25..4f35fec 100644 --- a/src/com/hellogithub/servlet/deletelabelServlet.java +++ b/src/com/hellogithub/servlet/deletelabelServlet.java @@ -6,6 +6,7 @@ import jakarta.servlet.ServletException; import jakarta.servlet.http.HttpServlet; import jakarta.servlet.http.HttpServletRequest; import jakarta.servlet.http.HttpServletResponse; +import jakarta.servlet.http.HttpSession; import java.io.IOException; import java.io.PrintWriter; @@ -20,10 +21,24 @@ public class deletelabelServlet extends HttpServlet { @Override protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { + resp.setCharacterEncoding("UTF-8"); + resp.setContentType("text/html; charset=utf-8"); + // 设置响应头允许ajax跨域访问 + String curOrigin = req.getHeader("Origin"); + resp.setHeader("Access-Control-Allow-Origin", curOrigin == null ? "true" : curOrigin); + resp.setHeader("Access-Control-Allow-Credentials", "true"); + resp.setHeader("Access-Control-Allow-Methods", "POST, GET, OPTIONS, DELETE, HEAD"); + resp.setHeader("Access-Control-Max-Age", "3600"); + resp.setHeader("Access-Control-Allow-Headers", "access-control-allow-origin, authority, content-type, version-info, X-Requested-With"); + resp.setContentType("application/json;charset=UTF-8"); PrintWriter writer = resp.getWriter(); - String id = req.getParameter("xxxxx"); + + HttpSession session = req.getSession(); + String name = (String)session.getAttribute("username"); String str = req.getParameter("xxxxx"); - int num = userService.dedletePieceLabel(Integer.parseInt(id),str); + + int num = userService.dedletePieceLabel(name,str); + //返回处理行数,如果为零则代表处理零条结果 if(num == 0 ){ setResultError("删除失败",writer); }else{ diff --git a/src/com/hellogithub/servlet/latestServlet.java b/src/com/hellogithub/servlet/latestServlet.java index 981950a..e875915 100644 --- a/src/com/hellogithub/servlet/latestServlet.java +++ b/src/com/hellogithub/servlet/latestServlet.java @@ -11,6 +11,9 @@ import jakarta.servlet.http.HttpServletResponse; import java.io.IOException; import java.io.PrintWriter; +import java.util.HashMap; + + @WebServlet("/latest") public class latestServlet extends HttpServlet { private com.hellogithub.service.projectService projectService=new projectService(); @@ -36,10 +39,28 @@ public class latestServlet extends HttpServlet { resp.setHeader("Access-Control-Max-Age", "3600"); resp.setHeader("Access-Control-Allow-Headers", "access-control-allow-origin, authority, content-type, version-info, X-Requested-With"); resp.setContentType("application/json;charset=UTF-8"); - + //返回最新期刊数字 PrintWriter writer = resp.getWriter(); String jsonString = JSONObject.toJSONString(projectService.latestNum()); + setResultOK("success",writer); writer.println(jsonString); writer.close(); } + + public void setResult(Integer code, String msg, PrintWriter writer) { + HashMap result = new HashMap<>(); + result.put("code", code); + result.put("msg", msg); + String jsonString = JSONObject.toJSONString(result); + writer.println(jsonString); + writer.close(); + } + + public void setResultError(String msg, PrintWriter writer) { + setResult(500, msg, writer); + } + + public void setResultOK(String msg, PrintWriter writer) { + setResult(200, msg, writer); + } } diff --git a/src/com/hellogithub/servlet/selectCateServlet.java b/src/com/hellogithub/servlet/selectCateServlet.java index fad00c8..f0165ba 100644 --- a/src/com/hellogithub/servlet/selectCateServlet.java +++ b/src/com/hellogithub/servlet/selectCateServlet.java @@ -10,6 +10,8 @@ import jakarta.servlet.http.HttpServletRequest; import jakarta.servlet.http.HttpServletResponse; import java.io.IOException; import java.io.PrintWriter; +import java.util.HashMap; + @WebServlet("/selectCate") public class selectCateServlet extends HttpServlet { private projectService projectService=new projectService(); @@ -35,11 +37,29 @@ public class selectCateServlet extends HttpServlet { resp.setHeader("Access-Control-Max-Age", "3600"); resp.setHeader("Access-Control-Allow-Headers", "access-control-allow-origin, authority, content-type, version-info, X-Requested-With"); resp.setContentType("application/json;charset=UTF-8"); - + //按照分类检索 String num = req.getParameter("xxxxxxx"); PrintWriter writer = resp.getWriter(); - String jsonString = JSONObject.toJSONString(projectService.retTerm(String.valueOf(num))); + String jsonString = JSONObject.toJSONString(projectService.retCate(Integer.valueOf(num))); + setResultOK("success",writer); writer.println(jsonString); writer.close(); } + + public void setResult(Integer code, String msg, PrintWriter writer) { + HashMap result = new HashMap<>(); + result.put("code", code); + result.put("msg", msg); + String jsonString = JSONObject.toJSONString(result); + writer.println(jsonString); + writer.close(); + } + + public void setResultError(String msg, PrintWriter writer) { + setResult(500, msg, writer); + } + + public void setResultOK(String msg, PrintWriter writer) { + setResult(200, msg, writer); + } } diff --git a/src/com/hellogithub/servlet/selectTermServlet.java b/src/com/hellogithub/servlet/selectTermServlet.java index 1fa2add..e10bcae 100644 --- a/src/com/hellogithub/servlet/selectTermServlet.java +++ b/src/com/hellogithub/servlet/selectTermServlet.java @@ -11,6 +11,8 @@ import jakarta.servlet.http.HttpServletResponse; import java.io.IOException; import java.io.PrintWriter; +import java.util.HashMap; + @WebServlet("/selectTerm") public class selectTermServlet extends HttpServlet { private projectService projectService=new projectService(); @@ -36,11 +38,29 @@ public class selectTermServlet extends HttpServlet { resp.setHeader("Access-Control-Max-Age", "3600"); resp.setHeader("Access-Control-Allow-Headers", "access-control-allow-origin, authority, content-type, version-info, X-Requested-With"); resp.setContentType("application/json;charset=UTF-8"); - + //按照分类返回期刊 String num = req.getParameter("xxxxxxx"); PrintWriter writer = resp.getWriter(); String jsonString = JSONObject.toJSONString(projectService.retTerm(num)); + setResultOK("success",writer); writer.println(jsonString); writer.close(); } + + public void setResult(Integer code, String msg, PrintWriter writer) { + HashMap result = new HashMap<>(); + result.put("code", code); + result.put("msg", msg); + String jsonString = JSONObject.toJSONString(result); + writer.println(jsonString); + writer.close(); + } + + public void setResultError(String msg, PrintWriter writer) { + setResult(500, msg, writer); + } + + public void setResultOK(String msg, PrintWriter writer) { + setResult(200, msg, writer); + } } diff --git a/src/com/hellogithub/servlet/selectUserLabelServlet.java b/src/com/hellogithub/servlet/selectUserLabelServlet.java index e174c12..3dd0e6a 100644 --- a/src/com/hellogithub/servlet/selectUserLabelServlet.java +++ b/src/com/hellogithub/servlet/selectUserLabelServlet.java @@ -29,11 +29,12 @@ public class selectUserLabelServlet extends HttpServlet { resp.setHeader("Access-Control-Allow-Headers", "access-control-allow-origin, authority, content-type, version-info, X-Requested-With"); resp.setContentType("application/json;charset=UTF-8"); - + //返回所有的历史记录 PrintWriter writer = resp.getWriter(); - String id = req.getParameter("xxxxx"); - String jsonString = JSONObject.toJSONString(userService.selectLabel(Integer.parseInt(id))); + String name = req.getParameter("xxxxx"); + String jsonString = JSONObject.toJSONString(userService.selectLabel(name)); writer.println(jsonString); + setResultOK("success",writer); writer.close(); }