刚学习struts2,想做一个连接数据库的用户登录验证,就是输入账号,然后通过该账号去数据库查找密码;如果查找的密码跟输入的密码一样则登陆成功,否则不成功;
action:package com.test.login;
import java.sql.*;import com.opensymphony.xwork2.ActionSupport;public class Login extends ActionSupport 
{
private  String  username;
private  String  password;
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
String a="sadad";
 System.out.print(a);
}
public String  DB()
{
    Connection con = null;
   Statement sql=null;
   ResultSet rs=null;
   try{ 
    Class.forName( "sun.jdbc.odbc.JdbcOdbcDriver");
        con=DriverManager.getConnection("jdbc:odbc:sum","","");
       }catch(Exception e){System.out.println("数据库连接错误!"); 
try{      
     String sqle="select pass from student where studentid='"+username+"'";
         rs=con.createStatement().executeQuery(sqle);
         rs.next();
         String a=rs.getString("pass");
        
         if(rs.next())
         {
         if(a==password) 
          {
          return this.SUCCESS;
          }
          else
          {
          this.addFieldError("password", "password input worng");
          return this.INPUT;
          }
         }
         else
         {
          this.addFieldError("username", "username input worng");
          return this.INPUT;
         }        
}catch(Exception e1){System.out.println(e1.toString()); 
}
}
return null;
}
@Override
public String execute() throws Exception {

return "sucess";
}
@Override
public void validate() 
{

if(null==this.getUsername()||"".equals(this.getUsername().trim()))
{
this.addFieldError("username", "username err");
}
if(null==this.getPassword()||"".equals(this.getPassword().trim()))
{
this.addFieldError("password", "password err");
}
}

}


xml;
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC
    "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
    "http://struts.apache.org/dtds/struts-2.0.dtd"><struts>
     <package name="struts2" extends="struts-default">
     
       <action name="login" class="com.test.login.Login"  >
            <result name="input">/login.jsp</result>
            <result name="sucess">/index.jsp</result>
       </action> 
    
    
     </package>
</struts>
运行的结果是不输入东西提示username err或password err错误,然后无论是输入对的密码还是输入错的密码显示的是空白页;各位牛人解答下;

解决方案 »

  1.   


    <result>/index.jsp</result>这样。
      

  2.   

     try{      
                     String sqle="select pass from student where studentid='"+username+"'";
                     rs=con.createStatement().executeQuery(sqle);
                     rs.next();
                     String a=rs.getString("pass");
                    
                     if(rs.next())
                     {
                     if(a==password) 
                         {
                             return this.SUCCESS;
                         }
                         else
                         {
                             this.addFieldError("password", "password input worng");
                             return this.INPUT;
                         }
                     }
    去掉这一句 if(rs.next())