Spring的controller层中配置@RequestMapping(value = "/***.html")出现404Error

1人阅读 评论(0) 收藏 举报
分类:

小弟在controller层中,做了如下定义

@RestController
@RequestMapping("/userInfo")

public class UserInfoController {

 @RequestMapping(value = "/testAjax.html")
    @ResponseBody
    public String testAjax(HttpServletRequest request,
            HttpServletResponse response)
    {
        try
        {
            String param = URLDecoder
                    .decode(request.getParameter("param"), "utf-8").trim()
                    .toString();


            return "ajax请求成功:" + param;
        }
        catch (UnsupportedEncodingException e)
        {
            // TODO Auto-generated catch block
            e.printStackTrace();
            return "false";
        }
    }

}


然后使用http://localhost:8080/alan-springmvc-web/userInfo/testAjax.html,来访问该servlet,提示404Error.

代码没有问题,URL也没有错。后来仔细想想,应该是web.xml中配置有问题,因为responsebody里面的value对于的地址是以“.html”结尾的,所以该请求将被default servlet拦截,从而到相应的静态文件中区找名为testAjax.html的静态网页,但是这个网页其实并不存在,当然会报404Error咯。

如果不是在web.xml中配置了对相应静态文件请求拦截的朋友,也有可能是在Spring的配置文件中进行了如下配置,也可能导致servlet调用了默认的default servlet处理方式,使得配置在controller中的请求地址有被错误处理。关于mvc配置请看该链接:web.xml对静态资源的处理之spring配置

如:

  1. <mvc:default-servlet-handler/>    

或者

  1. <!-- 对静态资源文件的访问 -->      
  2. <mvc:resources mapping="/**/.html" location="/" />    


查看评论

springmvc之@Controller、@RequestMapping等注解讲解

springmvc中@Controller、@RequestMapping、@RequestParam、@RequestHeader 、@CookieValue 、@RequestBody注解的简单介...
  • zwz568017880
  • zwz568017880
  • 2015-07-12 16:10:56
  • 6964

获取RequestMapping所有的方法和路径|SpringMvc的Controller

  • 2016年05月16日 09:44
  • 3KB
  • 下载

ssm框架controller中如何写一个RequestMapping就可以让它自动跳到相对应的html

//各跳各的页面 [java] view plain copy @RequestMapping("{abc}") public String login(...
  • MF_Mofy
  • MF_Mofy
  • 2017-12-31 12:14:33
  • 308

SpringMVC中不能只使用@Controller而不用@RequestMapping

SpringMVC中不能只使用@Controller而不用@RequestMapping
  • gulanga5
  • gulanga5
  • 2017-06-04 11:59:39
  • 490

基于注解的Spring MVC(所需jar包,web.xml配置,Spring文件配置,@Controller,@RequestMapping,@RequestParam,model填参,EL取值)

1、添加jar 2、web.xml配置:  xmlns="http://java.sun.com/xml/ns/javaee"  xmlns:xsi="http://www.w3.org/20...
  • toto1297488504
  • toto1297488504
  • 2014-05-19 00:07:15
  • 3586

Spring注解@Controller @RequestMapping详解

一个简单的基于注解的 Controller      使用过低版本 Spring MVC 的读者都知道:当创建一个 Controller 时,我们需要直接或间接地实现org.springframew...
  • zhangrongchao_
  • zhangrongchao_
  • 2015-05-21 17:30:12
  • 3497

SpringBoot 中常用注解@Controller/@RestController/@RequestMapping介绍

SpringBoot 中常用注解@Controller/@RestController/@RequestMapping介绍@Controller 处理http请求@Controller //@Res...
  • u010412719
  • u010412719
  • 2017-04-08 18:42:36
  • 23188

springmvc中@RequestMapping 和 controller 小结

1      @RequestMapping n  url映射 定义controller方法对应的url,进行处理器映射使用。 为了对url进行url分类管理,在controller下定义跟路径...
  • u012373815
  • u012373815
  • 2015-07-31 16:42:00
  • 1580

springMVC教程(二)@RequestMapping的基本设置

1、 在类的上面注解@RequestMapping("/ex.do")意思为所有的ex.do请求全部进入该类处理。如上一章代码中编写@RequestMapping("/user.do").所有的use...
  • baidu_16702581
  • baidu_16702581
  • 2014-06-20 09:14:28
  • 2635

springMVC Controller 和 Service 通过@value 读取properties配置信息

(一)Controller 中 通过@value  读取properties配置信息 1、springmvc-servlet.xml 中配置: classpa...
  • cqnaqjy
  • cqnaqjy
  • 2016-07-06 09:34:28
  • 5583
    个人资料
    持之以恒
    等级:
    访问量: 3997
    积分: 229
    排名: 33万+
    文章存档