**代码**![图片说明](https://img-ask.csdn.net/upload/202004/25/1587823571_916231.jpg)
package servelt;
import java.io.IOException;
import java.sql.Connection;
import java.util.List;
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 bean.Dorm;
import bean.PageBean;
import dao.DormDao;
import util.DbUtil;
/**
-
Servlet implementation class DormServelt
*/
@WebServlet("/dorm")
public class DormServelt extends HttpServlet {
private static final long serialVersionUID = 1L;DbUtil dbUtil = new DbUtil();
DormDao dormDao = new DormDao();/**
- @see HttpServlet#HttpServlet() */ public DormServelt() { super(); }
/**
- @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response) */ protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { doPost(request, response); }
/**
- @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response) */ protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { request.setCharacterEncoding("utf-8"); HttpSession session = request.getSession(); String s_dormText = request.getParameter("s_dormText"); String dormBuildId = request.getParameter("buildToSelect"); String searchType = request.getParameter("searchType"); String action = request.getParameter("action"); String page = request.getParameter("page"); System.out.println("action1:"+action); Dorm dorm = new Dorm(); if("preSave".equals(action)) { dormPreSave(request,response); return; }else if ("save".equals(action)) { dormSave(request,response); return; }else if ("delete".equals(action)) { dormDelete(request,response); return; }else if ("list".equals(action)) { if (s_dormText != null || !"".equals(s_dormText)) { if ("dormName".equals(searchType)) { dorm.setDormName(s_dormText); }else if ("tel".equals(action)) { dorm.setTel(s_dormText); } } if (dormBuildId != null || !"".equals(dormBuildId)) { dorm.setDormBuildId(Integer.parseInt(dormBuildId)); } session.removeAttribute("s_dormText"); session.removeAttribute("searchType"); session.removeAttribute("buildToSelect"); request.setAttribute("s_dormText", s_dormText); request.setAttribute("searchType", searchType); request.setAttribute("buildToSelect", dormBuildId); }else if ("search".equals(action)) { if (s_dormText != null || !"".equals(s_dormText)) { if ("dormName".equals(searchType)) { dorm.setDormName(s_dormText); }else if ("tel".equals(searchType)) { dorm.setTel(s_dormText); } session.setAttribute("s_dormText", s_dormText); session.setAttribute("searchType", searchType); }else { session.removeAttribute("s_dormText"); session.removeAttribute("searchType"); } if (dormBuildId != null || !"".equals(dormBuildId)) { dorm.setDormBuildId(Integer.parseInt(dormBuildId)); session.setAttribute("buildToSelect", dormBuildId); }else { session.removeAttribute("buildToSelect"); } }else { if (s_dormText != null || !"".equals(s_dormText)) { if ("dormName".equals(searchType)) { dorm.setDormName(s_dormText); }else if ("tel".equals(searchType)) { dorm.setTel(s_dormText); } session.setAttribute("s_dormText", s_dormText); session.setAttribute("searchType", searchType); } if (dormBuildId != null || !"".equals(dormBuildId)) { dorm.setDormBuildId(Integer.parseInt(dormBuildId)); session.setAttribute("buildToSelect", dormBuildId); } if ((s_dormText == null || "".equals(s_dormText)) && (dormBuildId == null || "".equals(dormBuildId))) { Object o1 = session.getAttribute("s_dormText"); Object o2 = session.getAttribute("searchType"); Object o3 = session.getAttribute("buildToSelect"); if (o1 != null) { if ("dormName".equals((String)o2)) { dorm.setDormName((String)o1); }else if ("tel".equals((String)o2)) { dorm.setTel((String)o1); } } if (o3 != null) { dorm.setDormBuildId(Integer.parseInt((String)o3)); } } } if(page == null || "".equals(page)) { page="1"; } Connection con = null; PageBean pageBean = new PageBean(Integer.parseInt(page), Integer.parseInt(DbUtil.getPageSize())); request.setAttribute("pageSize", pageBean.getPageSize()); request.setAttribute("page", pageBean.getPage()); try { con = dbUtil.getCon(); List dormList = dormDao.dormList(con,pageBean,dorm); int total = dormDao.dormCount(con,dorm); String pageCode = this.genPagation(total,Integer.parseInt(page),Integer.parseInt(DbUtil.getPageSize())); request.setAttribute("pageCode", pageCode); request.setAttribute("dormBuildList", dormDao.dormBuildList(con)); request.setAttribute("dormList", dormList); request.getRequestDispatcher("DormList.jsp").forward(request, response); } catch (Exception e) { e.printStackTrace(); }finally { try { dbUtil.closeCon(con); } catch (Exception e) { e.printStackTrace(); } } }
private void dormDelete(HttpServletRequest request, HttpServletResponse response) {
String dormId = request.getParameter("dormId");
Connection con = null;
try {
con = dbUtil.getCon();
dormDao.dormDelete(con,dormId);
request.getRequestDispatcher("dorm?action=list").forward(request, response);
} catch (Exception e) {
e.printStackTrace();
}finally {
try {
dbUtil.closeCon(con);
} catch (Exception e) {
e.printStackTrace();
}
}
}private void dormSave(HttpServletRequest request, HttpServletResponse response)throws IOException, ServletException {
String dormId = request.getParameter("dormId");
String dormBuildId = request.getParameter("dormBuildId");
String dormName = request.getParameter("dormName");
String dormType = request.getParameter("dormType");
String dormNum = request.getParameter("dormNum");
String tel = request.getParameter("tel");
Dorm dorm = new Dorm(Integer.parseInt(dormBuildId), dormName, dormType, dormNum, tel);
if (dormId != null || !"".equals(dormId)) {
dorm.setDormId(Integer.parseInt(dormId));
}
Connection con = null;
try {
con = dbUtil.getCon();
int saveNum = 0;
if (dormId != null || !"".equals(dormId)) {
saveNum = dormDao.dormUpdate(con,dorm);
}else if (dormDao.haveNameByNumber(con,dorm.getDormName())) {
request.setAttribute("dorm", dorm);
request.setAttribute("error", "该宿舍已存在");
request.getRequestDispatcher("AddOrAlterDorm.jsp").forward(request, response);
try {
dbUtil.closeCon(con);
} catch (Exception e) {
e.printStackTrace();
}
return;
}else {
saveNum = dormDao.dormAdd(con,dorm);
}
if (saveNum > 0) {
request.getRequestDispatcher("dorm?action=list").forward(request, response);
}else {
request.setAttribute("dorm", dorm);
request.setAttribute("error", "保存失败");
request.getRequestDispatcher("AddOrAlterDorm.jsp").forward(request, response);
}
} catch (Exception e) {
e.printStackTrace();
}finally {
try {
dbUtil.closeCon(con);
} catch (Exception e) {
e.printStackTrace();
}
}
}private void dormPreSave(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
String dormId = request.getParameter("dormId");
Connection con = null;
try {
con = dbUtil.getCon();
request.setAttribute("dormBuildList", dormDao.dormBuildList(con));
if (dormId != null || !"".equals(dormId)) {
Dorm dorm = dormDao.dormShow(con,dormId);
request.setAttribute("dorm", dorm);
}
} catch (Exception e) {
e.printStackTrace();
}finally {
try {
dbUtil.closeCon(con);
} catch (Exception e) {
e.printStackTrace();
}
}
request.getRequestDispatcher("AddOrAlterDorm.jsp").forward(request, response);
}private String genPagation(int totalNum, int currentPage, int pageSize) {
int totalPage = totalNum%pageSize==0?totalNum/pageSize:totalNum/pageSize+1;
StringBuffer pageCode = new StringBuffer();
pageCode.append(" - 首页 ");
- 上一页 ");
- 上一页 ");
- "+i+" ");
- "+i+" ");
- 下一页 ");
- 下一页 ");
- 尾页 ");
if(currentPage==1) {
pageCode.append("
}else {
pageCode.append("
}
for(int i=currentPage-2;i<=currentPage+2;i++) {
if(itotalPage) {
continue;
}
if(i==currentPage) {
pageCode.append("
} else {
pageCode.append("
}
}
if(currentPage==totalPage) {
pageCode.append("
} else {
pageCode.append("
}
pageCode.append("
return pageCode.toString();
}
}