一段简单的jsp代码,主要想模拟jsp中用户登陆权限怎么处理的问题,但是结果总是不对高手们帮我看看哪个地方有问题啊!
先贴bean类:package testDroit;
就3个属性用户名,密码,权限
public class Employees {
private String name;
private String password;
private int droit;
public Employees(){

}
public Employees(String name,String password){
this.name = name;
this.password = password;
}
public  Employees(String name,String password,int droit){
this.name = name;
this.password = password;
this.droit = droit;
}
public int getDroit() {
return droit;
}
public void setDroit(int droit) {
this.droit = droit;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}

}
然后是连接数据库的类:
这个类在main方法下跑也没有什么问题
package testDroit;import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;public class JDBC_Conn {
String name = "sa";
String password = "";
    String url="jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=Northwind"; 
    Connection conn=null;
    ResultSet rs=null;
    public JDBC_Conn(){
     try {
Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver").newInstance();
} catch (InstantiationException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IllegalAccessException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (ClassNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
    }
    public void executeUpdate(String sql)throws Exception{
sql=new String(sql.getBytes("GBK"),"ISO8859_1");
try{
//conn = DriverManager.getConnection(url,name,password);
            Statement stmt=conn.createStatement();
            stmt.executeUpdate(sql);
conn.close();
stmt.close();
        }
        catch(SQLException ex){
            System.out.println("sql.executeUpdate:"+ex.getMessage());
        }
    }
    public ResultSet executeQuery(String sql)throws Exception{
        rs=null;
try{
sql=new String(sql.getBytes("GBK"),"ISO8859_1");
           conn = DriverManager.getConnection(url,name,password);
            Statement stmt=conn.createStatement();
            System.out.println("2222222222");
            rs=stmt.executeQuery(sql);
            System.out.println(conn.isClosed());
//conn.close();
//stmt.close();
        }
        catch(SQLException ex){
            System.out.println("sql.executeQuery:"+ex.getMessage());
        }
return rs;
    }
    public static void main(String args[]){
     JDBC_Conn a = new JDBC_Conn();
     try {
     String name ="xt";
     //String password = "xt";
     ResultSet rs1 = a.executeQuery("select droit from droitTest where name ='"+name+"' and password = '"+name+"'");
     while(rs1.next()){
     //String name = rs1.getString(1);
     //String password = rs1.getString(2);
     int droit = rs1.getInt(1);
    
     System.out.println(name+droit);
     }
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
    }
}
最后是jsp文件:
这里面的从得到结果集开始好象有问题,数据库表就3个字段name,password,droit和bean类对应的
<%@ page contentType="text/html; charset=gb2312" language="java" import="java.sql.*" errorPage="" %>
<jsp:useBean id="emp" scope="page" class="testDroit.Employees"/>
<jsp:useBean id="apply" scope="page" class="testDroit.JDBC_Conn"/>
<%System.out.println("进入测试界面");
String act = request.getParameter("Action") ;
System.out.println(act);
if(act!=null&&act.equals("submmit")){
String name = request.getParameter("name");
String password = request.getParameter("password");
emp.setName(name);
emp.setPassword(password);
String sql = "select droit from droitTest where name = '"+name+"' and password = '"+password+"'";
ResultSet rs = apply.executeQuery(sql);
try{if(rs.next()){
int droit = rs.getInt(1);
emp.setDroit(droit);
}
}
catch(Exception e){
System.out.println(e.getMessage());
}
%>
<html>
<%
if(emp.getDroit()==1){%>
<a href="#">aaaaaaaaa</a>
<% }
else{%>
<a href="#">bbbbbbb</a>
<%}
%>
</html>
小弟刚写代码,一定要帮我啊