问题遇到的现象和发生背景
毕设题目是做一个JAVA医疗系统,想实现的功能是根据用户身份(管理员、医生、病人)不同登陆后的页面也不同,现在解决了登陆之后页面的确不同,但是一旦点击左侧功能就会跳转至同一界面
问题相关代码,请勿粘贴截图
switch (action) {
case "login": // 登录
//Begin
//HttpSession session = req.getSession();
//String username = req.getParameter("username");
//String password = req.getParameter("password");
//String role = req.getParameter("role");
//end
try {
Admin admin = adminDao.login(username,password,role);
if(admin == null) {
req.setAttribute("error", "帐号或密码或角色类型输入错误!");
req.getRequestDispatcher("login.jsp").forward(req,resp);
}else {
if(role.equals("管理员")) {
session.setAttribute("currAdmin", admin);
req.setAttribute("mainPage", "admin/blank.jsp");
req.getRequestDispatcher("mainAdmin.jsp").forward(req,resp);}
if(role.equals("医生")) {
session.setAttribute("currAdmin", admin);
req.setAttribute("mainPage", "doctor/blank.jsp");
req.getRequestDispatcher("doctor.jsp").forward(req,resp);}
if(role.equals("病人")) {
session.setAttribute("currAdmin", admin);
req.setAttribute("mainPage", "admin/blank.jsp");
req.getRequestDispatcher("patient.jsp").forward(req,resp);}
}
}catch(SQLException e) {
e.printStackTrace();
}
//req.setAttribute("mainPage", "admin/blank.jsp");
//req.getRequestDispatcher("mainAdmin.jsp").forward(req, resp);
break;
case "admininfo": // 个人信息
req.setAttribute("mainPage", "doctor/doctorlist.jsp");
req.getRequestDispatcher("mainAdmin.jsp").forward(req, resp);
break;
case "blank": // 首页
req.setAttribute("mainPage", "doctor/blank.jsp");
req.getRequestDispatcher("mainAdmin.jsp").forward(req, resp);
break;
case "exit":
case "logout": // 退出账号
req.getRequestDispatcher("login.jsp").forward(req, resp);
break;
运行结果及报错内容
登陆成功后显示页面不同,但是要进行不同身份的不同功能操作时就会跳转至同一界面
我的解答思路和尝试过的方法
尝试过将登陆那一段辨别身份的代码复制到下面的Case中,跳转页面会报tomcat-500的错