Rest风格(2)

本文记录了作者在使用SpringMVC框架过程中遇到的三个主要问题及其解决方案:服务器停止工作、404错误及页面跳转失败。通过调整web.xml配置、修正路径设置并更换Tomcat版本,最终成功解决问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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

1.服务器停止工作

在编写web.xml中的HiddenHttpMethodFilter过滤器时出现了错误,导致服务器无法正常启动,只要改正web.xml中的错误代码即可

2.404错误

终于服务器没问题之后,发现点击delete,put方法的按钮,都为404,查找发现是路径填写错误,导致的问题

3.最后终于没问题了后,发现页面如下:

210243_FfrE_3829307.png

程序已经执行了springmvc的方法,但是没有显示跳转的jsp界面,,,,

解决方法:将 Tomcat 8 改为 Tomcat 7,在Tomcat 7 下运行是正常的

https://blog.youkuaiyun.com/xth8013/article/details/65631670

在换服务器的时候,把8.0换成7.0可能会出现端口占用问题

解决方法:在服务器的conf文件夹下的service.xml修改相应端口

https://blog.youkuaiyun.com/zhangshufei8001/article/details/54728453

然后重启eclipse,记住重启呦

然后运行7.0就可以了

211446_bWh2_3829307.png

 

也有人用在方法前增加一个@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>

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

转载于:https://my.oschina.net/u/3829307/blog/1798094

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值