如何让spring boot支持jsp



在我们使用SpringBoot来搭建项目时,会发现它不支持JSP。这是因为SpringBoot只支持模板引擎的原因。


那么,如何在SpringBoot中使用JSP呢?


1.为项目添加servlet等依赖;


[html]  view plain  copy
 print ?
  1. <!-- servlet 依赖. -->  
  2. <dependency>  
  3.     <groupId>javax.servlet</groupId>  
  4.     <artifactId>javax.servlet-api</artifactId>  
  5.     <scope>provided</scope>  
  6. </dependency>  
  7.   
  8.       <dependency>  
  9.           <groupId>javax.servlet</groupId>  
  10.           <artifactId>jstl</artifactId>  
  11.       </dependency>  
  12.   
  13. <!--SpringBoot默认不支持JSP,需要在项目中添加相关的依赖-->  
  14. <dependency>  
  15.     <groupId>org.apache.tomcat.embed</groupId>  
  16.     <artifactId>tomcat-embed-jasper</artifactId>  
  17. </dependency>  
  18.   
  19. <dependency>  
  20.     <groupId>org.eclipse.jdt.core.compiler</groupId>  
  21.     <artifactId>ecj</artifactId>  
  22.     <version>4.6.1</version>  
  23.     <scope>provided</scope>  
  24. </dependency>  


2.为项目添加web的Module ;

右键选中项目  ==》 open Module settings ;



然后为web添加web.xml等资源:

注意注意!!!

两个需要添加路径中在项目名后面一定要加上\src\main\webapp  不然的话WEB-INF会生成在根目录中,(很多人在这里翻水水了QAQ)




添加完成后,就可以在main文件夹下找到web资源文件夹了;


3.配置spring boot的配置文件,使其支持jsp;

在spring boot中已经集成好了spring MVC ,所以我们只需要一些配置即可使得controller响应到jsp页面上;


注:1.本人用的是yml文件的配置形式,所以各位看到是这个格式;

      2.使用过spring MVC的朋友可能知道prefix和suffix是什么意思,分别代表前缀和后缀,可以理解为在controller响应到页面时会自动加上的内容。(个人理解)


4.编写controller和jsp页面;

controller类:



jsp页面:




5.配置编译时将web资源也进行编译;

在pom.xml文件的<build>节点中新增内容:

[html]  view plain  copy
 print ?
  1. <resources>  
  2.     <!-- 打包时将jsp文件拷贝到META-INF目录下-->  
  3.     <resource>  
  4.         <!-- 指定处理哪个目录下的资源文件 -->  
  5.         <directory>src/main/webapp</directory>  
  6.         <!--注意此次必须要放在此目录下才能被访问到-->  
  7.         <targetPath>META-INF/resources</targetPath>  
  8.         <includes>  
  9.             <include>**/**</include>  
  10.         </includes>  
  11.     </resource>  
  12.   
  13. </resources>  


6.启动项目,测试:


控制台中也打印了controller的输出语句。


 OK,测试成功!


可能有些朋友不是很懂,我说下我的理解:


在项目被编译后,默认是不会自动去编译我们web资源文件夹的,我最后一步的操作就是告诉编译程序,这里还有一些东西需要用到你来编译,你要把它们也编译好。

注:关于是否编译,可以在和src同级的target文件夹下的classes文件夹下查看。


本次分享就到这里,分享使人进步!

有什么不懂的请留言,不过我很少时间上csdn应该难回复哈哈哈

在我们使用SpringBoot来搭建项目时,会发现它不支持JSP。这是因为SpringBoot只支持模板引擎的原因。


那么,如何在SpringBoot中使用JSP呢?


1.为项目添加servlet等依赖;


[html]  view plain  copy
 print ?
  1. <!-- servlet 依赖. -->  
  2. <dependency>  
  3.     <groupId>javax.servlet</groupId>  
  4.     <artifactId>javax.servlet-api</artifactId>  
  5.     <scope>provided</scope>  
  6. </dependency>  
  7.   
  8.       <dependency>  
  9.           <groupId>javax.servlet</groupId>  
  10.           <artifactId>jstl</artifactId>  
  11.       </dependency>  
  12.   
  13. <!--SpringBoot默认不支持JSP,需要在项目中添加相关的依赖-->  
  14. <dependency>  
  15.     <groupId>org.apache.tomcat.embed</groupId>  
  16.     <artifactId>tomcat-embed-jasper</artifactId>  
  17. </dependency>  
  18.   
  19. <dependency>  
  20.     <groupId>org.eclipse.jdt.core.compiler</groupId>  
  21.     <artifactId>ecj</artifactId>  
  22.     <version>4.6.1</version>  
  23.     <scope>provided</scope>  
  24. </dependency>  


2.为项目添加web的Module ;

右键选中项目  ==》 open Module settings ;



然后为web添加web.xml等资源:




添加完成后,就可以在main文件夹下找到web资源文件夹了;


3.配置spring boot的配置文件,使其支持jsp;

在spring boot中已经集成好了spring MVC ,所以我们只需要一些配置即可使得controller响应到jsp页面上;


注:1.本人用的是yml文件的配置形式,所以各位看到是这个格式;

      2.使用过spring MVC的朋友可能知道prefix和suffix是什么意思,分别代表前缀和后缀,可以理解为在controller响应到页面时会自动加上的内容。(个人理解)


4.编写controller和jsp页面;

controller类:



jsp页面:




5.配置编译时将web资源也进行编译;

在pom.xml文件的<build>节点中新增内容:

[html]  view plain  copy
 print ?
  1. <resources>  
  2.     <!-- 打包时将jsp文件拷贝到META-INF目录下-->  
  3.     <resource>  
  4.         <!-- 指定处理哪个目录下的资源文件 -->  
  5.         <directory>src/main/webapp</directory>  
  6.         <!--注意此次必须要放在此目录下才能被访问到-->  
  7.         <targetPath>META-INF/resources</targetPath>  
  8.         <includes>  
  9.             <include>**/**</include>  
  10.         </includes>  
  11.     </resource>  
  12.   
  13. </resources>  


6.启动项目,测试:


控制台中也打印了controller的输出语句。


 OK,测试成功!


可能有些朋友不是很懂,我说下我的理解:


在项目被编译后,默认是不会自动去编译我们web资源文件夹的,我最后一步的操作就是告诉编译程序,这里还有一些东西需要用到你来编译,你要把它们也编译好。

注:关于是否编译,可以在和src同级的target文件夹下的classes文件夹下查看。


本次分享就到这里,分享使人进步!

溜了溜了~

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值