Merge remote-tracking branch 'origin/master'

# Conflicts:
#	src/com/hellogithub/service/projectService.java
This commit is contained in:
2023-06-30 19:58:29 +08:00
11 changed files with 375 additions and 26 deletions

View File

@@ -2,11 +2,10 @@ package com.hellogithub.dao;
import com.hellogithub.entity.userEntity;
import com.hellogithub.utils.JdbcUtils;
import org.apache.commons.dbutils.QueryRunner;
import org.apache.commons.dbutils.handlers.BeanHandler;
import java.sql.Connection;
import java.sql.Date;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.*;
/**
* 用户Dao层
@@ -113,4 +112,62 @@ public class UserDao {
JdbcUtils.closeConnection(resultSet, preparedStatement, connection);
}
}
/*
*
* 根据用户名和选取标签进行删除
* */
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 userName=?";
label = runner.query(conn, sql, new BeanHandler<>(String.class),name);
label=label.replace(str,"");
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(String name){
String label;
try {
Connection conn = JdbcUtils.getConnection();
QueryRunner runner = new QueryRunner();
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);
}
return label;
}
/*
*
* 根据用户名和选取标签进行删除
* */
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 userName= ?";
num = runner.update(conn,sql,label,name);
} catch (SQLException e) {
throw new RuntimeException(e);
}
return num;
}
}

View File

@@ -13,7 +13,11 @@ import java.util.List;
public class projectDao {
/**
* 按照期刊号查询
*
* @param num
*/
public List<projectEntity> retTerm(String num) {
List<projectEntity> projectEntityList;
try {
@@ -21,12 +25,17 @@ public class projectDao {
QueryRunner runner = new QueryRunner();
String sql = "select * from project where periodicals = ?";
projectEntityList = runner.query(conn, sql, new BeanListHandler<>(projectEntity.class), num);
conn.close();
} catch (SQLException e) {
throw new RuntimeException(e);
}
return projectEntityList;
}
/**
* 返回最新期刊数字
*
*
*/
public int latestNum() {
projectEntity projectEntity;
try {
@@ -34,12 +43,17 @@ public class projectDao {
QueryRunner runner = new QueryRunner();
String sql = "select * from project Group BY periodicals DESC limit 1";
projectEntity = runner.query(conn, sql, new BeanHandler<>(projectEntity.class));
conn.close();
} catch (SQLException e) {
throw new RuntimeException(e);
}
return projectEntity.getPeriodicals();
}
/**
* 返回最所有项目总数
*
*
*/
public int countAll() {
int count;
try {
@@ -47,12 +61,17 @@ public class projectDao {
QueryRunner runner = new QueryRunner();
String sql = "select count(1) from project";
count = runner.query(conn, sql, new BeanHandler<>(Integer.class));
conn.close();
} catch (SQLException e) {
throw new RuntimeException(e);
}
return count;
}
/**
* 按照分类检索项目
*
*
*/
public List<projectEntity> retCate(int num) {
List<projectEntity> projectEntityList;
@@ -61,6 +80,7 @@ public class projectDao {
QueryRunner runner = new QueryRunner();
String sql = "select * from project where categoryId = ?";
projectEntityList = runner.query(conn, sql, new BeanListHandler<>(projectEntity.class), num);
conn.close();
} catch (SQLException e) {
throw new RuntimeException(e);
}

View File

@@ -31,4 +31,20 @@ public class UserService {
public userEntity findByUserName(String userName) {
return userDao.findByUserName(userName);
}
/**
* 根据用户名和选取标签进行删除
* @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);}
}

View File

@@ -8,19 +8,29 @@ import java.util.List;
public class projectService {
private projectDao projectDao = new projectDao();
public List<projectEntity> retTerm(String num) {
return projectDao.retTerm(num);
}
public int latestNum() {
return projectDao.latestNum();
}
public int countAll() {
return projectDao.countAll();
}
/**
* 按照期刊号查询
*
* @param num
*/
public List<projectEntity> retTerm(String num){return projectDao.retTerm(num);}
/**
* 返回最新期刊数字
*
*
*/
public int latestNum() {return projectDao.latestNum();}
/**
* 返回最所有项目总数
*
*
*/
public int countAll() {return projectDao.countAll();}
/**
* 按照分类检索项目
*
*
*/
public List<projectEntity> retCate(int num) {
return projectDao.retCate(num);
}

View File

@@ -25,7 +25,7 @@ public class VerifycodeServlet extends HttpServlet {
// request.setCharacterEncoding("UTF-8");
// response.setCharacterEncoding("UTF-8");
// response.setContentType("text/html; charset=utf-8");
// 设置响应头允许ajax跨域访问
// 设置响应头允许ajax跨域访问`
// response.setHeader("Access-Control-Allow-Origin", "*");
// response.setHeader("Access-Control-Allow-Methods", "POST, GET, OPTIONS, DELETE");
// response.setHeader("Access-Control-Max-Age", "3600");

View File

@@ -0,0 +1,64 @@
package com.hellogithub.servlet;
import com.alibaba.fastjson.JSONObject;
import com.hellogithub.service.UserService;
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;
import java.util.HashMap;
public class deleteAllLabelServlet extends HttpServlet {
private UserService userService = new UserService();
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
doPost(req, resp);
}
@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();
HttpSession session = req.getSession();
String name = (String)session.getAttribute("username");
//返回处理行数,如果为零则代表处理零条结果
int num = userService.dedleteAllLabel(name);
if(num == 0 ){
setResultError("删除失败",writer);
}else{
setResultOK("删除成功",writer);
}
}
public void setResult(Integer code, String msg, PrintWriter writer) {
HashMap<String, Object> 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);
}
}

View File

@@ -0,0 +1,64 @@
package com.hellogithub.servlet;
import com.alibaba.fastjson.JSONObject;
import com.hellogithub.service.UserService;
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;
import java.util.HashMap;
public class deletelabelServlet extends HttpServlet {
private UserService userService = new UserService();
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
doPost(req, resp);
}
@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();
HttpSession session = req.getSession();
String name = (String)session.getAttribute("username");
String str = req.getParameter("xxxxx");
int num = userService.dedletePieceLabel(name,str);
//返回处理行数,如果为零则代表处理零条结果
if(num == 0 ){
setResultError("删除失败",writer);
}else{
setResultOK("删除成功",writer);
}
}
public void setResult(Integer code, String msg, PrintWriter writer) {
HashMap<String, Object> 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);
}
}

View File

@@ -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,11 +39,29 @@ 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<String, Object> 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);
}
}

View File

@@ -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<String, Object> 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);
}
}

View File

@@ -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<String, Object> 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);
}
}

View File

@@ -0,0 +1,57 @@
package com.hellogithub.servlet;
import com.alibaba.fastjson.JSONObject;
import com.hellogithub.service.UserService;
import jakarta.servlet.ServletException;
import jakarta.servlet.http.*;
import java.io.IOException;
import java.io.PrintWriter;
import java.util.HashMap;
public class selectUserLabelServlet extends HttpServlet {
private UserService userService = new UserService();
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
doPost(req, resp);
}
@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 name = req.getParameter("xxxxx");
String jsonString = JSONObject.toJSONString(userService.selectLabel(name));
writer.println(jsonString);
setResultOK("success",writer);
writer.close();
}
public void setResult(Integer code, String msg, PrintWriter writer) {
HashMap<String, Object> 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);
}
}