SpringMVC指明actions的后缀

Posted yongh701

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了SpringMVC指明actions的后缀相关的知识,希望对你有一定的参考价值。

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来用!

以上是关于SpringMVC指明actions的后缀的主要内容,如果未能解决你的问题,请参考以下文章

SpringMVC的AJAX请求报406错误

springmvc之json交互406异常(Not Acceptable)和415异常(Unsupported Media Type)

各位侠客,form表单中action路径后面加“.do”是啥意思???

SpringMVC当中的Controller接口和Struts2当中的Action有啥区别

SpringMVC当中的Controller接口和Struts2当中的Action有啥区别

如何让springmvc 不拦截所有带后缀的url-CSDN论坛