HTTP Status 500 - --------------------------------------------------------------------------------type Exception reportmessage description The server encountered an internal error () that prevented it from fulfilling this request.exception javax.servlet.ServletException
org.apache.struts.action.RequestProcessor.processException(RequestProcessor.java:523)
org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:421)
org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:224)
org.apache.struts.action.ActionServlet.process(ActionServlet.java:1194)
org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:432)
javax.servlet.http.HttpServlet.service(HttpServlet.java:709)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
root cause java.lang.NullPointerException
com.yourcompany.struts.action.RegisterAction.execute(RegisterAction.java:89)
org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:419)
org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:224)
org.apache.struts.action.ActionServlet.process(ActionServlet.java:1194)
org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:432)
javax.servlet.http.HttpServlet.service(HttpServlet.java:709)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
note The full stack trace of the root cause is available in the Apache Tomcat/5.5.9 logs.
--------------------------------------------------------------------------------Apache Tomcat/5.5.9
-------------------------------------
/*这个是相关代码
*
*/
package com.DataStore;
import java.sql.*;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
public class DataStore {
private static DataStore db=null;
private static Connection conn=null;
private Statement stmt=null;
private boolean hadErrors=false;
private String className="org.gjt.mm.mysql.Driver";
private String url="jdbc:mysql://localhost:3306;DataBaseName=blogdb";
private String user="root";
private String password="123";
private DataStore() throws Exception{
if (conn==null){
Class.forName(className).newInstance();
    conn=DriverManager.getConnection(url,user,password);
    stmt=conn.createStatement();
}
}
public void beginTransaction() throws SQLException{
conn.setAutoCommit(false);
}
public void commitTransaction() throws SQLException{
if(!hadErrors){
conn.commit();
}
else{
conn.rollback();
hadErrors=false;
}
hadErrors=false;
conn.setAutoCommit(true);
}
public void ErrorOccur(){
hadErrors=true;
}
public static DataStore getInstance(){
if (db==null){
try{
db=new DataStore();
}catch(Exception e){
conn=null;
Log log=LogFactory.getLog("mylog");
log.error("数据库连接出错-DataStore.java");
return null;
}
}
return db;
}
synchronized public void excute(String sql) throws SQLException{
if (stmt !=null)
stmt.executeUpdate(sql);
else{
Log log = LogFactory.getLog("mylog");
}
}
synchronized public ResultSet read(String sql)throws SQLException{
if(stmt!=null){
ResultSet rs=null;
rs=stmt.executeQuery(sql);
return rs;
}else{
return null;
}
}
synchronized public void stop(){
try{
if (conn!=null){
conn.close();
stmt.close();
}
}catch(Exception e){
Log log=LogFactory.getLog("mylog");
log.error("数据库关闭出错-DataStore.java");
}finally{
conn=null;
}
}
}
//另一个代码
/*
 * Generated by MyEclipse Struts
 * Template path: templates/java/JavaClass.vtl
 */
package com.yourcompany.struts.action;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.struts.action.Action;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;
import com.yourcompany.struts.form.RegisterForm;
import com.DataStore.DataStore;
import java.sql.*;
import java.io.*;
public class RegisterAction extends Action {
public ActionForward execute(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response) throws Exception {
    RegisterForm registerForm = (RegisterForm) form;// TODO Auto-generated method stub
    String userName=null;
String password=null;
String psw=null;
String age=null;
String sex=null;
String carrer=null;
String email=null;
String hobby=null;
userName=registerForm.getUserName();
        if (userName==null){
         return (mapping.findForward("noregister"));
        }
        else{
         userName=new String(userName.getBytes("ISO-8859-1"),"GB2312");
        }
        if (userName.equals("")){
         return (mapping.findForward("noregister"));
        }
        password=registerForm.getPassword();
        psw=registerForm.getPsw();
        if (password==null||password.equals("")||!password.equals(psw)||password.length()<6){
         return (mapping.findForward("noregister"));
        }else{
         password=new String(password.getBytes("ISO-8859-1"),"GB2312");
         psw=new String(psw.getBytes("ISO-8859-1"),"GB2312");
        }
        age=registerForm.getAge();
        if (age==null){
         age="*";
        }
        if (age.equals("")){
         age="无资料";
        }
        sex=registerForm.getSex();
        if (sex==null){
         sex="";
        }
        sex=new String(sex.getBytes("ISO-8859-1"),"GB2312");
        if (sex.equals("")){
         sex="*";
        }
        carrer=registerForm.getCarrer();
        if (carrer==null){
            carrer="无资料";
        }else{
        carrer=new String(carrer.getBytes("ISO-8859-1"),"GB2312");
        }
        if (carrer.equals("")){
         carrer="*";
        }
        email=registerForm.getEmail();
        if (email==null){
         email="";
        }
        email=new String(email.getBytes("ISO-8859-1"),"GB2312");
        if (email.equals("")){
         email="无资料";
        }
        hobby=registerForm.getHobby();
        if (hobby==null){
         hobby="";
        }
       hobby=new String(hobby.getBytes("ISO-8859-1"),"GB2312");
       if (hobby.equals("")){
        hobby="无资料";
       }
       DataStore ds=DataStore.getInstance();
       String sql_1="select*from client where userName='"+userName+"'";
       ResultSet rs=null;
       rs=ds.read(sql_1);
       if (rs!=null&&rs.next()){
        return (mapping.findForward("noregister"));
       }
       String sql_2="insert client values('"+userName+"','"+password+"','"+age+"','"+sex+"','"+carrer+"','"+email+"','"+hobby+"')";
       String sql_3="insert clienFileSpace values('"+userName+"','10240','0','0')";
       ds.beginTransaction();
       try{
        ds.excute(sql_2);
        ds.excute(sql_3);
       }catch(Exception e){
        ds.commitTransaction();
        return (mapping.findForward("noregister"));
       }
       String dir=null;
       File f=null;
       try{
        dir=servlet.getServletContext().getRealPath("/file/"+userName);
        f=new File(dir);
        if (!f.isDirectory()){
        f.mkdir();
        }
       }catch(Exception e){
        ds.commitTransaction();
        return (mapping.findForward("noregister"));
       }
       ds.commitTransaction();
       return (mapping.findForward("succeed"));
}
}