<%@ page contentType="text/html; charset=gb2312" language="java" import="java.sql.*,java.io.*"%>
<%! String trans(String chi)
{
String result = null;
byte temp [];
try
{
temp=chi.getBytes("iso-8859-1");
result = new String(temp);
}
catch(UnsupportedEncodingException e)
{
System.out.println (e.toString());
}
return result;
}
%>
<html>
<head></head>
<body>
往book 表中插入数据
<form method="get" action="insertdata.jsp">
bookId:<INPUT TYPE="text" NAME="bookid"><br>
bookName:<INPUT TYPE="text" NAME="bookname"><br>
publisher:<INPUT TYPE="text" NAME="publisher"><br>
price:<INPUT TYPE="text" NAME="price">
</form><%
String id = request.getParameter("bookid");
String name = request.getParameter("bookname");
String publisher = request.getParameter("publisher");
int price = Integer.parseInt(request.getParameter("price")); try
{
//装载驱动程序
Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver").newInstance();
//创建连接
Connection con=java.sql.DriverManager.getConnection("jdbc:microsoft:sqlserver://127.0.0.1:1433;DatabaseName=jspdev","sa","sa");
Statement stmt=con.createStatement();
String inse = "insert into book values('"+id+"','"+name+"','"+publisher+"',"+price+")";
//stmt.execute("insert into book values('"+id+"','"+name+"','"+publisher+"',"+price+")");
stmt.execute(inse);
//rst.close();
stmt.close();
con.close();
}
catch(Exception e)
{
e.printStackTrace();
}
%>
</body>
</html>出错页面显示为:HTTP Status 500 - --------------------------------------------------------------------------------type Exception reportmessage description The server encountered an internal error () that prevented it from fulfilling this request.exception org.apache.jasper.JasperException: null
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:372)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:292)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:236)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
root cause java.lang.NumberFormatException: null
java.lang.Integer.parseInt(Integer.java:436)
java.lang.Integer.parseInt(Integer.java:518)
org.apache.jsp.insertdata_jsp._jspService(insertdata_jsp.java:84)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:94)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:324)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:292)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:236)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
<%! String trans(String chi)
{
String result = null;
byte temp [];
try
{
temp=chi.getBytes("iso-8859-1");
result = new String(temp);
}
catch(UnsupportedEncodingException e)
{
System.out.println (e.toString());
}
return result;
}
%>
<html>
<head></head>
<body>
往book 表中插入数据
<form method="get" action="insertdata.jsp">
bookId:<INPUT TYPE="text" NAME="bookid"><br>
bookName:<INPUT TYPE="text" NAME="bookname"><br>
publisher:<INPUT TYPE="text" NAME="publisher"><br>
price:<INPUT TYPE="text" NAME="price">
</form><%
String id = request.getParameter("bookid");
String name = request.getParameter("bookname");
String publisher = request.getParameter("publisher");
int price = Integer.parseInt(request.getParameter("price")); try
{
//装载驱动程序
Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver").newInstance();
//创建连接
Connection con=java.sql.DriverManager.getConnection("jdbc:microsoft:sqlserver://127.0.0.1:1433;DatabaseName=jspdev","sa","sa");
Statement stmt=con.createStatement();
String inse = "insert into book values('"+id+"','"+name+"','"+publisher+"',"+price+")";
//stmt.execute("insert into book values('"+id+"','"+name+"','"+publisher+"',"+price+")");
stmt.execute(inse);
//rst.close();
stmt.close();
con.close();
}
catch(Exception e)
{
e.printStackTrace();
}
%>
</body>
</html>出错页面显示为:HTTP Status 500 - --------------------------------------------------------------------------------type Exception reportmessage description The server encountered an internal error () that prevented it from fulfilling this request.exception org.apache.jasper.JasperException: null
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:372)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:292)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:236)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
root cause java.lang.NumberFormatException: null
java.lang.Integer.parseInt(Integer.java:436)
java.lang.Integer.parseInt(Integer.java:518)
org.apache.jsp.insertdata_jsp._jspService(insertdata_jsp.java:84)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:94)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:324)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:292)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:236)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
这句话有问题
应该判断request.getParameter("price")的返回是否为空
int price =Integer.parseInt(request.getParameter("price"),10);不过转换默认也是10进制
后面这个10是转换基数~!意思是将10进制quest.getParameter("price")表示为整数...