当前位置: 代码迷 >> Java Web开发 >> 使用struts2框架访问mysql出现HTTP Status 500有关问题
  详细解决方案

使用struts2框架访问mysql出现HTTP Status 500有关问题

热度:181   发布时间:2016-04-16 21:50:51.0
使用struts2框架访问mysql出现HTTP Status 500问题
web.xml struts.xml设置均无问题
经过测试发现问题出在test.java文件中query()函数的 st = (Statement) conn.createStatement(); 
但是单独测试test.java文件没问题出现,求解

test文件:
package operation;
import java.sql.Connection;  
import java.sql.DriverManager;  
import java.sql.ResultSet;  
import java.sql.SQLException;  
import java.sql.Statement;
public class test {
static Connection conn;  
    static Statement st;  
    public static Connection getConnection() {  
        Connection con = null;  //创建用于连接数据库的Connection对象  
        try {  
            Class.forName("com.mysql.jdbc.Driver");// 加载Mysql数据驱动  
            con = DriverManager.getConnection(  
                    "jdbc:mysql://localhost:3306/bookdb", "root", "root");// 创建数据连接  
              
        } catch (Exception e) {  
            System.out.println("数据库连接失败" + e.getMessage());  
        }  
        return con; //返回所建立的数据库连接  
    }  
public static String query(){
conn = getConnection(); //同样先要获取连接,即连接到数据库  
try {  
            String sql = "select * from author";     // 查询数据的sql语句  
            st = (Statement) conn.createStatement();    //创建用于执行静态sql语句的Statement对象,st属局部变量  
              
            ResultSet rs = st.executeQuery(sql);    //执行sql查询语句,返回查询数据的结果集  
            System.out.println("最后的查询结果为:");  
            while (rs.next()) { // 判断是否还有下一个数据  
                  
                // 根据字段名获取相应的值  
                String name = rs.getString("Name");  
                int age = rs.getInt("Age");  
                String country = rs.getString("Country"); 
                  
                //输出查到的记录的各个字段的值  
                System.out.println(name + " " + age + " " + country );  
            }  
            conn.close();   //关闭数据库连接  
              
        } catch (SQLException e) {  
            System.out.println("查询数据失败");  
        }  
return "QResult";
}
}

错误信息:
HTTP Status 500 - 

--------------------------------------------------------------------------------

type Exception report

message 

description The server encountered an internal error () that prevented it from fulfilling this request.

exception 

java.lang.NullPointerException
operation.test.query(test.java:26)
sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
java.lang.reflect.Method.invoke(Method.java:606)
com.opensymphony.xwork2.DefaultActionInvocation.invokeAction(DefaultActionInvocation.java:452)
  相关解决方案