123456147% 2021-11-29 20:19 采纳率: 64.7%
浏览 49
已结题

无论怎么做会出现这样的现象

import dao.Studentdao;

import dao.impl.Studentdaoimpl;
import entity.Student;

/**
 * Servlet implementation class updateservlet
 */
@WebServlet("/updateservlet")
public class updateservlet extends HttpServlet {
    private static final long serialVersionUID = 1L;
       
    /**
     * @see HttpServlet#HttpServlet()
     */
    public updateservlet() {
        super();
        // TODO Auto-generated constructor stub
    }

    /**
     * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
     */
    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

        PrintWriter out=response.getWriter();    
        request.setCharacterEncoding("UTF-8");
        int id=Integer.parseInt(request.getParameter("id"));
        String name=request.getParameter("name");
        String sex=request.getParameter("sex");
        String city=request.getParameter("city");
        int    Class_id=Integer.parseInt(request.getParameter("Class_id"));
        String birthday=request.getParameter("birthday");
        String regDate=request.getParameter("regDate");
        String address=request.getParameter("address");
        
        Studentdao dao=new Studentdaoimpl();
        Student stu=new Student();
        stu.setId(id);
        stu.setName(name);
        stu.setAddress(address);
        stu.setBirthday(birthday);
        stu.setSex(sex);
        stu.setCity(city);
        stu.setClass_id(Class_id);
        stu.setRegDate(regDate);
        
        int i=dao.update(stu);
    
            response.sendRedirect("list.jsp");
                    

    }

    /**
     * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
     */
    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        // TODO Auto-generated method stub
        doGet(request, response);
    }

}

Exception
java.lang.NumberFormatException: null
java.lang.Integer.parseInt(Unknown Source)
java.lang.Integer.parseInt(Unknown Source)
servlet.Toupdateservlet.doGet(Toupdateservlet.java:33)
javax.servlet.http.HttpServlet.service(HttpServlet.java:634)
javax.servlet.http.HttpServlet.service(HttpServlet.java:741)
org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)

package servlet;

import java.io.IOException;
import java.io.PrintWriter;

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 dao.Studentdao;

import dao.impl.Studentdaoimpl;
import entity.Student;

/**
 * Servlet implementation class updateservlet
 */
@WebServlet("/updateservlet")
public class updateservlet extends HttpServlet {
    private static final long serialVersionUID = 1L;
       
    /**
     * @see HttpServlet#HttpServlet()
     */
    public updateservlet() {
        super();
        // TODO Auto-generated constructor stub
    }

    /**
     * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
     */
    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

        PrintWriter out=response.getWriter();    
        request.setCharacterEncoding("UTF-8");
        int id=Integer.parseInt(request.getParameter("id"));
        String name=request.getParameter("name");
        String sex=request.getParameter("sex");
        String city=request.getParameter("city");
        int    Class_id=Integer.parseInt(request.getParameter("Class_id"));
        String birthday=request.getParameter("birthday");
        String regDate=request.getParameter("regDate");
        String address=request.getParameter("address");
        
        Studentdao dao=new Studentdaoimpl();
        Student stu=new Student();
        stu.setId(id);
        stu.setName(name);
        stu.setAddress(address);
        stu.setBirthday(birthday);
        stu.setSex(sex);
        stu.setCity(city);
        stu.setClass_id(Class_id);
        stu.setRegDate(regDate);
        
        int i=dao.update(stu);
    
            response.sendRedirect("list.jsp");
                    

    }

    /**
     * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
     */
    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        // TODO Auto-generated method stub
        doGet(request, response);
    }

}

Exception
java.lang.NumberFormatException: null
java.lang.Integer.parseInt(Unknown Source)
java.lang.Integer.parseInt(Unknown Source)
servlet.updateservlet.doGet(updateservlet.java:39)
javax.servlet.http.HttpServlet.service(HttpServlet.java:634)
javax.servlet.http.HttpServlet.service(HttpServlet.java:741)
org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)

<%@ page language="java" contentType="text/html; charset=UTF-8"  import="entity.*,java.util.*,dao.*,dao.impl.*"
    pageEncoding="UTF-8"%>
    <%@taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
<%@taglib uri="http://java.sun.com/jsp/jstl/fmt" prefix="f"%>
<!DOCTYPE >
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
</head>
<body>

<%
    Student s=(Student)session.getAttribute("stu");
%>

<h1>修改学生信息</h1>
<form action="updateservlet" method="get">

<input type="hidden" name="id" id="id" value="<%=s.getId()%>"  />
姓名:<input type="text" name="name" id="name"  value="<%=s.getName()%>"/><br>
性别:<input type="radio" name="sex" id="sex" value="<%=s.getSex()%>"/><input type="radio" name="sex" id="sex" value="<%=s.getSex()%>"/><br>
籍贯:<select name ="city" id="city" value="<%=s.getCity()%>">

<option >北京</option>
<option>天津</option>
</select><br>
班级:<select name ="Class_id" id="Class_id" value="<%=s.getClass_id()%>" >
<option >1</option>
<option>2</option>
</select><br>
出生日期: <input type="text" name="birthday" id="birthday" value="<%=s.getBirthday()%>"/><br>
入学时间:<input type="text" name="regDate" id="regDate" value="<%=s.getRegDate()%>"/><br>
家庭住址:<input type="text" name="address" id="address" value="<%=s.getAddress()%>"/><br>
<input type="submit" value="修改"/>
</form>
</body>
</html>


Exception
org.apache.jasper.JasperException: java.lang.NullPointerException
org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:598)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:514)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:386)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:330)
javax.servlet.http.HttpServlet.service(HttpServlet.java:741)
org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)

Root Cause
java.lang.NullPointerException
org.apache.jsp.update_jsp._jspService(update_jsp.java:144)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
javax.servlet.http.HttpServlet.service(HttpServlet.java:741)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:476)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:386)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:330)
javax.servlet.http.HttpServlet.service(HttpServlet.java:741)
org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)

  • 写回答

1条回答 默认 最新

  • CSDN专家-sinJack 2021-11-29 20:35
    关注

    int id=Integer.parseInt(request.getParameter("id"));
    并没有将值传到后台,获取到空字符串,导致转换异常。
    隐藏域的地方修改如下:

    <input type="hidden" name="id" id="id" value="${s.id}"  />
    
    评论 编辑记录

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 12月13日
  • 创建了问题 11月29日

悬赏问题

  • ¥15 有赏,i卡绘世画不出
  • ¥15 如何用stata画出文献中常见的安慰剂检验图
  • ¥15 c语言链表结构体数据插入
  • ¥40 使用MATLAB解答线性代数问题
  • ¥15 COCOS的问题COCOS的问题
  • ¥15 FPGA-SRIO初始化失败
  • ¥15 MapReduce实现倒排索引失败
  • ¥15 ZABBIX6.0L连接数据库报错,如何解决?(操作系统-centos)
  • ¥15 找一位技术过硬的游戏pj程序员
  • ¥15 matlab生成电测深三层曲线模型代码