Spring MVC(Hibernate+;Maven)-多个控制器和会话(登录/注销)
我正在使用SpringMVC、Hibernate和Maven进行一个中型项目 我的应用程序有一个登录页面,它对用户进行身份验证,然后路由到带有菜单的主页面。从菜单中,用户可以转到多个菜单选项。应用程序分为多个模块-员工、工资单、缺勤管理等 在这个平台上比较新,没有什么问题Spring MVC(Hibernate+;Maven)-多个控制器和会话(登录/注销),hibernate,maven,spring-mvc,web-applications,spring-security,Hibernate,Maven,Spring Mvc,Web Applications,Spring Security,我正在使用SpringMVC、Hibernate和Maven进行一个中型项目 我的应用程序有一个登录页面,它对用户进行身份验证,然后路由到带有菜单的主页面。从菜单中,用户可以转到多个菜单选项。应用程序分为多个模块-员工、工资单、缺勤管理等 在这个平台上比较新,没有什么问题 控制器:我应该为整个应用程序使用单个控制器还是使用多个控制器 如果我应该使用多个-是否应该为登录模块设置一个控制器,为每个模块(如员工、工资单等)设置一个控制器。?我怎样才能让他们互相交谈并通过控制 用@RequestMapp
谢谢大家! 回答这个问题的最简单方法是像对待您编写的任何其他代码一样对待控制器。在设计类时,我们遵循以下原则:
- 单一责任人
- 关注点分离
@Controller
public class EmployeeController {
@RequestMapping("/employee/view")
public String viewEmployee(@RequestParam("id") Integer id, Model model) {
// lookup the employee by the passed "?id=123" 123 value
final Employee employee = employeeService.getEmployee( id );
// set the employee in the model so I can render it in JSP
model.addAttribute( "employee", employee );
// return the name of what view to display
return "view";
}
}
此处显示的代码不会卡在“Previor”控制器中,因为用户需要提交表单或单击链接或按钮向服务器提交请求,如/employee/view?id=123
,以便该控制器完成其工作
最后,是的,需要一个HttpSession
对象来跟踪多个请求的状态。HttpRequest
是一个短暂的对象,在其HttpSession
的整个生命周期内,单个用户可以执行数十到数百次
在spring世界中,通常会将spring安全性配置为处理身份验证。在这种情况下,该库将维护
会话ID
和用户身份验证之间的关系,以便在每个HttpRequest
上,它知道用户是否已通过身份验证,如果没有,则重定向他们登录,如果有,则允许他们的请求调用控制器。回答这一问题的最简单方法是将控制器与您编写的任何其他代码一样对待。在设计类时,我们遵循以下原则:
- 单一责任人
- 关注点分离