|
|
// test
|
|
|
package com.dims.web.controller;
|
|
|
|
|
|
import javax.servlet.http.HttpServletRequest;
|
|
|
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
import org.springframework.stereotype.Controller;
|
|
|
import org.springframework.web.bind.annotation.RequestMapping;
|
|
|
|
|
|
import com.dims.domain.Admin;
|
|
|
import com.dims.domain.Doctor;
|
|
|
import com.dims.domain.Nurse;
|
|
|
import com.dims.domain.User;
|
|
|
import com.dims.service.IAdminService;
|
|
|
import com.dims.service.IDoctorService;
|
|
|
import com.dims.service.INurseService;
|
|
|
|
|
|
@Controller
|
|
|
@RequestMapping(value = "/")
|
|
|
public class UserController {
|
|
|
@Autowired
|
|
|
private IAdminService adminService;
|
|
|
|
|
|
@Autowired
|
|
|
private IDoctorService doctorService;
|
|
|
|
|
|
@Autowired
|
|
|
private INurseService nurseService;
|
|
|
|
|
|
@RequestMapping(value = "index")
|
|
|
public String index() {
|
|
|
// 重定向到 WEB-INF/views/login.jsp
|
|
|
return "redirect:/login";
|
|
|
}
|
|
|
|
|
|
@RequestMapping(value = "login")
|
|
|
public String login(HttpServletRequest req) {
|
|
|
req.getSession().removeAttribute("echo");
|
|
|
|
|
|
// 请求映射到 WEB-INF/views/login.jsp
|
|
|
return "/login";
|
|
|
}
|
|
|
|
|
|
@RequestMapping(value = "submitLogin")
|
|
|
public String submitLogin(HttpServletRequest req, User user) {
|
|
|
String echo;
|
|
|
|
|
|
switch (user.getRole()) {
|
|
|
case ADMIN:
|
|
|
Admin currentAdmin = adminService.login(user);
|
|
|
if (currentAdmin != null) { // 登录成功
|
|
|
req.getSession().setAttribute("currentAdmin", currentAdmin);
|
|
|
|
|
|
// 重定向到 WEB-INF/views/admin/index.jsp
|
|
|
return "redirect:/admin/index";
|
|
|
} else {
|
|
|
echo = "登陆失败!";
|
|
|
req.getSession().setAttribute("echo", echo);
|
|
|
|
|
|
// 请求映射到 WEB-INF/views/login.jsp,留在登录页面
|
|
|
return "/login"; // 不要用重定向,重定向会执行 login 方法
|
|
|
}
|
|
|
case DOCTOR:
|
|
|
Doctor currentDoctor = doctorService.login(user);
|
|
|
if (currentDoctor != null) { // 登录成功
|
|
|
req.getSession().setAttribute("currentDoctor", currentDoctor);
|
|
|
|
|
|
// 重定向到 WEB-INF/views/doctor/index.jsp
|
|
|
return "redirect:/doctor/index";
|
|
|
} else {
|
|
|
echo = "登陆失败!";
|
|
|
req.getSession().setAttribute("echo", echo);
|
|
|
|
|
|
// 请求映射到 WEB-INF/views/login.jsp,留在登录页面
|
|
|
return "/login"; // 不要用重定向,重定向会执行 login 方法
|
|
|
}
|
|
|
case NURSE:
|
|
|
Nurse currentNurse = nurseService.login(user);
|
|
|
if (currentNurse != null) { // 登录成功
|
|
|
req.getSession().setAttribute("currentNurse", currentNurse);
|
|
|
|
|
|
// 重定向到 WEB-INF/views/nurse/index.jsp
|
|
|
return "redirect:/nurse/index";
|
|
|
} else {
|
|
|
echo = "登陆失败!";
|
|
|
req.getSession().setAttribute("echo", echo);
|
|
|
|
|
|
// 请求映射到 WEB-INF/views/login.jsp,留在登录页面
|
|
|
return "/login"; // 不要用重定向,重定向会执行 login 方法
|
|
|
}
|
|
|
default:
|
|
|
echo = "登陆失败!";
|
|
|
req.getSession().setAttribute("echo", echo);
|
|
|
|
|
|
// 请求映射到 WEB-INF/views/login.jsp,留在登录页面
|
|
|
return "/login"; // 不要用重定向,重定向会执行 login 方法
|
|
|
}
|
|
|
}
|
|
|
|
|
|
@RequestMapping(value = "logout")
|
|
|
public String logout(HttpServletRequest req) {
|
|
|
req.getSession().invalidate();
|
|
|
|
|
|
// 重定向到 WEB-INF/views/login.jsp
|
|
|
return "redirect:/login";
|
|
|
}
|
|
|
|
|
|
@RequestMapping(value = "admin")
|
|
|
public String admin() {
|
|
|
// 重定向到 WEB-INF/views/admin/index.jsp
|
|
|
return "redirect:/admin/index";
|
|
|
}
|
|
|
|
|
|
@RequestMapping(value = "doctor")
|
|
|
public String doctor() {
|
|
|
// 重定向到 WEB-INF/views/doctor/index.jsp
|
|
|
return "redirect:/doctor/index";
|
|
|
}
|
|
|
|
|
|
@RequestMapping(value = "nurse")
|
|
|
public String nurse() {
|
|
|
// 重定向到 WEB-INF/views/nurse/index.jsp
|
|
|
return "redirect:/nurse/index";
|
|
|
}
|
|
|
}
|