java_wxp 2013-04-18 16:20
浏览 513
已采纳

关于spring请求不到controller方法的回复:

看了回复后,大家最多想到的是路径写错了,没加项目名称,http://localhost:8089/项目名/user/login.do。关于这个问题,由于我在问题描述里没写清楚,结果让大伙走弯路了,我项目部署用的是虚拟路径,在/conf/Catalina/localhost/下,定义一个ROOT.xml配置文件,文件中路径配置为我的工程路径,如下:
<?xml version="1.0" encoding="UTF-8"?>
<Context path="/" docBase="E:/code/spring/WebContent" reloadable="false" />

 

这样tomcat在启动的时候扫描/conf/Catalina/localhost/ROOT.xml文件,会把ROOT.xml文件里配置的工程加载到tomcat中(和把项目发布到tomcat/webapps下不同,配置虚拟路径后,tomcat/webapps/下没有该工程的任何信息),这样在地址栏里就看不到我的项目名称了,直接输入http://localhost:8089/login.jsp就可以访问login.jsp页面了,这样直接导致的结果就是访问不到/user/login.do,

 

后来Dead_knight 说,他把配置文件修改了下后,成功了,我按照Dead_knight的配置,重新修改了我的配置文件后还是不行,既然Dead_knight那边成功了,那就应该和代码,配置无关了,我把项目换了种发布方式后,这次请求成功了,仔细看了下Dead_knight的配置文件,就是在DefaultAnnotationHandlerMapping中多了order=0的属性。

 

我想,既然是由于虚拟路径引起的问题,会不会是由于哪里没配置的原因呢,看了jinnianshilongnian的博客后,参考着试着配置了一下,在原来配置的基础上,加入了<mvc:resources mapping="/**" location="/" order="1"/>,直接访问http://localhost:8089/user/login.do,报404,而在login.jsp中点提交,报405,后

台打印org.springframework.web.servlet.PageNotFoundhandleHttpRequestMethodNotSupported
警告: Request method 'POST' not supported

 

不知道会不会是<mvc:resources mapping="/**" location="/" order="1"/>没配对的原因?

  • 写回答

1条回答 默认 最新

  • jinnianshilongnian 2013-04-18 16:35
    关注

    这个之前回复你了

    删掉

    spring3mvc
    *.jsp

    即可 因为你把jsp的又交给spring了 所以处理出现问题了

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 数学的三元一次方程求解
  • ¥20 iqoo11 如何下载安装工程模式
  • ¥15 本题的答案是不是有问题
  • ¥15 关于#r语言#的问题:(svydesign)为什么在一个大的数据集中抽取了一个小数据集
  • ¥15 C++使用Gunplot
  • ¥15 这个电路是如何实现路灯控制器的,原理是什么,怎么求解灯亮起后熄灭的时间如图?
  • ¥15 matlab数字图像处理频率域滤波
  • ¥15 在abaqus做了二维正交切削模型,给刀具添加了超声振动条件后输出切削力为什么比普通切削增大这么多
  • ¥15 ELGamal和paillier计算效率谁快?
  • ¥15 蓝桥杯单片机第十三届第一场,整点继电器吸合,5s后断开出现了问题