最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Springmvc restful配置遇到的小坑

 更新時(shí)間:2016年07月14日 10:55:58   作者:超人不會(huì)飛飛飛  
本文是小編給大家?guī)Я说腟pringmvc restful配置遇到的小小坑,小編給大家?guī)砹藛栴}原因及解決辦法,非常不錯(cuò),具有參考借鑒價(jià)值,感興趣的朋友一起看下吧

首先web.xml配置

<!-- spring-mvc -->
<servlet>
<servlet-name>springServlet</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<init-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath:springmvc-servlet.xml</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>springServlet</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping>

url-pattern 配置/即可,如果配置/*的話會(huì)出問提,連返回視圖jsp也會(huì)攔截,具體原因請看翻看源碼

問提:這樣配置的話,大家都會(huì)忽略一個(gè)問題,就是a/b/c可以訪問,但是a/b/c.do;a/b/c.mm;a/b/c.zz都可以訪問a/b/c的controller,在不修改源碼源碼的情況下,我們來

解決這個(gè)問題,雖然都是攔截了/這樣的請求,但是我們只讓a/b/c這樣的請求進(jìn)入controller,帶有【.】的后綴的不讓他進(jìn)入,直接去404頁面

解決辦法:

web.xml加入filte

<!-- 對url進(jìn)行簡單的過濾 -->
<filter>
<filter-name>servletRequest</filter-name>
<filter-class>cn.tomcat.quickstart.common.filter.ServletRequestFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>servletRequest</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
ServletRequestFilter.java
import java.io.IOException;
import javax.servlet.FilterChain;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.springframework.web.filter.OncePerRequestFilter;
/**
* 
* 對進(jìn)來的url進(jìn)行處理,放在filter最前面,springmvc <url-pattern>/</url-pattern>
* 默認(rèn)攔截所有請求,ex:a/b/c.do,a/b/c.html,a/b/c.action,a/b/c
* 去掉帶后綴的訪問,模仿restful風(fēng)格,只接受a/b/c的請求
* 
*/
public class ServletRequestFilter extends OncePerRequestFilter {
@Override
protected void doFilterInternal(HttpServletRequest request,
HttpServletResponse response, FilterChain filterChain)
throws ServletException, IOException {
String requestPath = request.getServletPath();
//不用擔(dān)心會(huì)把靜態(tài)文件給攔截了,例如*.js,*.css類似于這樣的,在web.xml做處理了
//所有請求帶有后綴【.】的直接去404,不接受這樣的請求
if(requestPath.lastIndexOf(".")!=-1){
request.getRequestDispatcher("/WEB-INF/pages/error/404.jsp").forward(request, response);
}else{
filterChain.doFilter(request, response);
}
}
}

帶有.結(jié)尾的直接go 404,哈哈,也許你會(huì)問要是這樣靜態(tài)文件不是也會(huì)被過濾掉了嗎?類似于*.js,*.css,.....N多這樣類型的文件

相關(guān)文章

  • 非maven項(xiàng)目快速轉(zhuǎn)換為maven項(xiàng)目的方法步驟

    非maven項(xiàng)目快速轉(zhuǎn)換為maven項(xiàng)目的方法步驟

    時(shí)候我們導(dǎo)入的項(xiàng)目并不是有maven來管理依賴的,而是要手動(dòng)添加jar包,比較麻煩,本文主要介紹了非maven項(xiàng)目快速轉(zhuǎn)換為maven項(xiàng)目的方法步驟,具有一定的參考價(jià)值,感興趣的可以了解一下
    2024-01-01
  • Spring注解驅(qū)動(dòng)之BeanPostProcessor后置處理器講解

    Spring注解驅(qū)動(dòng)之BeanPostProcessor后置處理器講解

    這篇文章主要介紹了Spring注解驅(qū)動(dòng)之BeanPostProcessor后置處理器講解,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-09-09
  • Java之Rsync并發(fā)遷移數(shù)據(jù)并校驗(yàn)詳解

    Java之Rsync并發(fā)遷移數(shù)據(jù)并校驗(yàn)詳解

    這篇文章主要介紹了Java之Rsync并發(fā)遷移數(shù)據(jù)并校驗(yàn)詳解,本篇文章通過簡要的案例,講解了該項(xiàng)技術(shù)的了解與使用,以下就是詳細(xì)內(nèi)容,需要的朋友可以參考下
    2021-08-08
  • 最新評論

    SHOW| 蓬安县| 清流县| 修水县| 新民市| 磴口县| 苍溪县| 祥云县| 郓城县| 樟树市| 门头沟区| 大同市| 三穗县| 安岳县| 包头市| 石屏县| 汽车| 江北区| 通城县| 固阳县| 东安县| 黄冈市| 平阳县| 综艺| 永靖县| 靖江市| 合肥市| 新宾| 富源县| 哈尔滨市| 万全县| 甘洛县| 将乐县| 铁岭县| 湘潭县| 绥芬河市| 清河县| 荥经县| 定结县| 沅陵县| 尉犁县|