springMVC请求处理

文章详细介绍了SpringMVC中@RequestMapping注解的使用,包括URL映射、HTTP方法映射、参数条件如params和consumes的设定。还提到了RESTful风格的参数获取,以及如何处理编码问题,通过过滤器设置UTF-8编码。此外,文章还讨论了如何处理PUT和DELETE请求,以及访问静态资源的配置方法。
摘要由CSDN通过智能技术生成

请求参数处理:

@RequestMapping——

@RequestMapping映射url将请求处理映射到方法中。

@RequestMapping加载类上面,作用:1.模块化。2.解决映射方法重复问题。

@RequestMapping属性中method = RequestMethod.GET/POST映射方式。

@PostMapping ===>post请求

@GetMapping ===>get请求

@PutMapping

@DeleteMapping

@RequestMapping属性——

params:

  • 必须有什么值 params = {“name”}

  • 必须没有什么值 params = {“!name”}

  • 必须等于什么值 params = {“name=dt”}

  • 必须不等于什么值 params = {“name!=dt”}

consumes:

  • form表达默认内容类型 consumes = {“application/x-www-form-urlencoded”}

  • orm表单文件流内容类型 consumes = {“multipart/form-data”}

  • ajax,json类型 consumes = {“application/json”}

用apipost软件测试的时候要在方法里面写上参数,否则报错(不知为啥)

rest形式获取地址栏参数。/xxx,xxx为参数。方法参数为对象是可以省略@PathVariable——

@RequestMapping(value = "/mapping04/{id}") //使用{}占位符

解决编码问题:

在web.xml里面配置spring对于编码问题的过滤器——

<!-- 配置spring过滤器,解决编码问题-->

<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>forceEncoding</param-name>

<param-value>true</param-value>

</init-param>

</filter>

<!-- 配置拦截哪些请求-->

<filter-mapping>

<filter-name>CharacterEncodingFilter</filter-name>

<!-- 拦截规则-->

<!-- 只拦截springmvc的请求-->

<servlet-name>springmvc</servlet-name>

</filter-mapping>

对于jsp的表单无法使用put和delete请求:

在web.xml里面进行spring请求过滤器——

<!-- 处理html不支持put和delete请求,将post转换put、delete等请求的过滤器-->

<filter>

<filter-name>HiddenHttpMethod</filter-name>

<filter-class>org.springframework.web.filter.HiddenHttpMethodFilter</filter-class>

</filter>

<filter-mapping>

<filter-name>HiddenHttpMethod</filter-name>

<servlet-name>springmvc</servlet-name>

</filter-mapping>

同时在表单中添加标签

 <!--(这里以put请求为例,根据实际情况修改name值。)--> 
<input type="hidden" value="put" name="_method">

将请求方式修改为post——原理:当spring过滤器接收到post请求会判断_method的值是put还是delete等,然后转为大写再进行映射,然后匹配对应的方法执行。

请求参数名与方法参数一致的时候会自动转换,如果使用对象则请求参数名和对象的属性名保持一致会自动转换,因此方法参数可以用对象来接收即可。

访问静态资源:

在spring配置文件中进行以下配置——

<!-- 使用spring,一定要配置的配置-->
<mvc:annotation-driven/>


<!-- 访问静态资源方法一-->
<mvc:resources mapping="resources/**" location="/resources/"/>


<!-- 访问静态资源方法二,当spring无法匹配处理器时将请求抛给服务器处理-->

<!-- <mvc:default-servlet-handler/>-->

并且要在web文件夹下创建resources文件夹,静态资源放在该文件夹下

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值