HTTP Status 500 - --------------------------------------------------------------------------------type Exception reportmessage description The server encountered an internal error () that prevented it from fulfilling this request.exception java.lang.NullPointerException
Regist.doPost(Regist.java:26)
javax.servlet.http.HttpServlet.service(HttpServlet.java:710)
javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
note The full stack trace of the root cause is available in the Apache Tomcat/6.0.13 logs.
--------------------------------------------------------------------------------Apache Tomcat/6.0.13
Regist.doPost(Regist.java:26)
javax.servlet.http.HttpServlet.service(HttpServlet.java:710)
javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
note The full stack trace of the root cause is available in the Apache Tomcat/6.0.13 logs.
--------------------------------------------------------------------------------Apache Tomcat/6.0.13
import java.io.IOException;
import java.io.PrintWriter;import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;public class Regist extends HttpServlet {
private static final long serialVersionUID = 1L;
protected void doPost(HttpServletRequest req, HttpServletResponse resp)
throws ServletException, IOException {
ConnSql ConMySql = null;
req.setCharacterEncoding("utf-8");
resp.setContentType("text/html;charset=utf-8");
PrintWriter out = resp.getWriter(); String username = req.getParameter("userName");
String password = req.getParameter("passWord");
String gentle = req.getParameter("gentle");
String email = req.getParameter("email"); ConMySql.Update("insert into users values(null,'" + username + "','"
+ password + "','" + gentle + "','" + email + "');");
out.println("<html><head><title>注册成功</title><body>");
out.println("<table><tr><td colspan='2'>恭喜注册成功!您的注册信息是:</td></tr>");
out.println("<tr><td>用户名:</td><td>" + username + "</td></tr>");
out.println("<tr><td>密码:</td><td>" + password + "</td></tr>");
out.println("<tr><td>性别:</td><td>" + gentle + "</td></tr>");
out.println("<tr><td>email:</td><td>" + email + "</td></tr>");
}
}这是那个页面调用的Servlet代码,然后下面还有那个类的代码:
import java.io.IOException;
import java.io.PrintWriter;
import java.sql.*;import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;public class ConnSql extends HttpServlet { private static final long serialVersionUID = 1L;
public String DataBase = "jdbc:mysql://localhost/ijseblog?user=root&password=clslist";
ConnSql()
{
}
public void Connection() {
try {
Class.forName("com.mysql.jdbc.Driver");
} catch (ClassNotFoundException e) {
e.printStackTrace();
}
} public ResultSet Execute(String sql) {
ResultSet rs = null;
Connection conn = null;
Statement stm = null;
Connection();
try {
conn = DriverManager.getConnection(DataBase);
stm = conn.createStatement();
rs = stm.executeQuery(sql);
} catch (SQLException e) {
System.out.println("SQLException:" + e.getMessage());
System.out.println("SQLState:" + e.getSQLState());
System.out.println("VendorError:" + e.getErrorCode());
}
return rs;
} public int Update(String sql) {
int rt = 0;
Connection conn = null;
Statement stm = null;
Connection();
try {
conn = DriverManager.getConnection(DataBase);
stm = conn.createStatement();
rt = stm.executeUpdate(sql);
} catch (SQLException e) {
System.out.println("SQLException:" + e.getMessage());
System.out.println("SQLState:" + e.getSQLState());
System.out.println("VendorError:" + e.getErrorCode());
}
return rt;
} public static void main(String args) {
System.out.println("ok!");
} protected void doPost(HttpServletRequest req, HttpServletResponse resp)
throws ServletException, IOException {
doGet(req, resp);
} protected void doGet(HttpServletRequest req, HttpServletResponse resp)
throws ServletException, IOException { req.setCharacterEncoding("utf-8");
resp.setContentType("text/html;charset=utf-8");
String username = req.getParameter("UserName"); PrintWriter out = resp.getWriter(); Connection();
ResultSet rs = Execute("Select * from users where dbusername='"
+ username + "'");
try {
while (rs.next()) {
out.println("<html><head><title>查询结果</title></head><body>"
+ rs.getString("dbusername") + "的密码是:"
+ rs.getString("dbpassword") + "</body></html>");
}
} catch (SQLException e) {
System.out.println("SQLException:" + e.getMessage());
System.out.println("SQLState:" + e.getSQLState());
System.out.println("VendorError:" + e.getErrorCode());
}
}}
ConnSql ConMySql = null;之后就没有实例化,而你紧接着就是用了
ConMySql.Update("insert into users values(null,'" + username + "','"
+ password + "','" + gentle + "','" + email + "');");所以null错
这是MyEclipse提示的,我也不太清楚.那这问题要怎么解决? 我怎么实例化呢?对不起我是初学者,请讲得稍微详细点儿..谢谢啦.
把它换成:ConnSql ConMySql = new ConnSql();这样就好使了!!谢谢各位了!!马上结贴!!