在学习Springmvc时,使用Restful风格的url,页面提示404错误。为找到原因,编写一个简单的Restful测试用例如下:

jsp页面:

<a href="user/testRestful.do/1">测试restful</a>

对应的Java代码:

package com.mySSM.controller;

@Controller
@RequestMapping("/user")
public class UserLoginController {
	private static Logger logger=LoggerFactory.getLogger(UserLoginController.class);
	@RequestMapping("/testRestful.do/{id}")
	public String testRestful(@PathVariable("id") Integer id){
		System.out.println(id);
		return null;
	}
}

  但是依然提示404异常:The requested resource is not available.

  最终找到原因如下:

web.xml配置文件中使用dispatch配置如下:

    <servlet-mapping>
        <servlet-name>dispatcher</servlet-name>
        <url-pattern>*.do/url-pattern>
    </servlet-mapping>

当使用上述配置时,找到url对应的controller,Springmvc不认为url请求和@RequestMapping可以对应。

解决方法:

<url-pattern>*.do/url-pattern>改为拦截所有请求:/
问题根本原因待追踪,而且这也不是很好的解决方法,只是暂时解决了问题。

相关文章:

  • 2021-11-22
  • 2021-12-07
  • 2022-12-23
  • 2021-06-10
  • 2021-10-24
  • 2021-08-13
  • 2022-12-23
  • 2022-12-23
猜你喜欢
  • 2021-10-19
  • 2022-12-23
  • 2021-07-10
  • 2022-12-23
  • 2022-01-08
  • 2021-12-19
  • 2021-12-29
相关资源
相似解决方案