当前位置: 首页 > biancheng >正文

知识点17--spring boot搭配JSP开发

SSM/H的时代,前端主要用的是JSP,这就导致有很多缺点,就比如说很多标签库需要另外的导入,没有自带的解决方案,导入之后很多情况下也只会用一个标签库中的一两个标签这就造成了很多资源的冗余,无论是对整体项目的大小或者是前端加载资源的响应负担都是有影响的,所以到了spring boot时代,Spring boot不止更青睐于模块化开发,甚至官方在默认的内置web软件中就将JSP的引擎格除掉了,并在整体上支持了模板引擎的前端技术,例如vue、freemaker、thymeleaf等。

可是对于开发来说,为了不影响别人的使用,开发的原则之一是不做彻底删除操作,只做修改或者是禁用不推荐使用,而且并不是所有的公司都有这个财力和人力能将所有的页面全部切换成模板引擎,更不是有能力就愿意付出如此大的代价去进行技术迭代,因此,spring boot可以选装搭配JSP,下面给大家介绍如何操作。

我们先新建一个项目,同时也为大家解决一个常见的问题,很多时候突然springboot项目创建的工具就连接不到server网址了
在这里插入图片描述
国内用的idea是怎么回事大家都心知肚明,所以在创建项目的时候idea连接https://start.spring.io常常连接不到出问题,这个时候你可以用浏览器打开它
在这里插入图片描述
打开之后和你在idea操作的一样,把该填的该选的都弄好,点击下面的GENERATE你就会得到一个zip的压缩包
在这里插入图片描述
这就是项目包,把它解压出来,用idea打开就行。
在这里插入图片描述
下面我们用这个项目添加JSP开发支持,首先在项目代码资源目录下创建一个webapp文件夹
在这里插入图片描述

然后进行如下的设置

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
上面这样操作完webapp的图标上就会多一个蓝点
在这里插入图片描述
之后在它下面创建一个JSP页面
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

如果你操作的时候没有JSP的选项,那应该是设置问题,一定要在Project Structure中指定webapp为 Web Resource Directory

随后在pom中添加如下依赖

<dependency> 
    <groupId>org.apache.tomcat.embed</groupId> 
    <artifactId>tomcat-embed-jasper</artifactId> 
</dependency> 

在pom文件中的build标签下添加如下配置,用于声明将webapp目录下的资源也要编译到包中,不然访问不到

<resources> 
    <resource> 	
 		<!--源文件位置--> 
        <directory>src/main/webapp</directory> 
        <!--指定编译到META-INF/resources,该目录定死的不要随便写--> 
        <targetPath>META-INF/resources</targetPath> 
        <!--指定要把哪些文件编译进去,**表示webapp目录及子目录,*.*表示所有文件--> 
        <includes> 
            <include>**/*.*</include> 
        </includes> 
	</resource> 
	
    <resource>
		<directory>src/main/resources</directory>
			<includes>
				<include>**/*.*</include>
			</includes>
			<filtering>false</filtering>
	</resource>
</resources>

随后修改springboot的配置文件指定SpringMVC的视图解析器,不然也是访问不到的

#指定内嵌Tomcat端口号 
server.port=91

#配置视图解析器 
#其中:/ 表示目录为src/main/webapp , 注意/是在Web Resource Directory中怎么配置的就用什么
spring.mvc.view.prefix=/
spring.mvc.view.suffix=.jsp
# 集成完毕之后,剩下的步骤和我们使用 Spring MVC 一样 

随后我们写一个测试的Controller,跳转到之前创建的jsp页面

package com.wy.bootjsp.controller;

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;

/**
 * @创建人 wangyang
 * @创建时间 2022/10/4
 * @描述
 */
@Controller
public class TestController {
    
    @RequestMapping("getTest")
    public String getTest(){
    	model.addAttribute("data","JSP整合");
        return "test";
    }
    
}

最后的最后,一定要改一个东西,点击idea启动类的配置
在这里插入图片描述
在这里插入图片描述

启动项目浏览器访问结果,我是在idea里面直接启动的,这里有个坑,见特别说明

在这里插入图片描述


一般情况下,正式开发不会喷到用JSP,都是前端模板引擎技术,不过大家自己写一些Demo或者有的人学习SSM开发习惯了才会用JSP,总之要知道怎么用,防止万一某一天用到了,你不会就显得很尴尬。

特别说明

在idea里面你像我上面的配置流程走完就可以了,如果你要将你的开发成果物正式使用!!!!!!那么一定要单独指定编译插件的版本为1.4.2.RELEASE,只有这个版本可以将idea中配置的web资源路径编译到jar包中

<plugin>
	<groupId>org.springframework.boot</groupId>
	<artifactId>spring-boot-maven-plugin</artifactId>
	<version>1.4.2.RELEASE</version>
	<configuration>
		<mainClass>com.wy.bootjsp.BootJspApplication</mainClass>
	</configuration>
</plugin>

相关文章:

  • 牛客练习赛#84 F 莫比乌斯反演+杜教筛+技巧+斐波那契数列和gcd的结论+矩阵快速幂
  • ZZNUOJ_用C语言编写程序实现1342:支配值数目(附完整源码)
  • java毕业设计后勤管理系统餐饮评价监督系统(附源码、数据库)
  • 前端基础学习笔记
  • 【TS】联合类型--类型断言--类型推断
  • 谈笑风声的秘密
  • QT影城网上售票系统
  • NetCDF数据在ArcMap中的使用
  • 打怪升级(考验思路)
  • 持续精进,改变自己