当前位置: 首页 > 知识库问答 >
问题:

Spring MVC-@PathVariable-未能找到资源

太叔凌龙
2023-03-14
    @Controller
    @RequestMapping(value = {"/", "/login"})
    public class HelloWorldController {

        @RequestMapping(method = RequestMethod.GET)
        public String helloWorld(final Model model) {
            model.addAttribute("message", "Hello World!");
            System.out.println("hello world");
            return "jsp/login.jsp";
        }

        @RequestMapping(value = "/{id}", method = RequestMethod.GET)
        public String getLoginId(@PathVariable final int id, final Model model) {
            model.addAttribute("message", "Hello World!");
            System.out.println("hello world 2" + id);
            return "jsp/login.jsp";
        }
    }

但是,当url更改为http://localhost:9080/examplespring/login/9时,我将得到以下错误和java.io.fileNotFoundException:JSPG0036E:find resource/login/jsp/login.jsp失败

谁能告诉我这背后的原因吗?

共有1个答案

王才
2023-03-14

实际上,我想这可能是一个原因和解决办法…我想对于前一种情况。http://localhost:9080/examplespring/login情况下,它试图在WEB-INF内的上下文根之后查找资源。但是在后面的情况下,当它被称为第二个/after/login时,它试图在WEB-INF/login文件夹中查找实际上不存在的资源,因此出现了错误。

Soulution可以使用“../jsp/login.jsp”,这将强制从上下文根检查资源。任何长的请求字符串u可以传递这将确保从上下文根搜索资源。可能就是为了避免这种混乱,spring提出了视图解析器。如果我错了请指正。

谢谢大家。

 类似资料:
  • 现在的问题是,当我访问静态资源时,例如: 它会映射那个控制器,但我不想这样,我如何解决冲突?

  • 方法:获取 现状:404 注意:URL应该是http://localhost:8080/dragonline/resources/img/icon.png()

  • 我正在libs文件夹中使用Android-support-v7-appcompat.jar lib 我的目标是使我的应用程序兼容2.3或以上

  • 我想创建一个Spring MVC项目。当我在tomcat localhost上使用运行配置(http://localhost:8080/springmvc/hello或http://localhost:8080/springmvc或http://localhost:8080/hello)运行项目时,我得到了以下错误: HTTP状态404-未找到 类型状态报告 消息请求的资源[/SpringMVC]

  • 当我将Android Studio更新到最新版本后,我试图构建我的项目时,我遇到了这个错误。我得到以下错误: C:\users\yacn.gradle\caches\transforms-2\files-2.1\5502c0022567bdcff063e0fb4352b137\folioReader-0.3.3\res\layout\progress_dialog.xml:10:aapt:错误:资

  • 我是Spring MVC的新手。在尝试基本程序时,我面临404错误页面。 Web.xml myDemoApp servletConfid。xml 控制器类 JSP页面 使用的URL: http://localhost/8050/springMVCDemo/getQuote.html 文件夹结构:[在此输入图像描述][1] 请告诉我这个错误的解决方法。

  • 任务:创建一个按揭计算器应用程序,允许用户输入一个购买价格,首付金额和一个利率。基于这些值,应用程序应该计算贷款金额,并显示每月支付的10年、20年和30年贷款。允许用户使用搜索栏选择自定义贷款期限(以年为单位),并显示该自定义贷款期限的月付款。 我只是有数字被划分为一个开始,并没有执行利息。目前,它只是被输入和存储的东西。但这不是问题所在。当我试图更改第一个编辑文本时会出现此错误消息。 这是密码

  • 我正在使用Spring Boot gradle插件构建一个可执行的war。我有一个好消息来源。src/main/resources中的java类来定位文件: 当我执行gradle构建时,我得到一个错误,即类FindResource无法解析。我是否需要Spring Boot gradle插件,它还应该使用resources目录中的类。我该怎么做? 我的身材。gradle如下所示: