public class UserDao {
public String findUserByName(String name, String pass) throws Exception {
/**获取连接,因为连接工厂设置的静态方法,可以指定使用类名调用方法*/
Connection conn = ConnectionFactory.getConnection();
/**拼接sql语句*/
String sql = "select **IsAdmin** from r_employee where username= ? and password = ?";
/**预编译sql语句,这样是为了防止sql语句攻击*/
PreparedStatement statement = conn.prepareStatement(sql);
/**set参数,1表示第一个参数,2表示第二个参数*/
statement.setString(1, name);
statement.setString(2, pass);
//执行sql语句,返回结果集
ResultSet rs = statement.executeQuery();
这个是判定的类
UserDao userDao = new UserDao();
/**调用dao层的获取用户的方法*/
try {
String user = userDao.findUserByName(ISAdmin);
System.out.println(user);
//获取session,将获取到的数据保存到session中
HttpSession session = request.getSession();
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
我首先是想问这样写可以把第一个类里查询得到的“IsAdmin”在这个类里取出来吗,然后进行判定,如果IsAdmin=1;跳转到1.jsp页面,如果IsAdmin=0,跳转到0.jsp页面。这个跳转怎么写,应该加在哪?
ResultSet rs = statement.executeQuery();
后面加上
if (result.next())
rreturn rs.getString(1);
else
return "";
String user = userDao.findUserByName(ISAdmin);
修改为
String user = userDao.findUserByName(用户名, 密码);
后面加上
if (user.equals("1"))
response.sendRedirect("1,jsp");
else
response.sendRedirect("0,jsp");
首先你要取出的是类的话,就要做表和类的映射。然后跳转的话方法挺多的,
一种是前台调用你的判定类根据判定类的结果进行跳转,一种是直接在后台跳转,但是在后台跳转就要用框架。
不知道你对SSH框架的熟悉程度,一般不会用这么原始的方式获取数据库连接。建议你网上找一份最简单的SSH框架的例子,
尝试着把你这段代码放到框架里去。
如果用框架,就是XML里面配置的,如果,直接写,就用response.sendRedirect