SpringBoot(三) Web应用进阶



提示:以下是本篇文章正文内容,下面案例可供参考

三、Spring Boot 非 web 应用程序

使用方式一:
直接获取ConfigurableApplicationContext(了解)
在这里插入图片描述
使用方式二:
实现CommandLineRuner,重写run方法(了解)
在这里插入图片描述

四、Spring Boot 使用自定义拦截器类

➢ HandlerInterceptor 接口
➢ 注册拦截器类

拦截器类:
在这里插入图片描述
@Configuration 定义配置类-拦截器
在这里插入图片描述

五、Spring Boot 中使用 Servlet

1.注解扫描方式

a.在主程序类上开启servlet扫描

在这里插入图片描述

b.servlet创建

在这里插入图片描述

2.通过 SpringBoot 的配置类实现

a.创建一个普通的 Servlet

在这里插入图片描述

b.编写一个 Spring Boot 的配置类,在该类中注册 Servlet

在这里插入图片描述

六、Spring Boot 中使用 Filter

1.通过注解方式实现

a.在主程序类上添加servlet类扫描

在这里插入图片描述

b.通过注解方式创建一个 Filer

在这里插入图片描述

2.通过 Spring Boot 的配置类实现

a.创建一个普通的 Filter

在这里插入图片描述

b.在Spring Boot 的配置类中注册 Filter

在这里插入图片描述

七、Spring Boot 项目配置字符编码

1、使用传统的 Spring 提供的字符编码过滤器

a、在配置类中配置filter

在这里插入图片描述

b、关闭 SpringBoot 的 http 字符编码支持

在这里插入图片描述

2、在 application.properties 中配置字符编码

### a、

八、Spring Boot 打包与部署

1.Spring Boot 程序 war 包部署

I.springboot 的pom配置

<!--中添加(修改)打包方式为 war-->
<packaging>war</packaging>


<!--配置文件加载位置-->
<!--指定打war包的字符-->
<finalName>SpringBootWar</finalName>
<resources>
  <resource>
      <!--源文件夹-->
      <directory>src/main/webapp</directory>
      <!--目标文件夹-->
      <targetPath>META-INF/resources</targetPath>
      <!--包含的文件-->
      <includes>
          <include>**/*.*</include>
      </includes>
  </resource>
  <!--mybatis 的 mapper.xml-->
  <resource>
      <directory>src/main/java</directory>
      <includes>
          <include>**/*.xml</include>
      </includes>
  </resource>
  <!--src/main/resources 下的所有配置文件编译到 classes 下面去-->
  <resource>
      <directory>src/main/resources</directory>
      <includes>
          <include>**/*.*</include>
      </includes>
  </resource>

<!--SpringBoot 只解析 JSP 页面依赖-->
<dependency>
 <groupId>org.apache.tomcat.embed</groupId>
 <artifactId>tomcat-embed-jasper</artifactId>
</dependency>

II.视图解析器配置

#设置 jsp 的前/后缀
spring.mvc.view.prefix=/
spring.mvc.view.suffix=.jsp

III.程序入口类需扩展继承 SpringBootServletInitializer类并覆盖 configure 方法

@SpringBootApplication
public class Application extends SpringBootServletInitializer {
 public static void main(String[] args) {
 SpringApplication.run(Application.class, args);
 }
 @Override
 protected SpringApplicationBuilder 
configure(SpringApplicationBuilder builder) {
 //参数为当前 SpringBoot 启动类
 return builder.sources(Application.class);
 } }

IIII.打成war包后,放本地tomcat即可

springboot打war包,部署到tomcat中,之前在application.properties设置的
上下文根及端口号就失效了,以本地tomcat为准

2.Spring Boot 程序 jar 包部署

I.springboot 的pom配置

添加与打war包相同的依赖及资源解析

II.修改 pom.xml 文件中打包插件的版本

默认 SpingBoot 提供的打包插件版本为 2.2.2.RELEASE,这个版本打的 jar 包 jsp 不能访问,
我们这里修改为 1.4.2.RELEASE(其它版本测试都有问题)
<!-- SpringBoot 提供打包编译插件 -->
<plugin>
 <groupId>org.springframework.boot</groupId>
 <artifactId>spring-boot-maven-plugin</artifactId>
 <version>1.4.2.RELEASE</version>
</plugin>

III.修改 application.properties 配置文件

#设置内嵌 Tomcat 端口号
server.port=9090
#设置项目上下文根
server.servlet.context-path=/ #配置 jsp 的前/后缀
spring.mvc.view.prefix=/
spring.mvc.view.suffix=.jsp

IIII.部署

a.在windows上部署

b.在linux上部署

在这里插入图片描述



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
# 基于springbootweb项目最佳实践 + [web](#web) + [单元测试](#test) + [actuator应用监控](#actuator) + [lombok](#lombok) + [baseEntity](#baseEntity) + [统一响应返回值](#result) + [异常](#exception) + [数据校验](#validation) + [日志](#log) + [swagger](#swagger) + [数据库连接池](#datasource) + [spring jdbc](#jdbc) + [jpa](#jpa) + [redis](#redis) + [spring cache](#springcache) + [mogodb](#mogodb) + [mybatis](#mybatis) + [spring security](#security) + [项目上下文](#ContextHolder) + [单点登录](#sso) + [邮件](#mail) + [maven](#maven) + [总结](#总结) `springboot` 可以说是现在做`javaweb`开发最火的技术,我在基于`springboot`搭建项目的过程中,踩过不少坑,发现整合框架时并非仅仅引入`starter` 那么简单。 要做到简单,易用,扩展性更好,还需做不少二次封装,于是便写了个基于`springboot`的web项目脚手架,对一些常用的框架进行整合,并进行了简单的二次封装。 项目名`baymax`取自动画片超能陆战队里面的大白,大白是一个医护充气机器人,希望这个项目你能像大白一样贴心,可以减少你的工作量。 ## 项目备注 1、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用! 2、本项目适合计算机相关专业(如计科、人工智能、通信工程、自动化、电子信息等)的在校学生、老师或者企业员工下载学习,也适合小白学习进阶,当然也可作为毕设项目、课程设计、作业、项目初期立项演示等。 3、如果基础还行,也可在此代码基础上进行修改,以实现其他功能,也可用于毕设、课设、作业等。 下载后请首先打开README.md文件(如有),仅供学习参考, 切勿用于商业用途。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值