The server encountered an internal error () that prevented it from fulfilling this request.
exception javax.servlet.ServletException: java.lang.NullPointerException
org.apache.struts.action.RequestProcessor.processException(RequestProcessor.java:535)
org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:433)
org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:236)
org.apache.struts.action.ActionServlet.process(ActionServlet.java:1196)
org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:414)
javax.servlet.http.HttpServlet.service(HttpServlet.java:617)
javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
root cause java.lang.NullPointerException
com.yxq.action.BbsAction.openShow(BbsAction.java:117)
sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
java.lang.reflect.Method.invoke(Method.java:597)
org.apache.struts.actions.DispatchAction.dispatchMethod(DispatchAction.java:270)
org.apache.struts.actions.DispatchAction.execute(DispatchAction.java:187)
org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:431)
org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:236)
org.apache.struts.action.ActionServlet.process(ActionServlet.java:1196)
org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:414)
javax.servlet.http.HttpServlet.service(HttpServlet.java:617)
javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
note The full stack trace of the root cause is available in the Apache Tomcat/6.0.18 logs.另外就是,我的项目是写了个BBS,可是怎么搞不都能往数据库里面插入数据,包括注册啊,修改用户信息,修改帖子等操作,都会出错^^^^
我的数据库操作如下:
package com.yxq.dao;import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;public class DB {
private String className;
private String url;
private String username;
private String password;
private Connection conn = null;
    private PreparedStatement pstm;

public DB(){
className="com.mysql.jdbc.Driver";
//url=""jdbc:mysql://localhost:3306/db_luntan","root","root"";
//username="sa";//"jdbc:mysql://localhost:3306/bbs", "root" , "root"
//password="";
try{
Class.forName(className);
}catch(ClassNotFoundException e){
System.out.println("加载数据库驱动程序失败!");
e.printStackTrace();
}
}
public Connection getCon(){
try {
conn =DriverManager.getConnection("jdbc:mysql://localhost:3306/db_luntan","root","root");
} catch (SQLException e) {
System.out.println("获取数据库连接失败!");
e.printStackTrace();
}
/*if (conn == null) {
      System.err.println(
          "警告: DbConnectionManager.getConnection() 获得数据库链接失败.\r\n\r\n链接类型:" +
          className + "\r\n链接位置:" + url);
    }*/
    return conn;

}


public void doPstm(String sql,Object[] params){
if(sql!=null&&!sql.equals("")){
System.out.println(sql);
getCon();

/*下行为添加*/
if(conn!=null){ try {
pstm=conn.prepareStatement(sql,ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_READ_ONLY);
if(params==null){
params=new Object[0];
}
for(int i=0;i<params.length;i++){
pstm.setObject(i+1,params[i]);
}
pstm.execute();
} catch (SQLException e) {
System.out.println("调用DB类中doPstm方法时出错!");
e.printStackTrace();
}
/*下行为添加*/
  }
}
}

public ResultSet getRs(){
try {
return pstm.getResultSet();
} catch (SQLException e) {
System.out.println("DB类中的getRs()方法出错!");
e.printStackTrace();
return null;
}
}

public int getUpdate(){
try {
return pstm.getUpdateCount();
} catch (SQLException e) {
e.printStackTrace();
return -1;
}
}

public void closed(){
try{
if(pstm!=null)
pstm.close();
}catch(Exception e){
System.out.println("关闭pstm对象失败!");
}
try{
if(conn!=null)
conn.close();
}catch(Exception e){
System.out.println("关闭conn对象失败!");
}
}
}
每次运行只要是向数据库写数据就会输出:
调用DB类中doPstm方法时出错!
在线等啊,谢谢了^^