login.java/////////
public class Login extends ActionSupport {
@Override
public String execute() throws Exception {
// TODO Auto-generated method stub
if (isInvalid(username) || isInvalid(password)) {
msg = "用户名或者密码不能为空";
return INPUT;
}
if (null == new UserDAO().checkAccount(username, password)) {
msg = "用户名或者密码错误";
return INPUT;
}
String userid = new UserDAO().checkAccount(username, password);
HttpSession session = ServletActionContext.getRequest().getSession();
session.setAttribute("userid", userid);
list = new LendDAO().matureBook(Integer.parseInt(userid));
return SUCCESS;
}
............................................................................................
UserDAO.java
public String checkAccount(String account, String password) {
String sql = "SELECT ConNumber FROM Consumer WHERE ConNumber=? AND ConPass=?";
PreparedStatement pstat = null;
ResultSet rs = null;
Connection conn = new DBHelper().getConn();
String userid = null;
try {
pstat = conn.prepareStatement(sql);
pstat.setString(1, account);
pstat.setString(2, password);
rs = pstat.executeQuery();
while (rs.next()) {
userid = rs.getString(1);
}
.............................................................................................
public class DBHelper {
private String driver ="com.microsoft.jdbc.sqlserver.SQLServerDriver";
private String url = "jdbc:microsoft:sqlserver://localhost:1433;databaseName=dbps";
private String user = "sa";
private String pwd = "";

public Connection getConn(){
Connection conn = null;
try {
Class.forName(driver);
conn = DriverManager.getConnection(url, user, pwd);

} catch (ClassNotFoundException e) { e.printStackTrace();

} catch (SQLException e) { e.printStackTrace();
}
return conn;
}
public static void main(String[] args) {
System.out.println("DBHelper.main()" + new DBHelper().getConn());
}
}
.........................................................................................................
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
com.dao.UserDAO.checkAccount(UserDAO.java:104)
action.Login.execute(Login.java:23)
sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
java.lang.reflect.Method.invoke(Unknown Source)
com.opensymphony.xwork2.DefaultActionInvocation.invokeAction(DefaultActionInvocation.java:440)
com.opensymphony.xwork2.DefaultActionInvocation.invokeActionOnly(DefaultActionInvocation.java:279)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:242)
com.opensymphony.xwork2.interceptor.DefaultWorkflowInterceptor.doIntercept(DefaultWorkflowInterceptor.java:163)
com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:87)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:236)
com.opensymphony.xwork2.validator.ValidationInterceptor.doIntercept(ValidationInterceptor.java:249)
org.apache.struts2.interceptor.validation.AnnotationValidationInterceptor.doIntercept(AnnotationValidationInterceptor.java:68)eclipse 里面错误是:
ava.sql.SQLException: [Microsoft][SQLServer 2000 Driver for JDBC]Error establishing socket.
at com.microsoft.jdbc.base.BaseExceptions.createException(Unknown Source)
at com.microsoft.jdbc.base.BaseExceptions.getException(Unknown Source)
at com.microsoft.jdbc.base.BaseExceptions.getException(Unknown Source)
at com.microsoft.jdbc.sqlserver.tds.TDSConnection.<init>(Unknown Source)
at com.microsoft.jdbc.sqlserver.SQLServerImplConnection.open(Unknown Source)
at com.microsoft.jdbc.base.BaseConnection.getNewImplConnection(Unknown Source)
at com.microsoft.jdbc.base.BaseConnection.open(Unknown Source)
at com.microsoft.jdbc.base.BaseDriver.connect(Unknown Source)
at java.sql.DriverManager.getConnection(Unknown Source)
at java.sql.DriverManager.getConnection(Unknown Source)
at com.db.DBHelper.getConn(DBHelper.java:14)
at com.dao.UserDAO.checkAccount(UserDAO.java:101)
at action.Login.execute(Login.java:23)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
...........................................................................................................
pstat = conn.prepareStatement(sql); 就是104行这里出现了错误。。我输入了用户名和密码 就出现错误了。。是怎么回事呢。。请指教 
请指教我SQLServer 2000 Driver for JDBC sp3 是装好的 了请问和 sql2000 采用的混合验证 有关系么

解决方案 »

  1.   

    空指针错误,你去检查一下UserDao的类,是否有值?
      

  2.   

    UserDao 就在上面  但没有发现问题呢。奇怪
      

  3.   

    页面的参数没有传进来。检查一下UserDao文件。。嘿嘿
      

  4.   

    谁知道这是哪的错误?错误如下所示:严重: Exception starting filter struts2
    java.lang.NullPointerException
    at com.opensymphony.xwork2.spring.SpringObjectFactory.getClassInstance(SpringObjectFactory.java:189)
    at com.opensymphony.xwork2.config.providers.XmlConfigurationProvider.verifyResultType(XmlConfigurationProvider.java:479)
    at com.opensymphony.xwork2.config.providers.XmlConfigurationProvider.addResultTypes(XmlConfigurationProvider.java:450)
    at com.opensymphony.xwork2.config.providers.XmlConfigurationProvider.addPackage(XmlConfigurationProvider.java:407)
    at com.opensymphony.xwork2.config.providers.XmlConfigurationProvider.loadPackages(XmlConfigurationProvider.java:239)
    at org.apache.struts2.config.StrutsXmlConfigurationProvider.loadPackages(StrutsXmlConfigurationProvider.java:111)
    at com.opensymphony.xwork2.config.impl.DefaultConfiguration.reload(DefaultConfiguration.java:152)
    at com.opensymphony.xwork2.config.ConfigurationManager.getConfiguration(ConfigurationManager.java:52)
    at org.apache.struts2.dispatcher.Dispatcher.init_PreloadConfiguration(Dispatcher.java:395)
    at org.apache.struts2.dispatcher.Dispatcher.init(Dispatcher.java:452)
    at org.apache.struts2.dispatcher.FilterDispatcher.init(FilterDispatcher.java:203)
    at org.apache.catalina.core.ApplicationFilterConfig.getFilter(ApplicationFilterConfig.java:275)
    at org.apache.catalina.core.ApplicationFilterConfig.setFilterDef(ApplicationFilterConfig.java:397)
    at org.apache.catalina.core.ApplicationFilterConfig.<init>(ApplicationFilterConfig.java:108)
    at org.apache.catalina.core.StandardContext.filterStart(StandardContext.java:3709)
    at org.apache.catalina.core.StandardContext.start(StandardContext.java:4356)
    at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:791)
    at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:771)
    at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:525)
    at org.apache.catalina.startup.HostConfig.deployDirectory(HostConfig.java:924)
    at org.apache.catalina.startup.HostConfig.deployDirectories(HostConfig.java:887)
    at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:492)
    at org.apache.catalina.startup.HostConfig.start(HostConfig.java:1147)
    at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:311)
    at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:117)
    at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1053)
    at org.apache.catalina.core.StandardHost.start(StandardHost.java:719)
    at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1045)
    at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:443)
    at org.apache.catalina.core.StandardService.start(StandardService.java:516)
    at org.apache.catalina.core.StandardServer.start(StandardServer.java:710)
    at org.apache.catalina.startup.Catalina.start(Catalina.java:578)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:597)
    at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:288)
    at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:413)