diff --git a/src/com/hellogithub/dao/projectDao.java b/src/com/hellogithub/dao/projectDao.java index 74bde94..4a74a59 100644 --- a/src/com/hellogithub/dao/projectDao.java +++ b/src/com/hellogithub/dao/projectDao.java @@ -24,7 +24,7 @@ public class projectDao { try { Connection conn = JdbcUtils.getConnection(); QueryRunner runner = new QueryRunner(); - String sql = "select * from project where periodicals = ?"; + String sql = "select * from project where periodicals = ? ORDER BY categoryId"; projectEntityList = runner.query(conn, sql, new BeanListHandler<>(projectEntity.class), num); conn.close(); } catch (SQLException e) { @@ -221,4 +221,23 @@ public class projectDao { } return categoryEntityList; } + + //返回项目最大数字 + public int retMaxProId(){ + projectEntity projectEntity; + int num ; + try { + Connection conn = JdbcUtils.getConnection(); + QueryRunner runner = new QueryRunner(); + String sql = "select * from project Order By ProjectId DESC limit 1"; + projectEntity = runner.query(conn, sql,new BeanHandler<>(projectEntity.class)); + num = projectEntity.getProjectId(); + conn.close(); + } catch (SQLException e) { + throw new RuntimeException(e); + } + return num; + } + + } diff --git a/src/com/hellogithub/service/projectService.java b/src/com/hellogithub/service/projectService.java index 64599b3..60cb444 100644 --- a/src/com/hellogithub/service/projectService.java +++ b/src/com/hellogithub/service/projectService.java @@ -8,10 +8,7 @@ import com.hellogithub.dao.projectDao; import com.hellogithub.entity.categoryEntity; import com.hellogithub.entity.projectEntity; -import java.util.ArrayList; -import java.util.HashMap; -import java.util.List; -import java.util.Map; +import java.util.*; public class projectService { @@ -24,16 +21,30 @@ public class projectService { * * @param num */ - public List retTerm(String num){ + public String retTerm(String num){ List projectEntityList = projectDao.retTerm(num); + List projectEntityListTem =new ArrayList<>(); + Map> dataMap= new HashMap<>(); + String tem =null; + String now =null; for(int i =0;i(); + } + projectEntityListTem.add(projectEntity); } - return projectDao.retTerm(num); + return JSONObject.toJSONString(dataMap); } @@ -145,4 +156,16 @@ public class projectService { dataMap.put("CategoryName",strs); return JSONArray.toJSONString(dataMap); } + + public List randomSelect(){ + List projectEntityList = null; + long t = System.currentTimeMillis(); + Random random = new Random(t); + for(int i=0;i<5;i++) + { + projectEntity projectEntity = projectDao.selectProById(String.valueOf(random.nextInt(projectDao.retMaxProId()))); + projectEntityList.add(projectEntity); + } + return projectEntityList; + } } \ No newline at end of file diff --git a/src/com/hellogithub/servlet/randomSelectProServlet.java b/src/com/hellogithub/servlet/randomSelectProServlet.java new file mode 100644 index 0000000..ebd2e0d --- /dev/null +++ b/src/com/hellogithub/servlet/randomSelectProServlet.java @@ -0,0 +1,46 @@ +package com.hellogithub.servlet; + +import com.alibaba.fastjson.JSONObject; +import com.hellogithub.service.projectService; +import jakarta.servlet.ServletConfig; +import jakarta.servlet.ServletException; +import jakarta.servlet.annotation.WebServlet; +import jakarta.servlet.http.HttpServlet; +import jakarta.servlet.http.HttpServletRequest; +import jakarta.servlet.http.HttpServletResponse; + +import java.io.IOException; +import java.io.PrintWriter; + +@WebServlet("/randomSelectPro") +public class randomSelectProServlet extends HttpServlet { + private com.hellogithub.service.projectService projectService=new projectService(); + @Override + public void init(ServletConfig config) throws ServletException { + + } + + @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 jsonString = JSONObject.toJSONString(projectService.randomSelect()); + writer.println(jsonString); + writer.close(); + } +} diff --git a/src/com/hellogithub/servlet/selectTermServlet.java b/src/com/hellogithub/servlet/selectTermServlet.java index e10bcae..521cccc 100644 --- a/src/com/hellogithub/servlet/selectTermServlet.java +++ b/src/com/hellogithub/servlet/selectTermServlet.java @@ -39,12 +39,10 @@ public class selectTermServlet 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"); //按照分类返回期刊 - String num = req.getParameter("xxxxxxx"); + String num = req.getParameter("id"); PrintWriter writer = resp.getWriter(); - String jsonString = JSONObject.toJSONString(projectService.retTerm(num)); - setResultOK("success",writer); - writer.println(jsonString); - writer.close(); + writer.println(projectService.retTerm(num)); +// setResultOK("123",writer); } public void setResult(Integer code, String msg, PrintWriter writer) {