springmvc 常见问题
2015-08-10 14:02
323 查看
当然了,如果仅仅是用springmvc 玩玩helloworld 是没有什么问题的. 说说我在搭建springmvc+spring+mybatis+easyui+uploaify的时候遇到的问题吧.
1 . 最开始springmvc+spring+mybatis的时候很顺利,但是在引入easyui的时候就出现问题了, 出现了什么原因呢,是因为我springmvc引入拦截器了,而在easyui加载的时候,是静态资源,springmvc很蠢的认为每一个静态资源都是一个请求,所以各种报错,在仔细阅读了log4j之后,便改正了,来 springmvc.xml配置文件就知道了,只要加入解析静态资源文件的配置就可以解决这个问题:
<!--解析静态资源文件-->
<mvc:resources location="/admin/" mapping="/admin/**" />
<mvc:resources location="/css/" mapping="/css/**" />
<mvc:resources location="/data/" mapping="/data/**" />
<mvc:resources location="/images/" mapping="/images/**" />
<mvc:resources location="/js/" mapping="/js/**" />
<mvc:resources location="/lib/" mapping="/lib/**" />
<mvc:resources location="/news/" mapping="/news/**" />
<mvc:resources location="/pages/" mapping="/pages/**" />
<mvc:resources location="/*.html" mapping="/*.html" />
2. 现在静态资源文件问题解决了,又遇见个新问题,401,404,405
http状态码 以4开头的无非就是前台错误,401我设置的是没有权限,后来我纳闷怎么回有401 ,看了半天,原来是检查session的请求被我拦截器拦截了,后来加上这一段配置就好了
看看:exclude掉就可以 这里的map不仅限于url 也可以是类似 struts2中的action
<mvc:interceptor>
<mvc:mapping path="/post/**"/>
<mvc:exclude-mapping path="/post/memberLogin"/> <!-- 用户登录 -->
<mvc:exclude-mapping path="/post/getMemberSession"/><!-- 获取session -->
<mvc:exclude-mapping path="/post/checkMember"/> <!-- 检查用户名是否存在 -->
<mvc:exclude-mapping path="/post/processUpload"/> <!-- 不拦截 上传图片 -->
<bean class="com.interceptor.MemberSessionCheckInterceptor"/>
</mvc:interceptor>
401搞定了,那么404是怎么回事?是你的controller以requestMapping不匹配,自己仔细找吧。。。至于405错误,是我在整合uploaify的时候出现的错误,由于项目文件路径 有点复杂,我脑子就晕了,然后路径就写错了,前台报405.后台报 "POST NOT SUPPORT" 这个错误,后来找到错误了,归根结底就是我的请求路径写错了
3.总的来说springmvc很好用,但是前提是写好配置,配置不要写的太乱,否则后期会出现各种莫名其妙的问题,也不易维护,请求路径也要写的正确,否则,springmvc可能会报405 404 这种前台错误
1 . 最开始springmvc+spring+mybatis的时候很顺利,但是在引入easyui的时候就出现问题了, 出现了什么原因呢,是因为我springmvc引入拦截器了,而在easyui加载的时候,是静态资源,springmvc很蠢的认为每一个静态资源都是一个请求,所以各种报错,在仔细阅读了log4j之后,便改正了,来 springmvc.xml配置文件就知道了,只要加入解析静态资源文件的配置就可以解决这个问题:
<!--解析静态资源文件-->
<mvc:resources location="/admin/" mapping="/admin/**" />
<mvc:resources location="/css/" mapping="/css/**" />
<mvc:resources location="/data/" mapping="/data/**" />
<mvc:resources location="/images/" mapping="/images/**" />
<mvc:resources location="/js/" mapping="/js/**" />
<mvc:resources location="/lib/" mapping="/lib/**" />
<mvc:resources location="/news/" mapping="/news/**" />
<mvc:resources location="/pages/" mapping="/pages/**" />
<mvc:resources location="/*.html" mapping="/*.html" />
2. 现在静态资源文件问题解决了,又遇见个新问题,401,404,405
http状态码 以4开头的无非就是前台错误,401我设置的是没有权限,后来我纳闷怎么回有401 ,看了半天,原来是检查session的请求被我拦截器拦截了,后来加上这一段配置就好了
看看:exclude掉就可以 这里的map不仅限于url 也可以是类似 struts2中的action
<mvc:interceptor>
<mvc:mapping path="/post/**"/>
<mvc:exclude-mapping path="/post/memberLogin"/> <!-- 用户登录 -->
<mvc:exclude-mapping path="/post/getMemberSession"/><!-- 获取session -->
<mvc:exclude-mapping path="/post/checkMember"/> <!-- 检查用户名是否存在 -->
<mvc:exclude-mapping path="/post/processUpload"/> <!-- 不拦截 上传图片 -->
<bean class="com.interceptor.MemberSessionCheckInterceptor"/>
</mvc:interceptor>
401搞定了,那么404是怎么回事?是你的controller以requestMapping不匹配,自己仔细找吧。。。至于405错误,是我在整合uploaify的时候出现的错误,由于项目文件路径 有点复杂,我脑子就晕了,然后路径就写错了,前台报405.后台报 "POST NOT SUPPORT" 这个错误,后来找到错误了,归根结底就是我的请求路径写错了
3.总的来说springmvc很好用,但是前提是写好配置,配置不要写的太乱,否则后期会出现各种莫名其妙的问题,也不易维护,请求路径也要写的正确,否则,springmvc可能会报405 404 这种前台错误
相关文章推荐
- java中使用sax解析xml的解决方法
- Java ActiveMQ 讲解(二)Spring ActiveMQ整合+注解消息监听
- springmvc配置
- java序列化与反序列化的区别
- Eclipse实用快捷键大全
- java容器类---LinkedHashMap、LinkedHashSet
- java的递归实现原理
- Java调用系统默认程序打开本地文件
- 【Java设计模式】· 调停者模式(Mediator Pattern)
- eclipse 插件relo使用
- 向eclipse中导入myeclipse项目
- eclipse下使用动态库、静态库相应的配置
- 使用Android design support library在Eclipse和Android Studio
- Java获取资源路径
- java-为什么配置环境变量
- Java 堆排序 Top K
- 如何调节Eclipse下console输出字体的大小
- Java 二分法查找
- Java 快速排序 快排
- java计算当前周开始日期&结束日期