我的编程空间,编程开发者的网络收藏夹
学习永远不晚

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

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

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

类添加注解@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是表示返回的数据输出到输出流中。

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

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

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

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

java枚举类添加属性报错如何解决

在Java中的枚举类是不能直接添加属性的,因为枚举常量是有限且预定义的,不支持实例化和自定义属性。不过,可以通过在枚举常量中定义属性值来达到类似的效果。以下是解决方法:1. 在枚举常量中定义属性值:```javapublic enum My
2023-10-12

Java web访问http://localhost:8080/xx/xx.jsp报404错误问题的解决方法

这篇文章主要给大家介绍了关于Java web访问http://localhost:8080/xx/xx.jsp报404错误问题的解决方法,很多小伙伴在刚开始用Springboot整合jsp开发时都会遇到这个问题,按照别人的教程一步一步搭建,但就是会报404,文中介绍的非常详细,需要的朋友可以参考下
2023-05-17

Win10添加语言包报错“0x800F0950”的解决办法是什么

Win10添加语言包报错“0x800F0950”的解决办法是什么,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。在win10系统中,我们可以根据自己的需求和喜欢,添加语言包。不过
2023-06-28

织梦DedeCMS添加变量报错Request var not allow!的解决办法

论坛上很多人都反馈说在后台添加新变量的时候会出现编程客栈 "Request var not allow!" 的BUG错误,本文主要就是介绍如何去解决这个问题!下面看具体操纵:在DEDE根目录打开 include/common.inc.php
2022-06-12

如何解决mybatis-generator生成器添加类注释方法无效的问题

本篇内容主要讲解“如何解决mybatis-generator生成器添加类注释方法无效的问题”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“如何解决mybatis-generator生成器添加类注释
2023-06-20

java报错:无法加载主类的原因及解决方法

源程序:public class Demo{ public static void main(String args[]){ System.out.println("HelloWorld"); }}通常情况下,在用本机进行编译运行ja
java报错:无法加载主类的原因及解决方法
2015-10-25

java报错:找不到或无法加载主类的解决方法简单粗暴

本文主要介绍了java报错:找不到或无法加载主类的解决方法简单粗暴,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
2023-01-16

编程热搜

  • Python 学习之路 - Python
    一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
    Python 学习之路 - Python
  • chatgpt的中文全称是什么
    chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
    chatgpt的中文全称是什么
  • C/C++中extern函数使用详解
  • C/C++可变参数的使用
    可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
    C/C++可变参数的使用
  • css样式文件该放在哪里
  • php中数组下标必须是连续的吗
  • Python 3 教程
    Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
    Python 3 教程
  • Python pip包管理
    一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
    Python pip包管理
  • ubuntu如何重新编译内核
  • 改善Java代码之慎用java动态编译

目录