再见!!! 2020-04-25 22:07 采纳率: 0%
浏览 163

java获取不到action,页面无法跳转,出现500错误

图片说明

**代码**![图片说明](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("

  • 首页
  • ");
    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("
  • "+i+"
  • ");
    } else {
    pageCode.append("
  • "+i+"
  • ");
    }
    }
    if(currentPage==totalPage) {
    pageCode.append("
  • 下一页
  • ");
    } else {
    pageCode.append("
  • 下一页
  • ");
    }
    pageCode.append("
  • 尾页
  • ");
    return pageCode.toString();
    }

}

  • 写回答

1条回答 默认 最新

  • qq_35759953 2023-05-31 17:33
    关注

    74 54行空指针了 你看看哪个对象是不是可能为空

    评论

报告相同问题?

悬赏问题

  • ¥15 Vue3 大型图片数据拖动排序
  • ¥15 划分vlan后不通了
  • ¥15 GDI处理通道视频时总是带有白色锯齿
  • ¥20 用雷电模拟器安装百达屋apk一直闪退
  • ¥15 算能科技20240506咨询(拒绝大模型回答)
  • ¥15 自适应 AR 模型 参数估计Matlab程序
  • ¥100 角动量包络面如何用MATLAB绘制
  • ¥15 merge函数占用内存过大
  • ¥15 使用EMD去噪处理RML2016数据集时候的原理
  • ¥15 神经网络预测均方误差很小 但是图像上看着差别太大