SpringBoot | IDEA 搭建 springboot 项目 + jsp 页面模板

SpringBoot | IDEA 搭建 springboot 项目 + jsp 页面模板,第1张

搭建 springboot 项目,web页面用 jsp 模板

我把自己遇到的问题和解决方法罗列了一下,看看你们会不会也遇到这些问题

Group 和 Artifact 被称为“坐标”,为了保证项目唯一性

Group分为多个段,一般可设成两段,第一段为域,例如org、com、cn,org为非营利组织,com为商业组织;第二段为公司名称

Artifact 为项目名称

其他的可根据自己的需求选择对应的 starter 进行依赖,或者可后期在pom.xml 中配置

在 main 下新增 webapp 目录, 在 webapp 目录下新增 WEB-INF 目录和 jsp 目录,则将 jsp 文件创轿兄猜建在 jsp 目录下

右击 jsp 目录 ->new ->JSP/JSPX page 创建 jsp 文件,例如本文创建 index.jsp

首先,右击尘亮 项目  ->  Open Module Settings

选择Modules  ->  选择Web  ->  点击 + 号  ->  点击 web.xml

选择 main\webapp\WEB-INF 目录,在后面添加上 web.xml,点击ok

web.xml 内容如下:

添加  org.apache.tomcat.embed 的 tomcat-embed-jasper 依赖包和 javax.servlet 的 jstl 依赖包

配置tomcat端口(默认值为8080),可以选择不配置

spring.mvc.view.prefix 和 spring.mvc.view.suffix 是 Spring Boot 约定的视图前缀和后缀的配置,意思是找到 /jsp/ 目录下以 .jsp 为后缀的 JSP 文件

右击 com.spring.demo 目录 ->new ->选择 pakage,新增 controller 包

右闭型击 controller 目录 ->  new ->选择 Java Class,创建 Controller 类 ,本人创建为 IndexController 类

引入注解 @Controller 和 @RequestMapping,返回 jsp 页面

springboot 小 demo 搭建完毕    ^_^

spring-boot-devtools是Spring Boot给开发人员提供的一个工具包,它可以提高开发人员的工作效率。我们可以通过如下方式引入该工具包:

Maven

Gradle

有些SpringBoot支持的库使用了缓存技术来提高性能。比如模板引擎会对编译好的模板进行缓存从而避免每次都要解析模板文件;Spring MVC也会为静态蔽局文件缓存一些Http的Header属性。

虽然在生产环境下面缓存能够极大地提高程序的性能,但是在开发阶段并不是很友好,所以 spring-boot-devtools 默认会禁用这些缓存。比如 spring-boot-devtools 会通过s pring.thymeleaf.cache属性来禁用Thymeleaf的缓存。

当我们使用IDE(例如Eclipse、IDEA等)开发SpringBoot项目时,当 spring-boot-devtools检测到项目 类路径下面有变化时会自动重启项目。

当然 spring-boot-devtools对此作了优化,它创建了两个classloader,一个base classloader用来加载那些依赖的第三方陆昌库的类,而项目中正在开发的类会被另一个restart classloader加载,这样每次项目重启,其实是重新创建一个新的restart classloader来加载项目中产生的类文件,因此比一般的项目启动会快很多。

spring-boot-devtools支持全局设置功能,默认位于$HOME/.config/spring-boot这个目录下的以下配置文件会被自动加载并且应用于这台机器上运早并扒行的所有SpringBoot项目($HOME表示当前用户的Home目录):

如果我们想开启SpringBoot项目的远程调试功能,需要在应用打包的时候把 spring-boot-devtools一起打包进去(默认spring-boot-devtools是不会被一起打包的,它只是开发期间的一个辅助包),比如Maven项目,我们可以这样设置:

启动本地应用的时候,需要选择main class为 org.springframework.boot.devtools.RemoteSpringApplication并且设置Program Arguments为http://ip:port(远程服务的地址)

spring-boot-devtools是基于shutdown钩子,应此不能将其设置为false(SpringApplication.setRegisterShutdownHook(false))

https://docs.spring.io/spring-boot/docs/current/reference/htmlsingle/#using.devtools

templates :意思是模板文件。经过controller 是要将模板文件渲染成资源传给前端哦。不需要渲染走下面的资源文件。

spring.web.resources.static-locations:是资源文件地址埋搜祥,如css,image 不需要渲染,直接显示给前端的哦。

没弯搏什么隐患和坏处哦。这是一种将数据模板和资源分开路径漏歼的实践。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/tougao/12120800.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-21
下一篇 2023-05-21

发表评论

登录后才能评论

评论列表(0条)

保存