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"));
}
}
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"));
}
}
解决方案 »
- 如何方便的把一个SVN上的文件迁移到另一个SVN服务器上
- 简单的jQuery页面显示
- 关于Servlet中sendRedirect的奇怪问题
- 怎么实现数据库连接?
- 如何控制同时操作数据库的数量
- Spring怎么控制二重提交??
- 网页上某一项产品的图片是直接存在数据库里面么?
- 在java bean中我的jdk提示:javax.servlet.http包找不到是什么原因?请问高手如何操作?
- 求助!我想把一个JavaWeb+MySQL项目改成JavaWeb+SqlServer时里面的分页语句错误了,不知道错在哪
- 地址栏输入action或jsp的问题
- 今我感叹的JB2007,可惜了……
- 救命啊,实在找不出来错误在哪儿
在这里设断点,看看是什么值
在这里设断点,看看是什么值
----------------------------------------------------------
我是初学者,怎么设断点?
你用的应该是Eclipse 在行前点鼠标就可以设置断点,然后点上面那个debug或者F5调试窗口调试