springmvc——万事开头难

来源:互联网 发布:h3c防火墙web配置 端口 编辑:程序博客网 时间:2024/03/29 06:03

springMVC差不多折腾了两天的时间,因为两个星期前开始学习jsp,一个星期前开始学习servlet,当初配置servlet也是折腾了很久,配置文件翻来覆去的检查了千千万万遍也没有看出来到底是什么问题,最后才发现其实就是版本不匹配,解决了一个拦路虎之后开心之余还有一种日了狗的难以言表之情。

万万没想到,这次接触spring竟然与上次的servlet有异曲同工之妙。从web.xm,到sprinmvc.xml,再到applicationContext.xml,也是检查了无数遍,也看了无数篇网上的经验,博客,各种可能有用的方法统统试一遍,当然在尝试的过程中也遇到了各种各样的问题。比如No mapping found for HTTP request with URI,在springmvc配置文件里加上一句<mvc:default-servlet-handler/>就可以了,但是这样就又出现一个问题,action这种动态资源就访问不了了,然后再在刚才的配置文件里加一句<mvc:annotation-driven />,诸如此类的问题,层出不穷。后来师兄给了一个配置好的spring的demo,而且相当简单,只有两个jsp页面,但是Java代码里的action,service,dao,bean,还有springJDBC的配置都应有尽有,于是我对照着看了一下配置文件,没!有!任!何!问!题!

于是我不再关注配置文件,我开始将重点转移到action方法,在@requestmapping注解方法的第一句写了一句输出,执行工程以后发现我用ajax请求数据,发现控制台啥都没输出,也就是说确实连方法都没进去。但是又实实在在不是配置文件的问题。那只能是路径问题。

在我不懈的努(百)力(度)之下,终于发现了一个疑似解决方法,试了一下,果然如此。就是因为@requestmapping里设置的那个value值,一般都是/test.do这种,所以我也直接这么写的,以为就是随便命名,只要请求地址的时候对上就行了。原来根本不是这么回事儿,你在jsp页面里请求test.do,只能请求到和这个jsp页面同一目录下的对应action,如果这个action不在同一目录下,那么@requestmapping的value值,就必须设置为<jsp页面所在目录/test.do>,这样才能直接用test.do的URL请求到。

可能在别人看来这是一个不该犯的错误,但是它真的用了我差不多两天的时间。。。

不过还是上次那句话,也不是说就没有收获,经过这么两天的排查错误,我把spring配置文件也算是了解的差不多了。。。

No mapping found for HTTP request with URI

 No mapping found for HTTP request with URI

 No mapping found for HTTP request with URI

原创粉丝点击