springboot对jsp模板引擎的支持
1.导入依赖:
<!--注意:spring boot对jsp的支持不是很好,在使用spring boot自带tomcat的同时,还需要引入另外的一个tomcat,以来如下所示,且scope属性需要被注释掉 -->
<!--注掉的原因是:maven默认scope是compile,表示打包时会把此包打入jar包中,而provided表示打包时不会打如jar包中,因为它默认是jar包中会提供,说白了就是你标注了 provided tomcat-embed-jasper就不会被打入jar包中,项目跑起来就肯定会有问题了 tomcat-embed-jasper是tomcat下的插件用来支持jsp的-->
<dependency>
<groupId>org.apache.tomcat.embed</groupId>
<artifactId>tomcat-embed-jasper</artifactId>
<!--<scope>provided</scope> 注意,这个scope需要被注释掉-->
</dependency>
<!-- jsp标签库 -->
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>jstl</artifactId>
</dependency>
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>javax.servlet-api</artifactId>
<scope>provided</scope>
</dependency>
2、创建相关文件夹和修改配置文件
在src/main路径下创建一个文件夹webapp,然后在wepapp下面再创建一个文件夹WEB-INF,在WEB-INF下再创建一个文件夹jsp用来存放jsp页面(WEB-INF下的jsp页不能直接访问,必须通过控制器跳转)。我们还可以直接在webapp下创建一个hello.jsp,这个页面可以直接在浏览器中访问
修改配置文件application.properties
1 2 3 4 | #页面默认前缀目录 spring.mvc.view.prefix=/WEB-INF/jsp/ #页面默认后缀目录 spring.mvc.view.suffix=.jsp |
3、创建一个UserController.java3、创建一个UserController.java
package com.xdw.springbootdemo5; import org.springframework.stereotype.Controller; import org.springframework.ui.Model; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMethod; @Controller public class UserController { /** * 采用model往request域中存值,存入2个普通的字符串 * @param model * @return */ @RequestMapping(value = "/userinfo1",method = RequestMethod.GET) public String userinfo1(Model model) { String username = "xiadewang"; String password = "123456"; model.addAttribute("username", username); model.addAttribute("password", password); return "userinfo1"; } }
4.创建一个jsp页面userinfo1.jsp
<%@ page contentType="text/html;charset=UTF-8" language="java" %> <html> <head> <p>用户名:${username}</p> <p>密码:${password}</p> </head> <body> </body> </html>
bug日记:在pom文件中,每个子父元素之间都只能相隔一个空格
运行项目时,如果idea启动有bug,试试mvn启动springboot工程命令如下: mvn spring-boot:run 注:这里一定要切换到带有pom文件的根目录下执行该命令
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· 什么是nginx的强缓存和协商缓存
· 一文读懂知识蒸馏
· Manus爆火,是硬核还是营销?