SpringBoot手把手搭建JSP项目
时间: 2025-04-11 11:10:41 浏览: 32
<think>嗯,用户想学习如何使用Spring Boot搭建JSP项目。根据我之前整理的资料,首先需要确认Spring Boot对JSP的支持情况。记得Spring Boot官方其实不推荐用JSP了,但有时候项目可能需要,所以还是得知道怎么配置。
首先,用户需要创建一个Maven项目,因为依赖管理更方便。然后,添加必要的依赖,比如spring-boot-starter-web和tomcat-embed-jasper。可能还要注意JSP的scope是provided,避免打包问题。接下来,配置application.properties,设置视图前缀和后缀,指向src/main/webapp目录,这样Spring MVC才能找到JSP文件。
然后,创建Controller,用@Controller注解,处理请求返回视图名称。用户可能会遇到JSP无法访问的问题,这时候要检查目录结构是否正确,webapp是否在main下,还有IDEA中是否把webapp标记为Web资源目录。另外,打包的时候需要确保JSP文件被打包进去,可能需要配置spring-boot-maven-plugin,并指定打包方式为war,方便部署到外部Tomcat。
用户可能遇到的问题包括启动类的位置,如果放在默认包下会导致组件扫描失败,所以应该放在根包下。还有依赖冲突,比如引入其他模块导致JSP无法渲染,需要排除冲突的依赖。另外,JSP在嵌入式容器中的支持有限,可能需要调整Tomcat版本或者改用War包部署。
需要提醒用户虽然可以这么做,但现代项目更推荐使用Thymeleaf或FreeMarker,JSP在Spring Boot中可能会有兼容性问题。如果必须使用,要严格按照步骤配置,并注意可能遇到的坑,比如目录结构、依赖版本和打包设置。</think>### 使用Spring Boot创建JSP项目的详细教程
#### 一、环境准备与项目创建
1. **创建Maven项目**
在IntelliJ IDEA中选择`New Project > Spring Initializr`,设置`Packaging`为**War**格式(JSP部署需要),添加`Spring Web`依赖。
2. **添加JSP相关依赖**
在`pom.xml`中添加以下依赖:
```xml
<!-- JSP支持 -->
<dependency>
<groupId>org.apache.tomcat.embed</groupId>
<artifactId>tomcat-embed-jasper</artifactId>
<scope>provided</scope>
</dependency>
<!-- JSTL标签库 -->
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>jstl</artifactId>
</dependency>
```
#### 二、目录结构与配置
1. **创建webapp目录**
在`src/main`下新建`webapp/WEB-INF/views`目录,用于存放JSP文件。需在IDEA中右键标记为`Web Resource Directory`[^2]。
2. **配置视图解析器**
在`application.properties`中添加:
```properties
spring.mvc.view.prefix=/WEB-INF/views/
spring.mvc.view.suffix=.jsp
```
#### 三、编写Controller与JSP页面
1. **创建Controller类**
```java
@Controller
public class DemoController {
@GetMapping("/hello")
public String hello(Model model) {
model.addAttribute("message", "Hello Spring Boot + JSP!");
return "demo"; //对应WEB-INF/views/demo.jsp
}
}
```
2. **编写JSP文件**
在`webapp/WEB-INF/views`下创建`demo.jsp`:
```jsp
<%@ page contentType="text/html;charset=UTF-8" %>
<html>
<body>
<h1>${message}</h1>
</body>
</html>
```
#### 四、解决常见问题
1. **访问404错误**
- 确认`webapp`目录位于`src/main`下
- 检查是否添加`@SpringBootApplication`注解的主类
- 验证是否配置了`spring.mvc.view`前缀后缀
2. **打包部署问题**
修改`pom.xml`的打包方式:
```xml
<packaging>war</packaging>
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
```
#### 五、扩展建议
- 对于新项目推荐使用Thymeleaf模板引擎(Spring Boot官方推荐)
- JSP适用于需要直接使用Java代码的遗留系统改造
- 使用`<c:forEach>`等JSTL标签替代Scriptlet代码
阅读全文
相关推荐
















