當(dāng)前位置:
首頁(yè) >
前端技术
> javascript
>内容正文
javascript
Spring Mvc Url和参数名称忽略大小写
生活随笔
收集整理的這篇文章主要介紹了
Spring Mvc Url和参数名称忽略大小写
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
在開(kāi)發(fā)過(guò)程中Spring Mvc 默認(rèn) Url和參數(shù)名稱都是區(qū)分大小寫的。
?
URL忽略大小寫:
@Configuration public class SpringWebConfig extends WebMvcConfigurationSupport {@Overridepublic void configurePathMatch(PathMatchConfigurer configurer) {AntPathMatcher pathMatcher = new AntPathMatcher();pathMatcher.setCaseSensitive(false);configurer.setPathMatcher(pathMatcher);}}?
或者
@Configuration @ComponentScan(value = "com.sino.webapi.web", useDefaultFilters = false, includeFilters = {@ComponentScan.Filter(type = FilterType.ANNOTATION, classes = { Controller.class }) }) public class SpringWebConfig extends WebMvcConfigurationSupport{@Beanpublic RequestMappingHandlerMapping requestMappingHandlerMapping() {RequestMappingHandlerMapping m = new RequestMappingHandlerMapping();AntPathMatcher pathMatcher = new AntPathMatcher();pathMatcher.setCaseSensitive(false);m.setPathMatcher(pathMatcher);return m;} }?
參數(shù)名忽略大小寫:
import java.io.IOException; import java.util.Collections; import java.util.Enumeration; import java.util.Map; import javax.servlet.FilterChain; import javax.servlet.ServletException; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletRequestWrapper; import javax.servlet.http.HttpServletResponse; import org.springframework.util.LinkedCaseInsensitiveMap; import org.springframework.web.filter.OncePerRequestFilter;public class CaseInsensitiveRequestParameterNameFilter extends OncePerRequestFilter {@Overrideprotected void doFilterInternal(HttpServletRequest request, HttpServletResponse response, FilterChain filterChain)throws ServletException, IOException {filterChain.doFilter(new CaseInsensitiveParameterNameHttpServletRequest(request), response);}public static class CaseInsensitiveParameterNameHttpServletRequest extends HttpServletRequestWrapper {private final LinkedCaseInsensitiveMap<String[]> map = new LinkedCaseInsensitiveMap<>();@SuppressWarnings("unchecked")public CaseInsensitiveParameterNameHttpServletRequest(HttpServletRequest request) {super(request);map.putAll(request.getParameterMap());}@Overridepublic String getParameter(String name) {String[] array = this.map.get(name);if (array != null && array.length > 0)return array[0];return null;}@Overridepublic Map<String, String[]> getParameterMap() {return Collections.unmodifiableMap(this.map);}@Overridepublic Enumeration<String> getParameterNames() {return Collections.enumeration(this.map.keySet());}@Overridepublic String[] getParameterValues(String name) {return this.map.get(name);}}}Bean:
<!--輸入?yún)?shù)忽略大小寫--><bean id="caseInsensitiveRequestFilterProxy" class="org.springframework.web.filter.DelegatingFilterProxy"><property name="targetBeanName" value="caseInsensitiveRequestFilter"/></bean><bean id="caseInsensitiveRequestFilter"class="com.hantianwei.util.CaseInsensitiveRequestParameterNameFilter"></bean>添加Filter:
<filter><filter-name>caseInsensitiveRequestFilterProxy</filter-name><filter-class>org.springframework.web.filter.DelegatingFilterProxy</filter-class></filter><filter-mapping><filter-name>caseInsensitiveRequestFilterProxy</filter-name><url-pattern>/*</url-pattern></filter-mapping>總結(jié)
以上是生活随笔為你收集整理的Spring Mvc Url和参数名称忽略大小写的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: Java中泛型Class T, T与Cl
- 下一篇: 三种通用应用层协议protobuf、th