当前位置: 代码迷 >> Java Web开发 >> jsp做登录之后怎么从数据库返回更多用户信息
  详细解决方案

jsp做登录之后怎么从数据库返回更多用户信息

热度:7003   发布时间:2013-02-25 21:22:58.0
jsp做登录之后如何从数据库返回更多用户信息
<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中。
  相关解决方案