<%
Connection con;
Statement stmt;
ResultSet rest;
String driverName="com.mysql.jdbc.Driver";
String userName="root";
String userPasswd="123456";
String dbName="dbmessage";
String tableName="messagetable";
try{
Class.forName("org.gjt.mm.mysql.Driver").newInstance();
con=DriverManager.getConnection("jdbc:mysql://localhost/dbmessage","root","123456");
stmt=con.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);
String name=new String(request.getParameter("name"));
String email=new String(request.getParameter("email"));
String doc=new String(request.getParameter("doc"));
String url=new String(request.getParameter("url"));
if(name.equals("") || email.equals("")|| doc.equals("")||url.equals(""))
{response.sendRedirect("mysqlinsert.jsp");}
else{
String sql="insert into messagetable (name,email,doc,url) values('"+name+"','"+email+"','"+doc+"','"+url+"')";
stmt.executeUpdate(sql);
out.print("successful");
}
stmt.close();
con.close();
}catch(java.sql.SQLException e)
{
out.println(e.toString());
}
%>
为什么总是提示HTTP Status 500 - 错误??
root cause java.lang.NullPointerException
java.lang.String.<init>(String.java:144)
org.apache.jsp.mysqlinsert_jsp._jspService(mysqlinsert_jsp.java:78)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:97)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:334)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:314)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:264)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)~~本人初学者,请求高人指点!!万分感激!
Connection con;
Statement stmt;
ResultSet rest;
String driverName="com.mysql.jdbc.Driver";
String userName="root";
String userPasswd="123456";
String dbName="dbmessage";
String tableName="messagetable";
try{
Class.forName("org.gjt.mm.mysql.Driver").newInstance();
con=DriverManager.getConnection("jdbc:mysql://localhost/dbmessage","root","123456");
stmt=con.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);
String name=new String(request.getParameter("name"));
String email=new String(request.getParameter("email"));
String doc=new String(request.getParameter("doc"));
String url=new String(request.getParameter("url"));
if(name.equals("") || email.equals("")|| doc.equals("")||url.equals(""))
{response.sendRedirect("mysqlinsert.jsp");}
else{
String sql="insert into messagetable (name,email,doc,url) values('"+name+"','"+email+"','"+doc+"','"+url+"')";
stmt.executeUpdate(sql);
out.print("successful");
}
stmt.close();
con.close();
}catch(java.sql.SQLException e)
{
out.println(e.toString());
}
%>
为什么总是提示HTTP Status 500 - 错误??
root cause java.lang.NullPointerException
java.lang.String.<init>(String.java:144)
org.apache.jsp.mysqlinsert_jsp._jspService(mysqlinsert_jsp.java:78)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:97)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:334)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:314)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:264)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)~~本人初学者,请求高人指点!!万分感激!
还有以下的判断方式有待提高,最好"".equals(name)if(name.equals("") || email.equals("")|| doc.equals("")||url.equals(""))
执行时可能出错了吧
把new String去掉,其它3个也一样。
而且request.getParameter本来返回 的就是String对象,可以不用new的。
如果不new而直接 去
if(name.equals("") || email.equals("")|| doc.equals("")||url.equals(""))
{response.sendRedirect("mysqlinsert.jsp");}
也有可能出错,因为name如果 为空的话,执行equals时也会出错 建议以后可以这样写"".equals(name),这是个好习惯
开发中推荐使用一些封装好的工具类,比如StringUtils.defaultIfEmpty(request.getParameter("name"),"defaultValue")
String email=request.getParameter("email");
String doc=request.getParameter("doc");
String url=request.getParameter("url");
String email=new String(request.getParameter("email"));
String doc=new String(request.getParameter("doc"));
String url=new String(request.getParameter("url"));和楼上的一样 看看 这里 获取的值是否正确