鱼C论坛

 找回密码
 立即注册
查看: 2490|回复: 0

dis.forward(request,response)报空指针问题

[复制链接]
发表于 2019-5-3 22:28:03 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
在写图书管理系统的时候,登录、借书和还书都报了同样的错误,错误和目录结构如图
这里我列出我觉得和借书有关的代码:
  1. <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
  2. <html>
  3.         <head>
  4.                 <title>一般用户页面</title>       
  5.         </head>
  6.         <body>
  7.                 <label><a href="chabook.jsp" style="text-decoration: none;">查询所有图书信息</a></label><br><br>
  8.                 <label><a href="jiebook.jsp" style="text-decoration: none">借阅图书</a></label><br><br>
  9.                 <label><a href="huanbook.jsp" style="text-decoration: none">归还图书</a></label>
  10.         </body>
  11. </html>

  12. <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
  13. <html>
  14.         <head><title></title></head>
  15.         <!-- 根据图书编号和图书名字借阅图书 -->
  16.         <body>
  17.                  <form action="borrow" method="post">
  18.                          请输入所借阅书籍的编号<input type="text" name="bid"><br><br>
  19.                          请输入所借阅书籍的书名<input type="text" name="bname"><br><br>
  20.                          请输入借阅本数(注意,你总共只能借阅8本)<input type="text" name="bbeizhu"><br><br>
  21.                          <input type="submit" value="确定">
  22.                          <input type="reset" value="重填">
  23.                  </form>
  24.         </body>
  25. </html>

  26. 这里是web.xml的部分配置
  27. <servlet>
  28.           <servlet-name>Borrow</servlet-name>
  29.           <servlet-class>servlets.Borrow</servlet-class>
  30.   </servlet>
  31.   <servlet-mapping>
  32.     <servlet-name>Borrow</servlet-name>
  33.     <url-pattern>/borrow</url-pattern>
  34.   </servlet-mapping>
  35. servlets包下的Borrow.java类
  36. /**
  37. *
  38. */
  39. package servlets;

  40. import java.io.IOException;
  41. import java.sql.SQLException;

  42. import javax.servlet.RequestDispatcher;
  43. import javax.servlet.ServletException;
  44. import javax.servlet.http.HttpServlet;
  45. import javax.servlet.http.HttpServletRequest;
  46. import javax.servlet.http.HttpServletResponse;

  47. import beans.JdbcUtil;



  48. /**
  49. * @author SwordJM
  50. * @date:2019-5-3
  51. * @ClassName
  52. * @Description 借书,相应书籍本数减
  53. */
  54. public class Borrow extends HttpServlet{
  55.         public void doPost(HttpServletRequest request,HttpServletResponse response)
  56.                         throws ServletException, IOException{
  57.                         request.setCharacterEncoding("UTF-8");
  58.                         int bid = 0;
  59.                         int bbeizhu = 0;
  60.                         try {
  61.                                 bid = Integer.parseInt(request.getParameter("bid"));
  62.                                 bbeizhu = Integer.parseInt(request.getParameter("bbeizhu"));//书籍本数
  63.                         } catch (NumberFormatException e) {
  64.                                 // TODO: handle exception
  65.                                 e.printStackTrace();
  66.                         }
  67.                        
  68.                         String bname = request.getParameter("bname");
  69.                        
  70.                         String sql = "update book set bbeizhu = bbeizhu - ? where bid = ? and bname = ?";
  71.                         int i = 0;
  72.                         try {
  73.                                 i = JdbcUtil.executeDML(sql,bbeizhu,bid,bname);
  74.                         } catch (SQLException e) {
  75.                                 // TODO Auto-generated catch block
  76.                                 e.printStackTrace();
  77.                         } catch (ClassNotFoundException e) {
  78.                                 // TODO Auto-generated catch block
  79.                                 e.printStackTrace();
  80.                         }
  81.                         RequestDispatcher dis = null;
  82.                         if(i > 0){
  83.                                 dis = request.getRequestDispatcher("../../WebRoot/success.jsp");//提示操作成功
  84.                         }
  85.                         else {
  86.                                 dis = request.getRequestDispatcher("../../WebRoot/fail.jsp");//提示操作失败
  87.                         }
  88.                         dis.forward(request, response);
  89.                        
  90.                        
  91.                 }
  92.                 public void doGet(HttpServletRequest request,HttpServletResponse response)
  93.                         throws ServletException,IOException{
  94.                         doPost(request, response);
  95.                 }
  96. }
  97. 这里是Borrow.java中用到的beans报下的JdbcUtil.java类的部分函数
  98. //封装DML(针对增删改)
  99.         public static int executeDML(String sql,Object...objs) throws SQLException, ClassNotFoundException{
  100.                 Connection conn = Connect.getConnection();       
  101.                
  102.                 PreparedStatement ps = getPreparedStatement(conn, sql);
  103.                 //给占位符赋值
  104.                 try {
  105.                         conn.setAutoCommit(false);
  106.                         for(int i = 0;i < objs.length;i++){
  107.                                 ps.setObject(i+1, objs[i]);
  108.                         }
  109.                         int i = ps.executeUpdate();
  110.                         conn.commit();
  111.                         return i;
  112.                         } catch (SQLException e) {
  113.                                 try {
  114.                                         conn.rollback();
  115.                                 } catch (SQLException e1) {
  116.                                         // TODO Auto-generated catch block
  117.                                         e1.printStackTrace();
  118.                                 }
  119.                         }finally{
  120.                                 //关闭资源
  121.                                 Connect.closeAll(null, ps, conn);
  122.                         }       
  123.                 return -1;
  124.         }
复制代码

目录结构

目录结构

报错

报错
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-5-22 03:34

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表