JSP代码问题出错
我的代码是这样的:
<%
int id=0;
String sql="select username from yhxx.liuyan where id=?";
id=Integer.parseInt(request.getParameter("id"));
Class.forName("org.gjt.mm.mysql.Driver");
Connection con=DriverManager.getConnection("jdbc:mysql://localhost:8080/yhxx","root","");
PreparedStatement st=con.prepareStatement(sql);
String sql1="delete from yhxx.liuyan where id=?";
st.setInt(1,id);
st.executeUpdate(sql1);
response.sendRedirect("liuxian.jsp");
%>
然后Tomcat出错是这样的:
org.apache.jasper.JasperException: An exception occurred processing JSP page /delete.jsp at line 11
8: <%
9: int id=0;
10: String sql="select id from yhxx.liuyan where id=?";
11: id=Integer.parseInt(request.getParameter("id"));
12: Class.forName("org.gjt.mm.mysql.Driver");
13: Connection con=DriverManager.getConnection("jdbc:mysql://localhost:8080/yhxx","root","");
14: PreparedStatement st=con.prepareStatement(sql);
Stacktrace:
org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:551)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:455)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:391)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:334)
javax.servlet.http.HttpServlet.service(HttpServlet.java:722)
root cause
java.lang.NumberFormatException: null
java.lang.Integer.parseInt(Unknown Source)
java.lang.Integer.parseInt(Unknown Source)
org.apache.jsp.delete_jsp._jspService(delete_jsp.java:65)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
javax.servlet.http.HttpServlet.service(HttpServlet.java:722)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:417)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:391)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:334)
javax.servlet.http.HttpServlet.service(HttpServlet.java:722)
怎么解决这个问题啊?
追问:能不能说下怎么解决啊,空又是什么意思?不太明白
首先你通过request.getParameter("id");
来获取request中的id属性的数据
返回的应该是一个字符串
然后你通过Integer.parseInt方法把字符串转型为integer类型
但是一旦给这个方法传入的参数不可转换或者是null的时候就会报错
你的错误信息显示你传入的参数为null
也就是说你通过request.getParameter("id");并没有获取到期望获得的id值
得到的就会是null对象
Integer.parseInt(null)就会报出你这个错误
所以你要做的就是解决获取不到id值的问题
是否将id属性放置到request对象中 或者名字是否写错等等。。。
仔细检查一下吧
答案:request.getParameter("id");
应该是null
检查一下为何没能获取到id的值吧
其他:异常都不用捕获 或 抛出的么???
ex.printStackTrace();
exception.printStackTrace();
将异常进行捕获,在加上printStackTrace();试试看.... sql 语句就不对 如果是查询的怎么也得是 select * from * 的..连from都没有怎么查 sql = "select sysdate() sysdate ;";
改为:
sql = "select sysdate from dual"; try{
}catch{
} 有null值啊,是不是查询没数据? 有Null值
delete_jsp.java:65
上一个:JSP代码中html:button 这段代码什么意思
下一个:我在做Jsp用代码连接Access2003,在验证用户名是提示我The method parameter(String) is undefined