From d57d927a5241b4e9c90d3d186df2caeb57193684 Mon Sep 17 00:00:00 2001 From: Zhang Liguo <482370576@qq.com> Date: Fri, 30 Jun 2023 19:55:49 +0800 Subject: [PATCH] =?UTF-8?q?=E6=A0=B9=E6=8D=AE=E6=A0=87=E7=AD=BE=E6=9F=A5?= =?UTF-8?q?=E8=AF=A2=E6=9C=80=E6=96=B0=E7=9A=84=E9=A1=B9=E7=9B=AE=E5=92=8C?= =?UTF-8?q?=E6=9C=80=E7=83=AD=E9=97=A8=E7=9A=84=E9=A1=B9=E7=9B=AE=EF=BC=8C?= =?UTF-8?q?=E9=BB=98=E8=AE=A4=E6=A0=87=E7=AD=BE=E4=B8=BA0=E6=97=B6?= =?UTF-8?q?=E6=9F=A5=E8=AF=A2=E5=85=A8=E9=83=A8=E9=A1=B9=E7=9B=AE=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/com/hellogithub/dao/projectDao.java | 50 +++++++++++++++++ .../hellogithub/service/projectService.java | 39 +++++++++++-- .../hellogithub/servlet/latestServlet.java | 1 + .../servlet/selectLastByCateServlet.java | 56 +++++++++++++++++++ .../servlet/selectMostStarServlet.java | 52 +++++++++++++++++ 5 files changed, 192 insertions(+), 6 deletions(-) create mode 100644 src/com/hellogithub/servlet/selectLastByCateServlet.java create mode 100644 src/com/hellogithub/servlet/selectMostStarServlet.java diff --git a/src/com/hellogithub/dao/projectDao.java b/src/com/hellogithub/dao/projectDao.java index 1bf19fe..84ef576 100644 --- a/src/com/hellogithub/dao/projectDao.java +++ b/src/com/hellogithub/dao/projectDao.java @@ -66,4 +66,54 @@ public class projectDao { } return projectEntityList; } + public List retLatestProject(){ + List projectEntityList; + try { + Connection conn = JdbcUtils.getConnection(); + QueryRunner runner = new QueryRunner(); + String sql = "select * from project "; + projectEntityList = runner.query(conn, sql, new BeanListHandler<>(projectEntity.class)); + } catch (SQLException e) { + throw new RuntimeException(e); + } + return projectEntityList; + } + public List retSelcetByCate(int cateid){ + List projectEntityList; + try { + Connection conn = JdbcUtils.getConnection(); + QueryRunner runner = new QueryRunner(); + String sql = "select * from project where projectId in (select projectId from project_category where categoryId=?)"; + projectEntityList = runner.query(conn, sql, new BeanListHandler<>(projectEntity.class),cateid); + } catch (SQLException e) { + throw new RuntimeException(e); + } + return projectEntityList; + } + + public List retSelcetByStartNum(int cateid){ + List projectEntityList; + try { + Connection conn = JdbcUtils.getConnection(); + QueryRunner runner = new QueryRunner(); + String sql = "select * from project where projectId in (select projectId from project_category where categoryId=?) order by startNum"; + projectEntityList = runner.query(conn, sql, new BeanListHandler<>(projectEntity.class),cateid); + } catch (SQLException e) { + throw new RuntimeException(e); + } + return projectEntityList; + } + public List retMostStar(){ + List projectEntityList; + try { + Connection conn = JdbcUtils.getConnection(); + QueryRunner runner = new QueryRunner(); + String sql = "select * from project order by startNum desc"; + projectEntityList = runner.query(conn, sql, new BeanListHandler<>(projectEntity.class)); + } catch (SQLException e) { + throw new RuntimeException(e); + } + return projectEntityList; + } + } diff --git a/src/com/hellogithub/service/projectService.java b/src/com/hellogithub/service/projectService.java index da51320..3d92e3c 100644 --- a/src/com/hellogithub/service/projectService.java +++ b/src/com/hellogithub/service/projectService.java @@ -7,10 +7,37 @@ import com.hellogithub.entity.projectEntity; import java.util.List; public class projectService { - private projectDao projectDao=new projectDao(); + private projectDao projectDao = new projectDao(); - 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);} -} + 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); + } + + public List retLatestProject(int cate) { + if (cate == 0) { + return projectDao.retLatestProject(); + } else { + return projectDao.retSelcetByCate(cate); + }} + public List retSelcetByStar(int cate){ + if (cate==0){ + return projectDao.retMostStar(); + }else { + return projectDao.retSelcetByStartNum(cate); + } + } + + +} \ No newline at end of file diff --git a/src/com/hellogithub/servlet/latestServlet.java b/src/com/hellogithub/servlet/latestServlet.java index 981950a..a87a0bd 100644 --- a/src/com/hellogithub/servlet/latestServlet.java +++ b/src/com/hellogithub/servlet/latestServlet.java @@ -43,3 +43,4 @@ public class latestServlet extends HttpServlet { writer.close(); } } + diff --git a/src/com/hellogithub/servlet/selectLastByCateServlet.java b/src/com/hellogithub/servlet/selectLastByCateServlet.java new file mode 100644 index 0000000..6256a6a --- /dev/null +++ b/src/com/hellogithub/servlet/selectLastByCateServlet.java @@ -0,0 +1,56 @@ +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; +/** + * 根据标签查询最新的项目,默认标签值为0的时候查询全部。 + */ + +@WebServlet("/selectLastByCate") +public class selectLastByCateServlet extends HttpServlet { + private projectService projectService=new projectService(); + @Override + public void init(ServletConfig config) throws ServletException { + super.init(config); + } + + @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"); + + String cate = req.getParameter("xxxxxxx"); + PrintWriter writer = resp.getWriter(); + String jsonString = JSONObject.toJSONString(projectService.retLatestProject(Integer.valueOf(cate))); + writer.println(jsonString); + writer.close(); + } + + @Override + public void destroy() { + super.destroy(); + } +} diff --git a/src/com/hellogithub/servlet/selectMostStarServlet.java b/src/com/hellogithub/servlet/selectMostStarServlet.java new file mode 100644 index 0000000..aa62a7b --- /dev/null +++ b/src/com/hellogithub/servlet/selectMostStarServlet.java @@ -0,0 +1,52 @@ +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("/selectMostStar") +public class selectMostStarServlet extends HttpServlet { + private projectService projectService=new projectService(); + @Override + public void init(ServletConfig config) throws ServletException { + super.init(config); + } + + @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"); + + String cate = req.getParameter("xxxxxxx"); + PrintWriter writer = resp.getWriter(); + String jsonString = JSONObject.toJSONString(projectService.retSelcetByStar(Integer.valueOf(cate))); + writer.println(jsonString); + writer.close(); + } + + @Override + public void destroy() { + super.destroy(); + } +}