这是我从mysql数据库中删除数据的代码,我收到了这个错误。
<%@page import='java.sql.*'%>
<% Class.forName("com.mysql.jdbc.Driver"); %>
<%@page contentType="text/html" pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>JSP Page</title>
</head>
<body>
<h1>Hello World!</h1>
<%!
public class student{
String URL="jdbc:mysql://localhost:3306/project";
String USERNAME="root";
String PASSWORD="xxxx";
Connection con=null;
PreparedStatement select,deleteA=null;
ResultSet resultSet=null;
public student(){
try{
con=DriverManager.getConnection(URL,USERNAME,PASSWORD);
select=con.prepareStatement("select id,first_name,last_name from student");
deleteA=con.prepareStatement("delete from student where id = ? ");
}
catch(SQLException e)
{
e.printStackTrace();
}
}
public ResultSet getstudent(){
try{
resultSet=select.executeQuery();
}catch(SQLException e)
{
e.printStackTrace();
}
return resultSet;
}
public int deleteA(Integer id)
{
int result=0;
try{
deleteA.setInt(1, id);
result=deleteA.executeUpdate();
}
catch(SQLException e)
{
e.printStackTrace();
}
return result;
}
}
%>
<%
int result=0;
student std=new student();
ResultSet stds=std.getstudent();
Integer sid=new Integer(0);
if(request.getParameter("submit")!=null){
sid=Integer.parseInt(request.getParameter("std"));
result=std.deleteA(sid);
}
%>
<form name="myform" action="delete.jsp" method="POST">
<table border="0">
<tbody>
<tr>
<td>name:</td>
<td><select name="student">
<% while(stds.next()){%>
<option value="<%= stds.getInt("id")%>"> <%= stds.getString("first_name")%> <%= stds.getString("last_name")%></option>
<% } %>
</select></td>
</tr>
</tbody>
</table>
<input type="submit" value="submit" name="submit" />
</form>
</body>
</html>
在我选择名称后尝试提交..这给了我这个错误
HTTP状态500 - 内部服务器错误
输入例外报告
messageInternal Server Error
description服务器遇到阻止它的内部错误 完成此请求。
例外
org.apache.jasper.JasperException:java.lang.NumberFormatException: null根本原因
java.lang.NumberFormatException:null note完整的堆栈跟踪 GlassFish中提供了异常及其根本原因 服务器开源版4.1日志。
答案 0 :(得分:0)
您正在将std
参数解析为整数,但可能是null。您应该在使用它之前检查此参数是否为null,而不仅仅是submit
参数。