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
#页面默认前缀目录 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文件的根目录下执行该命令
原文地址:https://www.cnblogs.com/nyhhd/p/12678580.html