• spring boot1.5 jsp页面找不到


    关注 码龄 粉丝数 原力等级 -- 被采纳 被点赞 采纳率 小杨小杨,努力变强 2024-04-15 11:26 采纳率: 40% 浏览 2 首页/ 后端 / spring boot1.5 jsp页面找不到 spring bootmvc spring boot版本v1.5.12.RELEASE配置文件 spring: thymeleaf: enabled: false mvc: view: prefix: /WEB-INF/center/ suffix: .jsp server: servlet-path: '*.action' 执行能进入controller中返回页面时错误错误页面 收起 写回答 好问题 0 提建议 追加酬金 关注问题 微信扫一扫 点击复制链接 分享 邀请回答 编辑 收藏 删除 结题 收藏 举报 追加酬金 (90%的用户在追加酬金后获得了解决方案) 当前问题酬金 ¥ 0 (可追加 ¥500) ¥ 15¥ 20¥ 50¥ 100¥ 200 支付方式 扫码支付 二维码出错 点击刷新 支付金额 15 元 提供问题酬金的用户不参与问题酬金结算和分配 支付即为同意 《付费问题酬金结算规则》 结题 再想想 删除 再等等

    5条回答 默认 最新

    • 专家-赤兔[在线] 全栈领域优质创作者 2024-04-15 11:27
      关注

      引自免费微信小程序:皆我百晓生

      根据您提供的信息,看起来您正在尝试在Spring Boot 1.5版本中使用JSP作为视图技术,但是遇到了404错误。以下是解决这个问题的步骤:

      首先,确保您的项目结构是正确的。对于传统的Spring MVC项目,JSP文件应该放在src/main/webapp/WEB-INF/jsp目录下(而不是像您所示的src/main/resources)。然后,您可以将JSP的前缀设置为/jsp,而不是/WEB-INF/center/

      下面是调整后的项目结构示例:

      .
      ├── src
      │   ├── main
      │   │   ├── java
      │   │   │   └── com
      │   │   │       └── example
      │   │   │           ├── controller
      │   │   │           │   ├── TestController.java
      │   │   │           │   └── UsersController.java
      │   │   ├── resources
      │   │   │   ├── application.properties
      │   │   │   ├── application.yaml
      │   │   │   ├── log4j.properties
      │   │   ├── webapp
      │   │   │   ├── WEB-INF
      │   │   │   │   ├── jsp
      │   │   │   │   │   ├── hello.jsp
      │   │   │   │   │   ├── login.jsp
      │   │   │   │   │   └── center.jsp
      │   │   │   ├── static
      │   │   │   │   ├── css
      │   │   │   │   ├── js
      │   │   │   │   └── img
      │   │   │   └──WEB-INF
      │   │   │       └── web.xml
      │   ├── test
      │   └── video_mapper
      └── target
          └── ...
      

      接下来,在application.propertiesapplication.yaml中,更新视图配置为:

      spring.mvc.view.prefix=/jsp/
      spring.mvc.view.suffix=.jsp
      

      由于Spring Boot 1.5不支持.action的URL模式,您需要在控制器方法上使用@RequestMapping(value = "/center")而不是@RequestMapping(value = "/center.action")

      这里是修改后的TestController类:

      package com.example.controller;
      
      import org.springframework.web.bind.annotation.RequestMapping;
      import org.springframework.web.bind.annotation.RestController;
      
      @RestController
      public class TestController {
      
          @RequestMapping("/hello")
          public String toHello() {
              System.out.println("/hello running...");
              return "hello";
          }
      
          @RequestMapping("/login")
          public String toLogin() {
              System.out.println("Login page loading...");
              return "login";
          }
      
          @RequestMapping("/center")
          public String toCenter() {
              System.out.println("Center page loading...");
              return "center";
          }
      }
      

      最后,确认一下您的web.xml文件是否正确配置了DispatcherServlet。如果没有,添加以下内容到web.xml

      
      
      
          
              dispatcher
              org.springframework.web.servlet.DispatcherServlet
              
                  contextConfigLocation
                  /WEB-INF/spring/appServlet/servlet-context.xml
              
              1
          
      
          
              dispatcher
              /
          
      
      
      

      注意替换servlet-context.xml为实际的Spring MVC配置文件路径,如果使用Java配置则不需要这个文件。

      按照这些步骤进行更改后,重新启动应用并访问以下URL:

      • /hello: 显示hello.jsp
      • /login: 显示login.jsp
      • /center: 显示center.jsp

      这样,你应该可以正常地看到JSP页面了。如果还有问题,请检查Tomcat服务器的日志输出,以获取更详细的错误信息。

      展开全部

      评论 编辑记录
    • GISer Liu 2024-04-15 11:33
      关注

      该回答引用自GPT-3.5,由博主GISer Liu编写:

      根据您提供的问题描述,您的Spring Boot应用使用了JSP作为视图层,并且您希望让Spring
      Boot能够正确地加载JSP页面。从您的配置文件中可以看出,您的视图解析器配置使用的是Thymeleaf,但是您想要使用JSP,因此需要进行一些调整。
      首先,您需要确保项目中包含了JSP的依赖。在Spring Boot中使用JSP需要添加对应的依赖,您可以在pom.xml中添加如下依赖:
      xmlCopy code

      <dependency>
      <groupId>org.apache.tomcat.embedgroupId>
      <artifactId>tomcat-embed-jasperartifactId>
      <scope>providedscope>
      dependency>
      <dependency>
      <groupId>javax.servletgroupId>
      <artifactId>jstlartifactId>
      dependency>
      

      接着,您需要调整视图解析器的配置,让Spring Boot能够正确地加载JSP页面。您可以修改application.propertiesapplication.yml文件中的相关配置,使其适配JSP的视图解析:
      yamlCopy code

      spring:
      mvc:
      view:
      prefix: /WEB-INF/views/
      suffix: .jsp
      

      这里的prefix指定了JSP文件的存放路径,suffix指定了JSP文件的后缀名。
      另外,您的server.servlet-path配置可能会影响到对JSP页面的访问,您可以尝试将其配置为默认值:
      yamlCopy code

      server:
      servlet-path: /
      

      最后,确保您的Controller返回的视图名与实际的JSP文件名相匹配,且JSP文件位于指定的路径下。
      修改配置后,重新启动应用程序,应该就可以正确地加载JSP页面了。如果还有其他问题或者报错信息,请提供详细信息,我可以帮助您进一步解决。

      如果该回答解决了您的问题,请采纳!如果没有,请私信联系或评论您的疑惑

      展开全部

      评论
    • CSDN-Ada助手 CSDN-AI 官方账号 2024-04-15 14:22
      关注

      【相关推荐】



      • 帮你找了个相似的问题, 你可以看下: https://ask.csdn.net/questions/767333
      • 我还给你找了一篇非常好的博客,你可以看看是否有帮助,链接:jsp 实现 springboot Controller 返回对象
      • 您还可以看一下 朱智胜老师的SpringBoot视频教程全家桶课程中的 SpringBoot集成JSP小节, 巩固相关知识点
      • 除此之外, 这篇博客: 《springboot学习》六 spring boot整合jsp中的 3 controller代码  部分也许能够解决你的问题, 你可以仔细阅读以下内容或跳转源博客中阅读:
        package com.cloudtech.controller;
        
        import org.springframework.stereotype.Controller;
        import org.springframework.ui.Model;
        import org.springframework.web.bind.annotation.RequestMapping;
        
        /**
         * 测试springboot集成jsp
        * @ClassName: TestController  
        * @Description:   
        * @author wude  
        * @date 2018年12月7日  
        *
         */
        @Controller
        public class TestController {
        	@RequestMapping("/showHello")
        	public String  showHello(Model model){
        		model.addAttribute("hello", "Hello Spring boot");
        		return "index";
        	}
        }
        

      如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^

      展开全部

      评论
    • 流华追梦 Java领域新星创作者 2024-04-15 15:44
      关注

      springboot默认使用Thymeleaf,要用Jsp要改配置

      评论
    • Kwan的解忧杂货铺 Java领域优质创作者 2024-04-16 10:39
      关注

      上午好☀️☀️☀️️
      本答案参考ChatGPT-3.5

      根据你提供的配置及描述,你似乎是想使用JSP作为视图模板引擎,但是在实际执行中发生了错误。具体的解决方案包括:

      1. 确认JSP依赖是否存在 Spring Boot 1.5中默认使用的视图模板引擎为thymeleaf,如果你想使用JSP,则需要将其依赖添加到pom.xml中。请在pom.xml中添加以下依赖:
      
          javax.servlet
          javax.servlet-api
          provided
      
      
          jstl
          jstl
      
      
      1. 确认视图路径是否正确

      根据你提供的配置文件,你将JSP放置在/WEB-INF/center/目录下。确保你的JSP路径是正确的,比如试着访问/WEB-INF/center/index.jsp看看是否能够成功访问。

      1. 检查Controller是否返回视图名称

      JSP作为视图模板引擎时,需要在Controller中返回对应的视图名称,而不是视图文件的路径。比如,如果你要返回/WEB-INF/center/index.jsp这个JSP文件,那么要在Controller中将视图名称设置为"index"。

      @Controller
      public class MyController {
          @RequestMapping("/myurl")
          public String handleRequest(Model model) {
              model.addAttribute("message", "Hello World!");
              return "index"; // 返回视图名称
          }
      }
      
      1. 检查是否正确指定servlet-path

      如果想让Spring Boot应用只处理以".action"结尾的请求,那么可以在application.properties中添加以下配置:

      server.servlet-path=/xxx/*.action
      

      其中“/xxx/”是你希望应用处理的请求路径。

      综上,你可以参考以上几点检查一下你的代码,确认问题原因并解决之。

      展开全部

      评论
    编辑
    预览

    报告相同问题?

  • 相关阅读:
    利用优化算法提高爬虫任务调度效率
    八、QOS队列调度与报文丢弃
    Python文件操作详细介绍(打开、读取、写入、上下文管理器、关闭、异常处理;文件模式、编码、路径、读写位置、复制、移动、删除)
    京东运营数据分析:2023年8月京东宠物主粮行业品牌销售排行榜
    学习 go-admin 框架(1)
    05集合-Collection&List&Set
    Mysql MHA高可用集群及故障切换
    PyTorch显存机制分析
    Spring Cloud 篇
    进入Web3.0的元宇宙新纪元,科技巨头争先“跑马圈地”
  • 原文地址:https://ask.csdn.net/questions/8088699