一个为什么我配置好web.xml之前我是这样的

这可以说是让很多Springmvc初学者头疼的问题

所以我在web.xml中配置了dispatchservlet后,js、css甚至gif都不能正常显示

我们来看看我们配置的web.xml

	
		springmvc
		org.springframework.web.servlet.DispatcherServlet
		
			contextConfigLocation
			/WEB-INF/applicationContext.xml
		
		1
	
	
		springmvc
		/
	

我以前也是这样的,这是什么意思?

这里涉及到一个知识点,就是url-pattern中/的区别

这里我引用别人的原话

图片[1]-一个为什么我配置好web.xml之前我是这样的-老王博客

url-pattern有5种配置模式:
 
(1)/xxx:完全匹配/xxx的路径
 
(2)/xxx/*:匹配以/xxx开头的路径,请求中必须包含xxx。
 
(3)/*:匹配/下的所有路径,请求可以进入到action或controller,但是转发jsp时再次被拦截,不能访问jsp界面。
 
(4).xx:匹配以xx结尾的路径,所有请求必须以.xx结尾,但不会影响访问静态文件。
 
(5)/:默认模式,未被匹配的路径都将映射到刺servlet,对jpg,js,css等静态文件也将被拦截,不能访问。

因此,如果我们一开始就使用/方法引入js文件没有用,那么我们需要添加如下web.xml配置,让静态文件可以访问

	
		default
		*.css
	
 
	
		default
		*.gif
 
	
 
	
		default
		*.jpg
	
 
	
		default
		*.js
	

但实际上引入js文件没有用,简单的方法是我们不需要那么复杂。其实我们可以把所有需要springmvc dispatchservlet的地方都设置成.do,这样静态文件就可以继续访问了。

否则我们需要设置需要servlet-mapping的defaultServlet。

最后,我将介绍一种方法。这是来自互联网。我还没有尝试过。我先发一下

 

推荐一个java版的问答社区开源项目FlyCms:

© 版权声明
THE END
喜欢就支持一下吧
点赞0
分享
评论 抢沙发

请登录后发表评论