SpringBoot项目如何访问jsp页面

本文详细介绍如何在SpringBoot项目中正确配置并使用JSP页面,包括添加必要的Maven依赖、配置application.properties或application.yml文件、创建JSP文件夹及编写控制器方法。

最近在接支付项目,从官方下了个及时到款的demo,想在springBoot项目中运行起来,发现访问jsp的时候直接会访问到jsp页面的源文件。

如何在springBoot项目中访问到jsp页面?


1.添加pom依赖

首先在原来的pom文件基础上加上这两个配置

[html]  view plain  copy
  1. <!-- tomcat 的支持.-->  
  2.   
  3.      <dependency>  
  4.   
  5.          <groupId>org.springframework.boot</groupId>  
  6.   
  7.          <artifactId>spring-boot-starter-tomcat</artifactId>  
  8.   
  9.          <scope>provided</scope>  
  10.   
  11.      </dependency>  
  12.   
  13.      <dependency>  
  14.   
  15.          <groupId>org.apache.tomcat.embed</groupId>  
  16.   
  17.          <artifactId>tomcat-embed-jasper</artifactId>  
  18.   
  19.          <scope>provided</scope>  
  20.   
  21.      </dependency>  
其实根据我自身的配置,只配置tomcat下面这个也可以 顺利运行项目


2.在springBoot配置文件中添加相关配置

1.application.properties中

[html]  view plain  copy
  1. #spring.mvc.view.prefix=/WEB-INF/jsp/  
  2. #spring.mvc.view.suffix=.jsp  
  3. #application.message: Hello Phil  
2.application.yml

[html]  view plain  copy
  1. spring:         
  2.     # HTTP ENCODING  
  3.     http:  
  4.         encoding.charset: UTF-8  
  5.         encoding.enable: true  
  6.         encoding.force: true  
  7.      
  8.     datasource:  
  9.         validation-query: SELECT 1  
  10.         test-on-borrow: true  
  11.           
  12.     mvc:  
  13.         view:  
  14.             prefix: /WEB-INF/jsp/  
  15.             suffix: .jsp      


3.jsp文件夹都在web-inf下建个jsp文件夹




4.后端建立一个中转的方法

[html]  view plain  copy
  1. @Controller  
  2. public class F2FController {  
  3.   
  4.     @RequestMapping(value="/test")  
  5.     public String testF2F() {  
  6.         return "index";  
  7.           
  8.     }  

调试成功,图片运转如下


用main方法 或放在tomcat里面跑都不行,只有用mvn命令跑 才正常

mvn spring-boot:run

### 解决 Spring Boot 中 JSP 页面 404 错误 在处理 Spring Boot 应用程序中的 JSP 页面返回 `404 Not Found` 的问题时,有几个关键点需要注意。首先确认应用程序配置正确无误。 #### 配置应用属性文件 对于不同版本的 Spring Boot,在 `application.properties` 文件中设置不同的参数来启用开发模式下的自动重新加载功能[^2]: - **Spring Boot 1.5 版本** ```properties server.jsp-servlet.init-parameters.development=true ``` - **Spring Boot 2.x 版本及以上** ```properties server.servlet.jsp.init-parameters.development=true ``` 这些配置允许开发者在修改 JSP 文件后无需重启整个服务器即可查看更改效果。 #### 正确放置视图资源 确保所有的 JSP 文件都存放在合适的位置以便被正确识别。默认情况下,JSP 文件应该位于 `src/main/webapp/WEB-INF/jsp/` 路径下[^3]。例如: ``` src/ └── main/ ├── java/ └── webapp/ └── WEB-INF/ └── jsp/ └── helloWorld.jsp ``` #### 修改控制器映射路径 为了使 URL 映射能够成功指向相应的 JSP 页面,需要调整 Controller 类里的方法签名以及返回值字符串。假设有一个名为 `helloWorld.jsp` 的页面,则对应的 controller 方法可能如下所示: ```java import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.GetMapping; @Controller public class HelloWorldController { @GetMapping("/helloworld") public String showPage() { return "jsp/helloWorld"; // 对应于 /WEB-INF/jsp/helloWorld.jsp } } ``` 注意这里并没有加上 `.jsp` 后缀名,因为这是由框架内部解析完成的工作。 #### 使用内嵌 Tomcat 支持 JSP 渲染 由于某些原因,默认打包方式可能会导致无法正常渲染 JSP 页面。可以通过指定构建工具插件的方式强制使用内置的 Tomcat 容器并开启对 JSP 的支持。以 Maven 构建为例,可以在 pom.xml 添加以下依赖项[^4]: ```xml <dependency> <groupId>org.apache.tomcat.embed</groupId> <artifactId>tomcat-embed-jasper</artifactId> <scope>provided</scope> </dependency> <!-- 如果还需要额外的支持 --> <dependency> <groupId>javax.servlet</groupId> <artifactId>jstl</artifactId> </dependency> ``` 通过以上措施,应当能有效解决大多数关于 Spring Boot 下 JSP 页面显示为空白页或提示找不到的问题。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值