发现问题
在引用layui的时候发现layui样式不能够成功应用,以为是路径的问题,最终发现其实是配置中拦截了所有的斜杠 / 的请求,
<!-- spring mvc servlet -->
<servlet>
<description>spring mvc servlet</description>
<servlet-name>springMvc</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<init-param>
<description>spring mvc 配置文件</description>
<param-name>contextConfigLocation</param-name>
<param-value>classpath:spring-mvc.xml</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>springMvc</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping>
包括静态资源同样被拦截。
于是百度解决了这个问题,就是在springMVC的配置文件中加上一条:
解决问题
<!-- 解除servlet对静态资源文件访问的限制 -->
<mvc:default-servlet-handler />
发现问题
这样一来layui是成功引用了,但是又不能访问controller 里的@RequestMapping了,删了上面这行代码又是可以成功访问RequestMapping的,于是陷入了二者不可兼得的境地。
解决问题
最终搜索各种资源,得以解决:
在springMVC的配置文件中再加上一条:
<!-- 默认的注解映射 -->
<mvc:annotation-driven />
最终两者都可以成功访问了。
本文介绍了解决在Spring MVC框架下layui样式无法加载与控制器@RequestMapping无法访问的冲突问题。通过配置<mvc:default-servlet-handler/>和<mvc:annotation-driven/>实现静态资源正常加载同时保证控制器方法正常工作。
1969

被折叠的 条评论
为什么被折叠?



