diff --git a/失物搜索网站(BS体系风格)/SelectLostThingServlet.java b/失物搜索网站(BS体系风格)/SelectLostThingServlet.java new file mode 100644 index 0000000..46d77bc --- /dev/null +++ b/失物搜索网站(BS体系风格)/SelectLostThingServlet.java @@ -0,0 +1,292 @@ +package WebServlet; + + +import java.io.IOException; +import java.io.PrintWriter; +import java.util.List; +import java.util.Map; +import javax.servlet.RequestDispatcher; +import javax.servlet.ServletException; +import javax.servlet.annotation.WebServlet; +import javax.servlet.http.HttpServlet; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; +import javax.servlet.http.HttpSession; + +import service.AdminService; +@WebServlet("/admin_selectLostThings") +public class SelectLostThingServlet extends HttpServlet { + private static final long serialVersionUID = 1L; + protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { + doPost(request, response); + } + protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { + AdminService as = new AdminService(); + List> list = null; + //获得动作类型 + String act = request.getParameter("act"); + //条件查询 + String keyword = request.getParameter("keyword"); + + + + //在条件查询分页URL中使用 + String keyword1 = request.getParameter("keyword1"); + String getType =request.getParameter("getType"); + request.setAttribute("getType", getType); + //条件查询首页 + if(keyword1 == null) { + keyword1 = keyword; + }else { + //解码URL中的中文 + keyword1 = java.net.URLDecoder.decode(keyword1,"utf-8"); + } + //条件查询非首页 + if(keyword == null) { + keyword = keyword1; + } + //条件查询 + + if ("mypublish".equals(act)) + { + HttpSession session =request.getSession(true); + String id =(String)session.getAttribute("id"); + String type = request.getParameter("type"); + if (type==null||"all".equals(type)) + { + list=as.DetailSelectByUserId(id,keyword); + request.setAttribute("findthings",list); + list=as.DetailSelectByUserId2(id,keyword); + request.setAttribute("lostthings", list); + } + if("lost".equals(type)) + { + list=as.DetailSelectByUserId2(id,keyword); + request.setAttribute("lostthings",list); + request.setAttribute("findthings", null); + } + if("find".equals(type)) + { + list=as.DetailSelectByUserId(id,keyword); + request.setAttribute("findthings",list); + request.setAttribute("lostthings",null); + } + + + RequestDispatcher rds = null; + rds=request.getRequestDispatcher("mypublish.jsp"); + rds.forward(request, response); + return;//一定要有return 否则会接着 下面的语句 + } + + + + + + if ("update".equals(act)) + { + String ownername= request.getParameter("ownername"); + String ownerphone=request.getParameter("ownerphone"); + String thingsid=request.getParameter("thingsid"); + + if ( as.updateOwner(ownername,ownerphone,thingsid)) + { + response.setContentType("text/html;charset=utf-8"); + PrintWriter out = response.getWriter(); + out.print(""); + + } + else{ + response.setContentType("text/html;charset=utf-8"); + PrintWriter out = response.getWriter(); + out.print(""); + } + response.setHeader("refresh", "1;searchThings.jsp"); + + return; + } + if ("detail".equals(act)){ + + list=as.DetailSelectById(request.getParameter("thingsid")); + request.setAttribute("Detail3",list); + RequestDispatcher rds = null; + rds=request.getRequestDispatcher("detail.jsp"); + rds.forward(request, response); + return;//一定要有return 否则会接着 下面的语句 + } + if ("detail2".equals(act)){ + + list=as.DetailSelectById(request.getParameter("thingsid")); + request.setAttribute("Detail3",list); + RequestDispatcher rds = null; + rds=request.getRequestDispatcher("detail2.jsp"); + rds.forward(request, response); + return;//一定要有return 否则会接着 下面的语句 + } + if ("detail3".equals(act)){ + + list=as.DetailSelectById2(request.getParameter("thingsid")); + request.setAttribute("Detail3",list); + RequestDispatcher rds = null; + rds=request.getRequestDispatcher("detail2.jsp"); + rds.forward(request, response); + return;//一定要有return 否则会接着 下面的语句 + } + if("condiction".equals(act)||"SelectCondiction".equals(act)||"PFSelectCondiction".equals(act)||"condiction2".equals(act)){//搜索框 或者点击 属性标签的都属于条件查询; + list = as.conditionSelectThings1(keyword); + request.setAttribute("selectThingsType", keyword);//这行代码很重要,要回显 不刷新! + if ("PFSelectCondiction".equals(act)){ + list=as.conditionSelectThings2(keyword); + request.setAttribute("Deatail2",list); + int temp = list.size(); + request.setAttribute("totalCount", temp); + +// list=as.getAdminThingsType(); +// request.setAttribute("AdminThingsType",list); + RequestDispatcher rds = null; + rds=request.getRequestDispatcher("publish_findthings.jsp"); + rds.forward(request, response); + return; + } + if ("condiction2".equals(act)) + { + list = as.conditionSelectThings2(keyword); + request.setAttribute("selectThingsType", keyword);//这行代码很重要,要回显 不刷新! + int temp = list.size(); + request.setAttribute("totalCount", temp); + +// list=as.getAdminThingsType(); +// request.setAttribute("AdminThingsType",list); + RequestDispatcher rds = null; + rds=request.getRequestDispatcher("find_who_lost.jsp"); + int totalPage = 0; + if (temp == 0) { + totalPage = 0;//总页数 + } else { + //返回大于或者等于指定表达式的最小整数 + totalPage = (int) Math.ceil((double) temp / 3); + } + String pageCur11 = request.getParameter("pageCur"); + if (pageCur11 == null) { + pageCur11 = "1"; + } + int pageCur = Integer.parseInt(pageCur11); + if ((pageCur - 1) * 3 > temp) { + pageCur = pageCur - 1; + } + //对之前的结果再进行 分页查询 + int startIndex = (pageCur - 1) * 3;//起始位置 + int perPageSize = 3;//每页3个 + + list = as.conditionSelectThingsByPage2(keyword, startIndex, perPageSize); + request.setAttribute("Deatail2",list); + request.setAttribute("totalPage", totalPage); + request.setAttribute("act", act); + + request.setAttribute("pageCur", pageCur); + rds.forward(request, response); + return; + } + if ("SelectCondiction".equals(act)) + { + + request.setAttribute("Deatail",list); + int temp = list.size(); + request.setAttribute("totalCount", temp); + +// list=as.getAdminThingsType(); +// request.setAttribute("AdminThingsType",list); + RequestDispatcher rds = null; + rds=request.getRequestDispatcher("main_Detail.jsp"); + rds.forward(request, response); + return;//一定要有return 否则会接着 下面的语句 + } + }else{ + list = as.selectLostThings(); + } + + + + RequestDispatcher rds = null; + //分页查询 + int temp = list.size(); + request.setAttribute("totalCount", temp); + int totalPage = 0; + if (temp == 0) { + totalPage = 0;//总页数 + } else { + //返回大于或者等于指定表达式的最小整数 + totalPage = (int) Math.ceil((double) temp / 3); + } + String pageCur11 = request.getParameter("pageCur"); + if (pageCur11 == null) { + pageCur11 = "1"; + } + int pageCur = Integer.parseInt(pageCur11); + if ((pageCur - 1) * 3 > temp) { + pageCur = pageCur - 1; + } + //对之前的结果再进行 分页查询 + int startIndex = (pageCur - 1) * 3;//起始位置 + int perPageSize = 3;//每页3个 + if("condiction".equals(act)) { + list = as.conditionSelectThingsByPage(keyword, startIndex, perPageSize); + }else { + list = as.selectAllThingsByPage(startIndex, perPageSize); + } + + + + + + + if("condiction".equals(act)) { + //回显查询条件 + HttpSession session = request.getSession(true); +// List> list2 = as.getHaveFoundThingsType(); +// session.setAttribute("thingsType", list2); +// +// List> list3 = as.getHaveFoundThingsType(); +// session.setAttribute("AdminThingsType", list3); + + request.setAttribute("keyword1", keyword1); + request.setAttribute("act", act); + + request.setAttribute("Deatail", list); + + request.setAttribute("totalPage", totalPage); + request.setAttribute("pageCur", pageCur); + //查询页面 + + } + + + + + if( "condiction".equals(act)){ + rds = request.getRequestDispatcher("searchThings.jsp"); + } + + + + //修改查询页面 + else if("updateSelect".equals(act)){ + rds = request.getRequestDispatcher("admin/updateSelect.jsp"); + } + + + + //删除查询页面 + else if("deleteSelect".equals(act)){ + rds = request.getRequestDispatcher("searchThings.jsp"); + } + else if("add".equals(act)) { + rds=request.getRequestDispatcher("addhouses.jsp"); + } + rds.forward(request, response); + } +}