目录
Servlet API对象(类似9大内置对象)
支持的对象有:
? HttpServletRequest、HttpServletResponse、HttpSession、
完善登录跳转功能
Servlet API对象(类似9大内置对象)
SpringMVC框架支持直接在控制器方法中绑定一些ServletAPI对象的,
支持的对象有:
? HttpServletRequest、HttpServletResponse、HttpSession、
java.security.Principal、Locale、InputStream、OutputStream、Reader、
Writer
可以直接在控制器方法中使用这些对象作为方法的参数,SpringMVC
框架自动完成参数绑定:
public String doLogin(@RequestParam("loginname") String name, @RequestParam("password") String pwd,
HttpServletRequest request, HttpServletResponse response) {}
完善登录跳转功能
– 现在这里还有两个问题,一个是登录成功后需要将登录用户保存到
Session域中,另一个则是登录失败后将登录错误信息发送回登录页。
– 以往在Servlet编程中,可以通过HttpServletRequest对象保存错误信
息,然后在JSP页面中可以通过域对象读取错误信息,此外还可以通过
Request对象获取会话的Session,之后可以保存登录的用户对象。
– 在SpringMVC框架中也可以获取到相关的Servlet中的一些对象。
@PostMapping("/login")public String dologin(@RequestParam("loginname")String loginname,@RequestParam("password")String password,HttpServletRequest request ) {User user = userservice.selectLoginUser(loginname, password);System.out.println(user);if (user == null) {request.getSession().setAttribute("msg", "用户信息输入错误!!");//域对象当中的信息在哪都可以通过EL表达式进行获取//key--->msg,value-->用户信息输入错误!! return "login";} else {request.getSession().setAttribute("user", user);//设置了一个域对象user,user就可以在整个域当中进行调用//在转发到下面的页面的时候可以把域对象的信息带走key--》value形式 //key--->user,value-->user对象, //即User user = userservice.selectLoginUser(loginname,password);if (user.getRole() == 1) {return "redirect:/manager/index";///WEB-INF/pages/manager/index.jsp 绝对不行} else {return "redirect:/reader/index";}}}
扩展: