开发者学堂课程【SpringBoot 实战教程: SpringBoot 整合 Jsp】学习笔记,与课程紧密联系,让用户快速学习知识。
课程地址:https://developer.aliyun.com/learning/course/651/detail/10794
SpringBoot 整合 Jsp
1、Spring Boot 官方不推荐使用 jsp,因为 jsp,相对于一些模板引擎,性能都比较低,官方推荐使用模版引擎,比如 thymeleaf。
2、<!-- springboot 整合 jsp, 需要是 war 工程,另外需要依赖另外两个包-->
创建 war 工程,把它作为父工程,命名为 springboot_child5。改变打包方式,必须是 war 包。
3、先做整合 war 的依赖,带叉是因为 war 工程需要加上 war.xml 配置,把 jar 包进行依赖,war 的架包,集成 jsp 需要依 赖哪些 jar 包,jsp 所需要的依赖 starter-tomcat 和 jasper
<--整合 jsp 需要的依赖- ->
<dependency>
<groupId>org . springframework. boot</groupId>
<artifactId>spring-boot- starter-tomcat</artifactId>
</dependency>
<dependency>
<groupId>org . apache . tomcat. embed</groupId>
<artifactId>tomcat- embed-jasper</artifactId>
</dependency>
<!-- maven
项目 packaging 为 war 类型时,必须要加这个插件-->
<build>
<plugins>
<plugin>
<groupId>org. apache .maven. plugins</groupId>
<artifactId>maven-war- plugin</artifactId>
<version>2.3</version>
解决红叉,它提示是 web.xml is missing,所以需要创建 web.xml,但是现在用的是 springboot,springboot 是不需要 xml 配置文件,所以没有必要添加web.xml ,在不添加 web.xml 如果解决红叉的问题?
4、<!-- maven 项目 packaging为 war 类型时,必须要加这个插件 -- >
<build>
<plugins>
<p
lu
dgin>
<groupId>org. apache . maven. plugins</groupId>
<artifactId>maven-war-plugin</artifactId>
<version>2.3</version>
<configuration>
< failOnMissinqWebXml> false</failOnMissingWebXml>
</configuration>
</plugin>
</plugins>
< /build>
加入这个插件,不添加 web.xml 文件,它也不会进行报错。更新之后红叉就没有了。
5、通常 jsp 都放在 webapp 下,创建一个文件夹命名为 jsp,创建 jsp,直接选 jsp 页面即可,找 web,web 下有 jsp file,命名为 index.jsp,编码都改成 utf-8。
6、首先写一个启动类程序运行的入口,命名为 springapp
7、启动类所以要加上 springbootapplication 注解
@SpringBootApplication 启动方法
public class SpringApp
{
public static void main (String [ ]args)
{
SpringApplication. run (SpringApp.class, args) ;
}
8、写一个 controlller,可以转到 jsp 页面,命名为 indexcontrolller
9、写一个功能,最终转到 jsp 页面,因为这个页面就叫 index.jsp,写名字即可。不需要加 responsebody。
@Controller
public class IndexController
{
@RequestMapping ("/ index")
public String show (Model model )
mоdеl . аddАttrіbutе ("nаmе", "
赵四
") ;
return "index" ;
}
}
10、需要让启动类扫描到 controlller,所以需要在 springapp.java 中指明包名。
@SpringBootApplication (scanBasePackages=" com . qianfeng . controller"
)
11、现在只写了 jsp 页面的名称,springboot 不知道它的页面放在哪,也不知道它的后缀是 .jsp,所以需要全局配置文件中配置前缀和后缀,就像在 springmac 配置文件中视图解析配置的前缀和后缀,application.properties。
12、注意在全局配置文件中前缀和后缀的名字不能写错。
spring . mvc. view. Prefix
=
/ jsp/
spring .mvc. view. suffix=. jsp
13、jsp 页面上没有显示,controller 里面放了一个值 name,在页面中取一下,$ {name}
14、进行启动,出现8080,再页面中访问,访问路径是 index。取到的是赵四。
这就是在 springboot 中如何使用 jsp。