您的位置:首页 > 编程语言 > Java开发

springmvc 常见问题

2015-08-10 14:02 316 查看
当然了,如果仅仅是用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 这种前台错误

 

 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: