Spring MVC @Controller中转发或者重定向到其他页面的信息怎么携带和传递(Servlet API对象)HttpServletRequestHttpServletRespose

Posted 吃人陈乐游刘

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Spring MVC @Controller中转发或者重定向到其他页面的信息怎么携带和传递(Servlet API对象)HttpServletRequestHttpServletRespose相关的知识,希望对你有一定的参考价值。

目录

Servlet API对象(类似9大内置对象)

支持的对象有:

• HttpServletRequest、HttpServletResponse、HttpSession、

完善登录跳转功能


Servlet API对象(类似9大内置对象)

SpringMVC框架支持直接在控制器方法中绑定一些ServletAPI对象的,

支持的对象有:

HttpServletRequestHttpServletResponseHttpSession

java.security.PrincipalLocaleInputStreamOutputStreamReader

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";
			
		
    	
    

扩展:

 

以上是关于Spring MVC @Controller中转发或者重定向到其他页面的信息怎么携带和传递(Servlet API对象)HttpServletRequestHttpServletRespose的主要内容,如果未能解决你的问题,请参考以下文章

Spring MVC @Controller中转发或者重定向到其他页面的信息怎么携带和传递(Servlet API对象)HttpServletRequestHttpServletRespose(代码片

spring mvc rest服务重定向/转发/代理

Spring MVC 基础篇 6

Spring MVC controller中,使用redirect重定向后却无法传递session的属性

学习SpringMVC之mvc:view-controller标签

spring MVC概述