<body>
<%
String username = request.getParameter("username").trim();
String password = request.getParameter("password").trim();
String role = request.getParameter("role").trim();
try {
if (role.equals("0")) { //不能用role=="0"
String sql = "select admiId,admiPassword from administrator where admiId='"+username+"'and admiPassword='"+password+"'";
ResultSet rs = sqlbean.executeQuery(sql);
if (rs.next())
response.sendRedirect("UntitledFrameset-8.htm"); //验证成功则直接跳转了,不会看到错误信息
else
out.println("错误的用户名或密码");
}
else if (role.equals("1")) { //与role.equals("0")类似
String sql = "select teId,tePassword from teacher where teId='"+username+"'and tePassword='"+password+"'";
ResultSet rs = sqlbean.executeQuery(sql);
if (rs.next())
out.println("你好,"+username);
else
out.println("错误的用户名或密码");
}
} catch (Exception ee) {
ee.printStackTrace();
}
%>
</body>
=========================================
上面是登录判断loginto.jsp 我把管理员登录之后直接转到一个html页面 用户登录直接显示 “你好,username”
求高手指导下如何使不同角色登录成功之后跳到相应角色的界面,这个界面返回该角色数据库表里的其他信息 比如相应的性别,年龄之类的
------解决方案--------------------------------------------------------
你在写select语句的时候,可以顺带把其他信息一带查不出啥
------解决方案--------------------------------------------------------
不用out.print,
比如要跳到a.jsp页面
在out.print那一行用response.sendRedirect("a.jsp?username="+username+"&sex="+sex);这种方式来跳转
------解决方案--------------------------------------------------------
或者根据你登录的信息在另一个页面中再次查询会员信息
------解决方案--------------------------------------------------------
可以在“response.sendRedirect("UntitledFrameset-8.htm"); //验证成功则直接跳转了,不会看到错误信息”这句中加传转跳得信息,,从数据库中取出来就可以了
------解决方案--------------------------------------------------------
使用JSP大约有下列三种跳转方式:
1. response.sendRedirect();
2. response.setHeader("Location","");
3. <jsp:forward page="" />
需要的话可以把用户名传过去作为条件再查一次数据库,就可以得到你想要的结果!
------解决方案--------------------------------------------------------
if (rs.next())
response.sendRedirect("xxx.jsp?userId"+ userId);//在这里跳到指定的jsp了 ,然后在这里面查看你的权限
------解决方案--------------------------------------------------------
伪代码
- Java code
String username = request.getParameter("username").trim(); String password = request.getParameter("password").trim(); String role = request.getParameter("role").trim(); String sql=""; if(role.equal("0")){ sql="select * from admin where username="+username+" and password="+password+""; ResultSet rs = sqlbean.executeQuery(sql); if (rs.next()){ Admin admin=new Admin(); admin.setId(rs.getInt(1)); Admin.setName(rs.getString(2)) HttpSession session=request.getSession(); session.setAttribute("admin",admin); response.sendRedirect("UntitledFrameset-8.htm"); }else{ response.sendRedirect("<script>alert("用户名或密码错误")</script>"); } }
------解决方案--------------------------------------------------------
你应该在servlet中能够判断是否登录成功。。如果登录成功这个时候到数据库中查找你需要的用户信息。然后放在一request中 这个就可以利用el表达式或者别的标签在页面上进行显示或者放在session中。