问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

在jsp中,如何实现普通用户和管理员登陆后跳转到不同的点jsp页面

发布网友 发布时间:2022-05-05 01:58

我来回答

5个回答

热心网友 时间:2023-10-09 09:47

在jsp中可以通过角色控制表跳转不同的页面。
参考代码如下:

package myservlet;
import mybean.*;
import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;
import java.sql.*;
public class IsLogin extends HttpServlet{
public void init(ServletConfig config) throws ServletException{
super.init(config);
}
public void doPost(HttpServletRequest request,HttpServletResponse response) throws ServletException,IOException{
//接收参数
String user=request.getParameter("user");
String password=request.getParameter("password");
String actor=request.getParameter("actor");
//加载驱动,建立连接
Connection con;
Statement sql;
ResultSet rs;
try{
Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
}catch(Exception e){
System.out.print(e);
}

try{
String uri="jdbc:sqlserver://127.0.0.1:1433;DatabaseName=student";
con=DriverManager.getConnection(uri,"sa","940712");//数据库的登录名 sa 940712
sql=con.createStatement();
//通过if语句判断角色,将其账号密码与数据库的userInf内的信息进行比对(角色的账号密码统一存储在UserInf表中)
//若正确,转发至角色对应的登录成功界面;若没有,统一转发至出错界面,提供返回链接供重新登录
if(actor=="student"){
rs=sql.executeQuery("select userIs,password from userInf where actor='student'");
while(rs.next()){
if(user==rs.getString(1) && password==rs.getString(2)){
RequestDispatcher dispatcher=request.getRequestDispatcher("loginSuccessS.jsp");
dispatcher.forward(request,response);
}
}
RequestDispatcher dispatcher=request.getRequestDispatcher("loginError.jsp");
dispatcher.forward(request,response);
}
//普通用户角色控制
else if(actor=="teacher"){
rs=sql.executeQuery("select userIs,password from userInf where actor='teacher'");
while(rs.next()){
if(user==rs.getString(1) && password==rs.getString(2)){
RequestDispatcher dispatcher=request.getRequestDispatcher("loginSuccessT.jsp");
dispatcher.forward(request,response);
}
}
RequestDispatcher dispatcher=request.getRequestDispatcher("loginError.jsp");
dispatcher.forward(request,response);
}
//管理员角色控制
else if(actor=="admin"){
rs=sql.executeQuery("select userIs,password from userInf where actor='admin'");
while(rs.next()){
if(user==rs.getString(1) && password==rs.getString(2)){
RequestDispatcher dispatcher=request.getRequestDispatcher("loginSuccessA.jsp");
dispatcher.forward(request,response);
}
}
RequestDispatcher dispatcher=request.getRequestDispatcher("loginError.jsp");
dispatcher.forward(request,response);
}
}catch(SQLException e){
//System.out.print("您的账号或密码错误,请返回重新输入");
RequestDispatcher dispatcher=request.getRequestDispatcher("loginError.jsp");
dispatcher.forward(request,response);
}
}
}

热心网友 时间:2023-10-09 09:47

用户表中应该有字段标识用户权限,登陆后,从数据库取出这个字段,用它来判断跳转。

热心网友 时间:2023-10-09 09:48

String name = request.getSession(false).getAttribute("username").toString();
删除 。

if( name.equals("admin") )
改成:
if( UserName.equals("admin") )

如果还不行,你打印一下username看看是admin吗?注意大小写和空格

热心网友 时间:2023-10-09 09:48

照我这个做就OK,祝你好运,呵呵

<%
ResultSet rs=null;
request.setCharacterEncoding("UTF-8");
String name=request.getParameter("username");
String password=request.getParameter("userpassword");
String check=request.getParameter("rand");
String rand=((String)session.getAttribute("check"));
String s=request.getParameter("selectlogrole");
try
{

if(s!=null)
{switch(s.charAt(0))
{
case's':
String sql01="select * from userinfo where username='"+name+"' and userpassword='"+password+"' and logrole='student'";
rs=query.executeQuery(sql01);
if(rs.next()&&rand.equals(check))
{
String Name=rs.getString("username");
session.setAttribute("name",Name);//记录用户名
session.setAttribute("login","success");//记录成功登录

%>
<script language="javascript">
alert("登录成功!!!");
window.location.href="sss.jsp";
</script>
<%
}else
{
%>
<script language="javascript">
alert("身份错误!!");
history.back();
</script>
<% }
break;
case't':
String sql02="select * from userinfo where username='"+name+"' and userpassword='"+password+"' and logrole='teacher'";
rs=query.executeQuery(sql02);
if(rs.next()&&rand.equals(check))
{
String Name=rs.getString("username");
session.setAttribute("name",Name);//记录用户名
session.setAttribute("login","success");//记录成功登录

%>
<script language="javascript">
alert("登录成功!!!");
window.location.href="ttt.jsp";
</script>
<%
}else
{
%>
<script language="javascript">
alert("身份错误!!");
history.back();
</script>
<%
}
break;
case'a':
String sql03="select * from userinfo where username='"+name+"' and userpassword='"+password+"' and logrole='admin'";
rs=query.executeQuery(sql03);
if(rs.next()&&rand.equals(check))
{
String Name=rs.getString("username");
session.setAttribute("name",Name);//记录用户名
session.setAttribute("login","success");//记录成功登录

%>
<script language="javascript">
alert("登录成功!!!");
window.location.href="ggg.jsp";
</script>
<%
}else
{
%>
<script language="javascript">
alert("身份错误!!");
history.back();
</script>
<%
}
break;
default:
out.println("你没有选择");
}
}
%>

<%
}catch(Exception e)
{
out.println("连接异常login_config");
}
%>

热心网友 时间:2023-10-09 09:49

<%
if(session.getAttribute("login")=="admin")
{
response.sendRedirect("login.jsp");
}
else if(session.getAttribute("login")=="user")) {
response.sendRedirect("XXX.jsp");
}
%>
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
陕西职务侵占案立案准则 结婚后我的恋情维系了十年,怎么做到的? 玉米仁子饭产自哪里 中国期货交易所的交易品种有哪些? 历史要怎么读,有啥诀窍 高中历史诀窍 年终会活动策划方案 深度解析:第一财经回放,探索财经新风向 逆水寒手游庄园怎么邀请好友同住 逆水寒手游 逆水寒不同区可以一起组队吗? Hibernate注解 2019年江苏高考语文作文,我写的是 《人生百味态美好自然来》 算是跑题吗? .net批量中GridView批量修改数据的问题 少儿国学书是什么内容 linq如何批量更新及指定查询? 梦见自己被母亲*结婚,是怎么回事?(快速回答啊!急!急!急!急!急!) struts2 ActionSupport 中的validate方法怎样验证(注册功能)两次输入... 幼儿用书推荐 在web.xml设置的role-name怎么和数据库里面的值对应 小学孩子国学入门,看什么书合适 买少儿图书有哪些网站可以推荐? 《百家姓》《千字文》《三字经》算少儿图书吗? 儿童国学经典书籍 SQL KEY关键字后面的字符串怎么来的,是什么意思? 用虚拟手机号注册的是怎么回事 形容老板失信于人的句子有哪些? 失信什么句子补充完整? 失信于人的句子 C#中不允许更改“ConnectionString”属性 如何成为skype群管理员 高考第一天,语文考完,当年作文题目你跑题了吗 梦见已故的妈妈安排我穿啦一个红色婚纱结婚? 多次梦见母亲要自己嫁一个从未谋面的男的 今年高考语文作文写跑题了吗。我是全国2卷,我的作文只比较了一点点 2019江苏省语文高考作文我写成了人各有性,最后结尾写了一句隔合的话,跑题了吗? 2019年江苏省语文高考作文,我写成了人各有性跑题了吗? 毛囊炎是什么样的图片 毛囊炎症状是什么?怎样治疗 今年语文高考作文《这世界需要你》大家看看我有没有跑题 毛囊炎有什么症状,? 高考作文跑题多少分啊? 毛囊炎是什么症状??? 毛囊炎是什么样的症状 2019年全国卷三语文作文写 冷静应对 奋斗每刻算跑题或者偏题吗? 毛囊炎症状 毛囊炎症状是什么啊! 今年高考语文,大家看我的作文跑题了吗? 今年高考语文作文写环保算不算跑题? 2019年高考卷三作文不写感恩算跑题吗 鞠婧祎着白色亮片纱裙像公主,你还知道哪些公主风穿搭? 请问老师,我是黑龙江考生,我的高考语文作文为:教育与人,请问是否跑题了呢?