/**
* 获取请求信息
* @RequestParam:获取请求参数,若方法参数和请求参数则可以不使用此注解,springmvc会自动封装
* 使用注解可以指定获取那个参数的值,如果没带则会报400,可以设置required=false来避免
* defaultValue可以指定默认值
* @RequestHeader:根据key获取请求头中的值,例如:User-Agent,但是如果请求头中没有这个参数就会报错
* @CookieValue:根据key获取cookie的值,例如:JSESSIONID
*/
@RequestMapping("/handler01")
public String handler01(
@RequestParam(value = "username",required = false,defaultValue = "null") String username,
@RequestHeader(value = "User-Agent",required = false,defaultValue = "null") String userAgent,
@CookieValue(value = "JSESSIONID",required = false,defaultValue = "null")String JSESSIONID) {
System.out.println("获取到的值:"+username);
System.out.println("userAgent:"+userAgent);
System.out.println("JSESSIONID:"+JSESSIONID);
return "success";
}
/**
* 如果参数是pojo,则spring会自动封装对象,每一个属性按照name尝试赋值
*/
@RequestMapping("/handler02")
public String handler02(Person person) {
System.out.println(person);
return "success";
}
/**
* 在方法中也可以传入一些原生API
* 例如:request,response,session,Principal
* Locale,InputStream,OutputStream,Reader,Writer
* @throws Exception
*/
@RequestMapping("/handler03")
public String handler03(HttpServletRequest request,HttpServletResponse response) throws Exception {
response.setContentType("text/html;charset=utf-8");
request.setCharacterEncoding("utf-8");
request.setAttribute("msg", "你好");
return "success";
}
但是如果页面传过来的数据为中文,则可能会出现乱码的情况:
<filter>
<filter-name>CharacterEncodingFilter</filter-name>
<filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>
<init-param>
<param-name>encoding</param-name>
<param-value>UTF-8</param-value>
</init-param>
<init-param>
<param-name>forceRequestEncoding</param-name>
<param-value>true</param-value>
</init-param>
<init-param>
<param-name>forceResponseEncoding</param-name>
<param-value>true</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>CharacterEncodingFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
本文地址:https://blog.csdn.net/weixin_44246189/article/details/107367301
如对本文有疑问, 点击进行留言回复!!
如何在IDEA中对 hashCode()和 equals() 利用快捷键快速进行方法重写
springboot集成普罗米修斯(Prometheus)的方法
Tomcat启动springboot项目war包报错:启动子级时出错的问题
如何利用Spring的@Import扩展点与spring进行无缝整合
网友评论