【SpringMVC】指明actions的后缀

来源:互联网 发布:javlib最新域名2017 编辑:程序博客网 时间:2024/06/11 07:50

SpringMVC的actions的后缀在web.xml中与org.springframework.web.servlet.DispatcherServlet匹配的<servlet-mapping>节点下的<url-pattern>中设置,如下图所示:


比如上述web.xml:

<?xml version="1.0" encoding="UTF-8"?><web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xmlns="http://java.sun.com/xml/ns/javaee"xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"version="3.0"><servlet><servlet-name>SpringMVC</servlet-name><servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class></servlet><servlet-mapping><servlet-name>SpringMVC</servlet-name><url-pattern>/</url-pattern></servlet-mapping></web-app>

在<url-pattern>节点的值是/,那action是无后缀的,如下图所示:


如果我要搞一个伪静态,如同《【Javaweb】利用urlRewrite插件实现网站的伪静态与aspx,jsp,php三版齐发的邪门歪道》(点击打开链接)那套,也就是觉得我的javaee工程,充斥着大量无后缀的action链接太low了,我需要在后面加个.html的话,你就直接将<url-pattern>节点的值从/改成*.html就行了,也就是web.xml变成这样:

<?xml version="1.0" encoding="UTF-8"?><web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xmlns="http://java.sun.com/xml/ns/javaee"xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"version="3.0"><servlet><servlet-name>SpringMVC</servlet-name><servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class></servlet><servlet-mapping><servlet-name>SpringMVC</servlet-name><url-pattern>*.html</url-pattern></servlet-mapping></web-app>

这时,你会发现http://localhost:8080/SpringMVCHelloworld/hello已经不复存在了:


必须http://localhost:8080/SpringMVCHelloworld/hello.html才能访问了!


这时候,你的javaee好像所有页面都是静态页面.html一样,当然你闲着无聊改成*.php,*.aspx或者*.gif、*.jpg、*.png,甚至*.mp3都可以。偷笑当然,没事别这样玩,因为可能会与你javaee网页工程里的真mp3文件冲突,导致音乐读取不正常。这里改成*.html的原因是因为,很少在javaee直接写*.html,再静态的页面都习惯性写*.jsp了!


不过有点值得肯定的是,SpringMVC已经完美集成urlrewritefilter-4.0.3.jar的功能了,无须自己又找个urlrewritefilter-4.0.3.jar来用!

原创粉丝点击