类添加注解@RequestMapping报错HTTP Status 404的解决

目录
  • 类添加注解@RequestMapping报错HTTP Status 404
  • springMVC使用@RequestMapping遇到的问题
    • 1.简介
    • 2.属性简介
    • 3.测试使用时遇到的问题
      • 解决后的源码是

类添加注解@RequestMapping报错HTTP Status 404

为类添加了@RequestMapping注解后,运行报错404,路径不对,找了半天才发现原来是我的视图解析器的前缀没有写正确

在WEB-INF前面少加了一个/,加上之后运行ok

springMVC使用@RequestMapping遇到的问题

1.简介

@RequestMapping既可以定义Controller,也可以定义方法Controller中的方法,主要是用来映射url的请求路径

2.属性简介

  • value:指定请求的实际地址,指定的地址可以是URI Template 模式(后面将会说明);
  • method:指定请求的method类型, GET、POST、PUT、DELETE等;
  • consumes:指定处理请求的提交内容类型(Content-Type),例如application/json, text/html;
  • produces:指定返回的内容类型,仅当request请求头中的(Accept)类型中包含该指定类型才返回
  • params:指定request中必须包含某些参数值是,才让该方法处理。
  • headers:指定request中必须包含某些指定的header值,才能让该方法处理请求。

3.测试使用时遇到的问题

先看源代码:

@RequestMapping(value="/api/{wayName}")
 public void getData(@PathVariable String wayName,@RequestParam("appkey") int appkey,
   @RequestParam("type") int type){
  System.out.println("wayName:"+wayName+"--appkey:"+appkey+"--type:"+type);
 }

 @RequestMapping(value="/test")
 public void test(){
  System.out.println("test----------commmin");
 }

访问/api/test时报HTTP Status 404 -错误,访问/test时也会报 HTTP Status 404 -错误

有时会报Circular view path [list]: would dispatch back to the current handler URL [/list] again错误

在网上查了资料,了解到每个controller在初始化,如果你没有声明viewResolver,spring会注册一个默认的viewResolver给controlller,这个viewResolver本人简单的理解就是一个呈现处理结果到前端的工具,如果你视图的路径和请求路径一样,就会出现死循环。

或者你如果在你的方法中没有返回数据到前端,这两个错误都有可能会出现。

所以最终的解决方法就是返回数据到前端

解决后的源码是

@RequestMapping(value="/api/{wayName}")
 @ResponseBody
 public String getData(@PathVariable String wayName,@RequestParam("appkey") String appkey,
   @RequestParam("type") String type){
  return "wayName:"+wayName+"--appkey:"+appkey+"--type:"+type;
 }

 @RequestMapping(value="/test")
 public void test(HttpServletRequest request,HttpServletResponse response) throws IOException{
  response.getWriter().print("Hello World");
 }

其中@ResponseBody是表示返回的数据输出到输出流中。

以上为个人经验,希望能给大家一个参考,也希望大家多多支持我们。

(0)

相关推荐

  • Springmvc RequestMapping请求实现方法解析

    请求url 标记请求URl很简单,只需要在相应的方法上添加注解即可: @Controller public class HelloController { @RequestMapping("/hello") public ModelAndView hello() { return new ModelAndView("hello"); } } 这里 @RequestMapping("/hello") 表示当请求地址为 /hello 的时候,这个方法

  • Java工具类之@RequestMapping注解

    一.前言 问题阐述:在某一场景下,我们的代码在 Service 实现相同,但却在 Controller 层访问时却希望不同的前缀可以访问.如下 :/say/hello.我们这里希望在不借助任何外部服务的情况下 通过 /a/say/hello 和 /b/say/hello 都可以访问到该接口,同时不想在 Controller 中写两个方法. @RestController @RequestMapping("say") public class SayController { @Autow

  • Spring MVC之@RequestMapping注解详解

    引言: 前段时间项目中用到了REST风格来开发程序,但是当用POST.PUT模式提交数据时,发现服务器端接受不到提交的数据(服务器端参数绑定没有加任何注解),查看了提交方式为application/json, 而且服务器端通过request.getReader() 打出的数据里确实存在浏览器提交的数据.为了找出原因,便对参数绑定(@RequestParam. @RequestBody. @RequestHeader . @PathVariable)进行了研究,同时也看了一下HttpMessage

  • Spring MVC温故而知新系列教程之请求映射RequestMapping注解

    RequestMapping注解说明 @RequestMapping注解的作用将Web请求映射到特定处理程序类和/或处理程序方法,这个注解可以用于类或者方法上,并通过属性value指定请求路径.用在Controller类上表示提供初步的URL请求映射信息,相对于Web应用的根目录,这是一个前置请求路径.用在Controller中方法上,表示提供详细的URL映射.如果Controller类上没有加RequestMapping注解,则方法上注解标记的URL则是相对于Web应用的根目录. @Reque

  • 类添加注解@RequestMapping报错HTTP Status 404的解决

    目录 类添加注解@RequestMapping报错HTTP Status 404 springMVC使用@RequestMapping遇到的问题 1.简介 2.属性简介 3.测试使用时遇到的问题 解决后的源码是 类添加注解@RequestMapping报错HTTP Status 404 为类添加了@RequestMapping注解后,运行报错404,路径不对,找了半天才发现原来是我的视图解析器的前缀没有写正确 在WEB-INF前面少加了一个/,加上之后运行ok springMVC使用@Reque

  • Javaweb工程运行报错HTTP Status 404解决办法

    最近在学习jsp和servlet,避免不了的要和tomcat打交道,但tomcat经常会出现各式各样的错误,下面是我总结的一些常见的解决方法,希望对大家有用. 1.未部署Web应用 2.URL输入错误 排错方法:首先,查看URL的IP地址和端口号是否书写正确.              其次,查看上下文路径是否正确 Project--------Properties------MyElipse-----Web-----Web Context-root检查这个路径名称是否书写正确.       

  • 导入maven项目各个注解均报错的解决方案

    目录 导入maven项目各个注解均报错 所遇问题 解决方案 新导入maven项目注解爆红,所有依赖包无法导入 经过反复测试终于发现原因所在!!! 解决步骤如下 导入maven项目各个注解均报错 所遇问题 导入maven项目各个注解均报错了 思考1: 这个项目使用了springboot;spring是个"大容器",所有对象的创建和管理都交给了它, (SpringBoot是一个框架,一种全新的编程规范,他的产生简化了框架的使用,所谓简化是指简化了Spring众多框架中所需的大量且繁琐的配置

  • Gradle build 报错:Received status code 400 from server

    全部错误是这样的: Could not GET 'https://dl.google.com/dl/android/maven2/com/android/tools/build/gradle/3.1.2/gradle-3.1.2.pom'. Received status code 400 from server: Bad Request. 遇到这个错了以后,我先后做了以下尝试: 手动下载确认链接无误. 查询400 code,意思大概是客户端请求语法问题或者参数有问题.这样就很有可能是代理出问题

  • 解决vue props传Array/Object类型值,子组件报错的情况

    问题: Props with type Object/Array must use a factory function to return the default value. 1.在vue中如果当在父组件通过props传Array/Object类型值给子组件的时候 2.如果子组件的props接收default为 ,如下 报错 原因:props default 数组/对象的默认值应当由一个工厂函数返回 解决: 补充知识:vue的props如何传多个参数 vue父作用域将数据传到子组件通过pro

  • 微信二次分享报错invalid signature问题及解决方法

    基于微信公众号开发的h5页面(使用jssdk接口),由用户A分享给用户B,用户B再次分享这个页面时,不能成功分享.问题出在用户B收到的分享链接与用户A打开的链接不同 A用户的链接为 http://test.com/test.html B用户收到的连接 http://test.com/test.html&from=singlemessage from=singlemessage是微信客户端为了区分分享来源再链接后自动添加的标记,再次分享时,需要在js代码中对自动获取的连接进行encodeURICo

  • VUE 项目在IE11白屏报错 SCRIPT1002: 语法错误的解决

    问题现象 项目使用vue/cli3脚手架搭建的前端项目,vue版本为2.6.10. browserslist的配置如下: [ "> 1%", "last 2 versions"] 但开发环境的IE11打开显示白屏,F12打开显示: 分析过程 5306行显示 "./node_modules/_debug@4.1.1@debug/src/browser.js"这个路径报错,由于eval()包含的代码中有ES6的语法,IE不支持,查了网上很多资料

  • 关于获取DIV内部内容报错的原因分析及解决办法

    1.错误描述 2.错误原因 由于向div中添加元素,利用append(); $("#divStyle").append("<div><label>_data[i].name</label></div>"); append里面是动态数据,当请求数据为空时,获取并判断div中的内容: var divContent = $("#divStyle").html(); if(divContent == nul

  • 安装python时MySQLdb报错的问题描述及解决方法

    问题描述: windows安装python mysqldb时报错python version 2.7 required,which was not found in the registry 网上很多方案,比如方案一: Python3.x时, from _winreg import *  改为 from winreg import * 去掉下划线 import sys from _winreg import * # tweak as necessary version = sys.version

  • Vue3格式化Volar报错的原因分析与解决

    目录 问题描述 原因分析: 解决方案: 总结 问题描述 今天在新建一个Vue3项目的时候,vscode突然提示报错,如下: The 1 extension(s) below, in workspace recommendations have issues: johnsoncodehk.volar (not found in marketplace) 原因分析: 百度了一下,网上并没有任何类似的例子和结局方案 首先根据英语提示,翻译报错原因是因为 工作区推荐的 johnsoncodehk.vol

随机推荐