问题描述
我拿别人写好的项目在里面改,有一个很奇怪的问题,我在controller:@RequestMapping(params="method=login")publicStringlogin(intId,ModelMapmap){Taxpayert=taxpayerService.FindID(Id);map.put("message",t.getTAXPAYER_NAME());return"/../login";}
比如我把method=login改成method=logins(多加一个s),然后在运行就失败,改回来就运行正常……//查询@RequestMapping(params="method=select")publicStringselect(intId,ModelMapmap){Taxpayert=taxpayerService.FindID(1);map.put("message",t.getTAXPAYER_NAME());return"/../login";}//登录@RequestMapping(params="method=login")publicStringlogin(intId,ModelMapmap){Taxpayert=taxpayerService.FindID(Id);map.put("message",t.getTAXPAYER_NAME());return"/../login";}
上面的代码select不能运行而login却能正常运行……求大手解决……
解决方案
解决方案二:
求解决啊!
解决方案三:
params="method=login"指定的是http请求中包含名为method,值为login的请求才匹配当前方法
解决方案四:
关键你要把错误信息贴上来啊写法完全是可以的
解决方案五:
你把注解改了,另外一边的请求URL肯定也要改啊,一一对应的。
解决方案六:
所谓运行就失败怎么解释呢,把问题说明白
解决方案七:
//查询@RequestMapping(params="method=select")publicStringselect(intId,ModelMapmap){Taxpayert=taxpayerService.FindID(1);map.put("message",t.getTAXPAYER_NAME());return"/../login";}//登录@RequestMapping(params="method=login")publicStringlogin(intId,ModelMapmap){Taxpayert=taxpayerService.FindID(Id);map.put("message",t.getTAXPAYER_NAME());return"/../login";}
代码中params="method=login"表示在发送请求时,get或者post的参数中有method=login时才会调用login方法params="method=select"表示在发送请求时,get或者post的参数中有method=select时才会调用select方法如下url?method=login调用的是login方法url?method=select调用的是select方法
解决方案八:
当浏览器发送请求到服务器时,SpringMVC会对请求的URL及请求的参数进行解析,找到最匹配的@RequestMapping对该请求进行处理
解决方案九:
目测是拦截器配置问题,仔细看看配置文件。