Rest风格(2)

昨天的代码终于修好了,主要碰到了三个问题,依次是

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>

嗯,可以接下来继续的学习啦啦啦

猜你喜欢

转载自my.oschina.net/u/3829307/blog/1798094