昨天的代码终于修好了,主要碰到了三个问题,依次是
1.服务器停止工作
在编写web.xml中的HiddenHttpMethodFilter过滤器时出现了错误,导致服务器无法正常启动,只要改正web.xml中的错误代码即可
2.404错误
终于服务器没问题之后,发现点击delete,put方法的按钮,都为404,查找发现是路径填写错误,导致的问题
3.最后终于没问题了后,发现页面如下:
程序已经执行了springmvc的方法,但是没有显示跳转的jsp界面,,,,
解决方法:将 Tomcat 8 改为 Tomcat 7,在Tomcat 7 下运行是正常的
https://blog.csdn.net/xth8013/article/details/65631670
在换服务器的时候,把8.0换成7.0可能会出现端口占用问题
解决方法:在服务器的conf文件夹下的service.xml修改相应端口
https://blog.csdn.net/zhangshufei8001/article/details/54728453
然后重启eclipse,记住重启呦
然后运行7.0就可以了
也有人用在方法前增加一个@ResponseBody注解解决了这个问题,我试了下,我的不可以,所以看似相同的问题还真的是其实不太一样吧,但是最后解决了就是一种经验的积累啦
相应代码:
index.jsp
获取用户信息
<br/>
<a href="springmvc/testGET/12">test get</a>
<br/>
新建用户信息
<br/>
<form method="post" action="springmvc/testPOST">
<input type="submit" value="POST">
</form>
<br/>
delete
<br/>
<form method="post" action="springmvc/testDELETE/12">
<input type="hidden" name="_method" value="DElETE">
<input type="submit" value="DElETE">
</form>
<br/>
put
<br/>
<form method="post" action="springmvc/testPUT/14">
<input type="hidden" name="_method" value="PUT">
<input type="submit" value="PUT">
</form>
helloworldhandler.java
@RequestMapping(value="/testGET/{id}",method=RequestMethod.GET)
public String testGET(@PathVariable("id") int id) {
//模拟操作
System.out.println("get方法实现"+id);
return "success";
}
@RequestMapping(value="/testPOST",method=RequestMethod.POST)
public String testPOST() {
//模拟操作
System.out.println("post方法实现");
return "success";
}
@RequestMapping(value="/testDELETE/{id}",method=RequestMethod.DELETE)
public String testDELETE(@PathVariable(value="id") int id) {
System.out.println("delete方法实现"+id);
return "success";
}
@RequestMapping(value="/testPUT/{id}",method=RequestMethod.PUT)
public String testPUT(@PathVariable(value="id") int id) {
System.out.println("put方法实现"+id);
return "success";
}
web.xml中的HiddenHttpMethodFilter方法
<filter>
<filter-name>hidden</filter-name>
<filter-class>org.springframework.web.filter.HiddenHttpMethodFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>hidden</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
嗯,可以接下来继续的学习啦啦啦