Springmvc配置静态文件后,无法访问控制器

最近在学习easyui,需要后台返回json数据格式,后台采用Springmvc+mybatis+spring+mysql;由于easyui主要包含一些静态文件的调用,因此我首先采用的是在springmvc配置文件中加上静态文件的映射关系,

	<!-- 静态文件 -->
	<mvc:resources mapping="/css/**" location="/css/" />
	<mvc:resources mapping="/easyui/**" location="/easyui/" />
	<mvc:resources mapping="/js/**" location="/js/" /> 


但是,随后发现了很大的问题,静态页面可以显示,但是控制器失效了,无法处理请求并返回json数据了。


在网上查询了很多资料,发现解决静态文件访问的访问有很多,其中一种恰好可以实现静态文件和控制器同时生效。这种方式是启用Servlet的defaultServlet来处理静态文件,只需要在web.xml中加上上述配置即可。

<servlet-mapping>  
     	 <servlet-name>default</servlet-name>  
     	 <url-pattern>*.jpg</url-pattern>  
	 </servlet-mapping>  
	<servlet-mapping>  
	      <servlet-name>default</servlet-name>  
	      <url-pattern>*.js</url-pattern>  
	</servlet-mapping>  
	<servlet-mapping>  
	      <servlet-name>default</servlet-name>  
	      <url-pattern>*.css</url-pattern>  
</servlet-mapping>

<servlet-mapping>  
     	 <servlet-name>default</servlet-name>  
     	 <url-pattern>*.png</url-pattern>
    	 <url-pattern>*.js</url-pattern>
    	 <url-pattern>*.jpg</url-pattern>
    	 <url-pattern>*.css</url-pattern>
</servlet-mapping>



当然,springmvc中就不需要配置静态文件的映射了。


但是,我还是不懂为什么在springmvc中配置静态文件的映射之后,会出现控制器失效的情况???

解决方案:

<!-- 静态文件 -->
	<mvc:annotation-driven/> 
	<mvc:resources mapping="/css/**" location="/css/" />
	<mvc:resources mapping="/easyui/**" location="/easyui/" />
	<mvc:resources mapping="/js/**" location="/js/" />
	

加入一句<mvc:annotation-drivern/>就可以解决


另一种方法是在springmvc中加入

   <!-- 对静态资源文件的访问   -->  
    <mvc:default-servlet-handler/>  



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值