1. SpringBoot介绍

(1) 什么是Spring Boot?

(2) Spring Boot有哪些特点?

Spring Boot 设计目的是用来简化新 Spring 应用的初始搭建以及开发过程。

嵌入的 Tomcat,无需部署 WAR 文件

Spring Boot 并不是对 Spring 功能上的增强,而是提供了一种快速使用 Spring 的方式。

2. 构建SpringBoot项目以及启动器讲解

(1) Spring Boot常见的启动器有哪些?

所谓的SpringBoot启动器其实就是一些jar包的集合。SpringBoot一共提供44启动器。

spring-boot-starter-web 支持全栈式的web开发,包括了tomcat和springMVC等jar

Spring-boot-starter-jdbc 支持spring以jdbc方式操作数据的jar包的集合。

Spring-boot-starter-redis 支持redis键值存储的数据库操作。

(2) Spring Boot的Web启动器的坐标是什么?

   <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId></dependency>

3. 编写HelloWorld

(1) 如何编写Spring Boot启动类?

package com.bjsxt;import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
/*** SpringBoot 启动类* @author MSI-PC**/
@SpringBootApplication
public class App {public static void main(String[] args) {SpringApplication.run(App.class, args);}
}

(2) 编写Spring Boot启动类时需要注意什么?

启动器存放的位置,启动器可以和controller位于同一个包下,或者位于controller的上一级包中,但是不能放到controller平行的包及子包下。即启动器只能位于Controller所在包及其上级包中。

4. Spring Boot整合Servlet

(1) Spring Boot整合Servlet有几种方式?

通过注解扫描完成Servlet组件的注册

通过方法完成Servlet组件的注册

(2) 各种方式有什么特点?

通过注解扫描完成Servlet组件的注册

Servlet

package com.bjsxt.servlet;import java.io.IOException;import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
/*** SpringBoot整合Servlet方式一* @author MSI-PC**/
@WebServlet(name="FirstServlet",urlPatterns="/first")
public class FirstServlet extends HttpServlet{@Overrideprotected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {System.out.println("FirstServlet.........................");}
}

App启动类

package com.bjsxt;import javax.servlet.annotation.WebServlet;import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.web.servlet.ServletComponentScan;/*** SpringBoot启动类* 整合Servlet方式一:通过注解* @author MSI-PC**/
@SpringBootApplication
@ServletComponentScan   //在SpringBoot启动时,会扫描@WebServlet注解,并将该类实例化
public class App {public static void main(String[] args) {SpringApplication.run(App.class, args);}
}

通过方法完成Servlet组件的注册

Servlet

package com.bjsxt.servlet;import java.io.IOException;import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
/*** SpringBoot整合Servlet方式二:通过方法* @author MSI-PC**/
public class SecondServlet extends HttpServlet {@Overrideprotected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {System.out.println("SecondServlet......................");}
}

App启动类

package com.bjsxt;import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.web.servlet.ServletRegistrationBean;
import org.springframework.context.annotation.Bean;import com.bjsxt.servlet.SecondServlet;/*** SpringBoot整合Servlet方式二:通过方法* @author MSI-PC**/
@SpringBootApplication
public class App2 {public static void main(String[] args) {SpringApplication.run(App2.class, args);}@Beanpublic ServletRegistrationBean getServletRegistrationBean(){ServletRegistrationBean bean = new ServletRegistrationBean<>(new SecondServlet());return bean;}
}

5. Spring Boot整合Filter

(1) Spring Boot整合Filter有几种方式?

通过注解扫描完成Filter组件的注册

通过方法完成Filter组件的注册

(2) 各种方式有什么特点?

通过注解扫描完成Filter组件的注册

Servlet类

package com.bjsxt.servlet;import java.io.IOException;import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;@WebServlet(name="FirstServlet",urlPatterns="/first")
public class FirstServlet extends HttpServlet{@Overrideprotected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {System.out.println("FirstServlet................");}
}

Filter类

package com.bjsxt.filter;import java.io.IOException;import javax.servlet.Filter;
import javax.servlet.FilterChain;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
import javax.servlet.annotation.WebFilter;
/*** SpringBoot整合Filter方式一:注解方式* @author MSI-PC**/
@WebFilter(filterName="FirstFilter",urlPatterns="/first")
public class FirstFilter implements Filter {@Overridepublic void doFilter(ServletRequest arg0, ServletResponse arg1, FilterChain arg2)throws IOException, ServletException {System.out.println("进入Filter.........");arg2.doFilter(arg0, arg1);System.out.println("离开Filter..............");}}

App启动类

package com.bjsxt;import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.web.servlet.ServletComponentScan;@SpringBootApplication
@ServletComponentScan
public class App {public static void main(String[] args) {SpringApplication.run(App.class, args);}
}

通过方法完成Filter组件的注册

Servlet

package com.bjsxt.servlet;import java.io.IOException;import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;public class SecondServlet extends HttpServlet {@Overrideprotected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {System.out.println("SecondServlet...................");}
}

Filter

package com.bjsxt.filter;import java.io.IOException;import javax.servlet.Filter;
import javax.servlet.FilterChain;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;public class SecondFilter implements Filter {@Overridepublic void doFilter(ServletRequest arg0, ServletResponse arg1, FilterChain arg2)throws IOException, ServletException {System.out.println("进入SecondFilter............");arg2.doFilter(arg0, arg1);System.out.println("离开SecondFilter................");}}

SpringBoot启动类

package com.bjsxt;import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.web.servlet.FilterRegistrationBean;
import org.springframework.boot.web.servlet.ServletRegistrationBean;
import org.springframework.context.annotation.Bean;import com.bjsxt.filter.SecondFilter;
import com.bjsxt.servlet.SecondServlet;/*** SpringBoot整合Filter方式二:通过方法* @author MSI-PC**/
@SpringBootApplication
public class App2 {public static void main(String[] args) {SpringApplication.run(App2.class, args);}/*** 注册Servlet* @return*/@Beanpublic ServletRegistrationBean getServletRegistrationBean() {ServletRegistrationBean bean = new ServletRegistrationBean(new SecondServlet());bean.addUrlMappings("/second");return bean;}/*** 注册Filter* @return*/@Beanpublic FilterRegistrationBean getFilterRegistrationBean() {FilterRegistrationBean bean = new FilterRegistrationBean(new SecondFilter());bean.addUrlPatterns("/second");return bean;}
}

6. springBoot整合Listener

(1) Spring Boot整合Listener有几种方式?

通过注解扫描方式

通过方法的方式

(2) 各种方式有什么特点?

通过注解扫描方式

Listener类

package com.bjsxt.listener;import javax.servlet.ServletContextEvent;
import javax.servlet.ServletContextListener;
import javax.servlet.annotation.WebListener;
/*** SpringBoot整合Listener方式一:注解扫描方式* @author MSI-PC**/
@WebListener
public class FirstListener implements ServletContextListener {@Overridepublic void contextInitialized(ServletContextEvent sce) {// TODO Auto-generated method stubServletContextListener.super.contextInitialized(sce);System.out.println("Listener..........init..........");}
}

SpringBoot启动类

package com.bjsxt;import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.web.servlet.ServletComponentScan;@SpringBootApplication
@ServletComponentScan
public class App {public static void main(String[] args) {SpringApplication.run(App.class, args);}
}

通过方法的方式

Listener类

package com.bjsxt.listener;import javax.servlet.ServletContextEvent;
import javax.servlet.ServletContextListener;public class SecondListener implements ServletContextListener{@Overridepublic void contextInitialized(ServletContextEvent sce) {// TODO Auto-generated method stubServletContextListener.super.contextInitialized(sce);System.out.println("SecondListener............init..........");}
}

SpringBoot启动类

package com.bjsxt;import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
/*** SpringBoot整合Listener方式二:通过方法* @author MSI-PC**/
import org.springframework.boot.web.servlet.ServletListenerRegistrationBean;
import org.springframework.context.annotation.Bean;import com.bjsxt.listener.SecondListener;
@SpringBootApplication
public class App2 {public static void main(String[] args) {SpringApplication.run(App2.class, args);}@Beanpublic ServletListenerRegistrationBean<SecondListener> getServletListenerRegistrationBean(){ServletListenerRegistrationBean bean = new ServletListenerRegistrationBean(new SecondListener());return bean;}
}

7. Spring Boot访问静态资源

(1) 在Spring Boot中访问静态资源有几种方式?

两种:

SpringBoot从classpath/static的目录

ServletContext根目录 src/main/webapp

8. Spring Boot文件上传

(1) 在Spring Boot中如何设置单个上传文件大小?

在resources文件夹下添加application.properties配置文件,并添加

spring.http.multipart.maxFileSize=200MB

(2) 在Spring Boot中如何设置一次请求上传文件大小?

在application.properties文件中添加如下配置:

spring.http.multipart.maxRequestSize=200MB

9. Spring Boot整合jsp

(1) 在Spring Boot中整合jsp需要添加哪些坐标?

<dependency><groupId>javax.servlet</groupId><artifactId>jstl</artifactId></dependency><dependency><groupId>org.apache.tomcat.embed</groupId><artifactId>tomcat-embed-jasper</artifactId><scope>provided</scope></dependency>

10. Spring Boot整合Freemarker

(1) 在Spring Boot中整合Freemarker需要添加哪些坐标?

<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-freemarker</artifactId></dependency>

(2) Freemarker视图的扩建名是什么?

.ftl

11. Thymeleaf入门-创建项目

在Spring Boot中整合Thymeleaf需要添加哪些坐标?

<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-thymeleaf</artifactId></dependency>

(2) Thymeleaf视图的扩建名是什么?

.html

(3) Thymeleaf视图要求放到项目的哪个目录下?

Src/main/resources/templates

该目录是安全的。意味着该目录下的内容是不允许外界直接访问的。

12. Thymeleaf入门-Thymeleaf基本使用

(1) Thymeleaf的特点是什么?

Thymeleaf是通过它特定的语法对html的标记做渲染。

(2) 在使用Thymeleaf时页面会出现什么异常?

(2) 解决Thymeleaf中标签匹配的异常有几种方式?

两种

解决异常方式 1

让 html 的标记按照严禁的语法去编写。

解决异常方式 2

Thymeleaf.jar:更新为 3.0 以上的版本

thymeleaf-layout-dialect.jar:更新为 2.0 以上的版本

更换 thymeleaf 的 jar 包的版本

<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0
http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>1.5.10.RELEASE</version>
</parent>
<groupId>com.bjsxt</groupId>
<artifactId>10-spring-boot-view-thymeleaf</artifactId>
<version>0.0.1-SNAPSHOT</version>
<properties>
<java.version>1.7</java.version>
<thymeleaf.version>3.0.2.RELEASE</thymeleaf.version>
<thymeleaf-layout-dialect.version>2.0.4</thymeleaf-layout-dialect.versi
on>
</properties>
<dependencies>
<!-- springBoot 的启动器 -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<!-- springBoot 的启动器 -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-thymeleaf</artifactId>
</dependency>
</dependencies>
</project>

springmvc整合redis_111 SpringBoot整合Servlet JSP Filter Listener相关推荐

  1. SpringBoot注册Servlet、Filter、Listener

    SpringBoot默认是以jar包的方式启动嵌入式的Servlet容易来启动SpringBoot的Web应用,没有web.xml文件 因此我们可以使用以下方式来注册Servlet.Filter.Li ...

  2. SpringBoot之Servlet、Filter、Listener配置

    在SpringBoot中是不需要配置web.xml的,那么原来在web.xml中配置的Servlet.Filter.Listener现在怎么弄呢? SpringBoot提供了三种Bean Filter ...

  3. RabbitMQ,RabbitMQ 的工作模式,Spring 整合 RabbitMQ,Springboot 整合RabbitMQ

    什么是RabbitMQ 1.1 MQ概述 MQ全称 Message Queue(消息队列),是在消息的传输过程中保存消息的容器.多用于分布式系统之间进行通信. ⚫ MQ,消息队列,存储消息的中间件 ⚫ ...

  4. 【Javaweb 2】JSP,Filter,Listener,AJAX,Vue

  5. SpringBoot --- 整合Ldap

    SpringBoot --- 整合Ldap 1.介绍 2.代码 2.1 pom.xml 2.2 配置文件 2.3 代码 整理不易,不喜勿喷.谢谢 SpringBoot - 整合Ldap. Spring ...

  6. springboot整合mybatis

    3.springboot整合mybatis 首先新建一个项目,勾选上我们需要的 1.springboot配置数据库连接池druid druid学习地址 https://github.com/aliba ...

  7. springboot整合多线程ThreadPoolTaskExecutor

    springboot整合多线程 springboot整合ThreadPoolTaskExecutor实现多线程 处理一些高并发需要使用多线程.可根据自己项目需求配置ThreadPoolTaskExec ...

  8. SpringBoot整合第三方技术学习笔记(自用)

    SpringBoot整合第三方技术学习笔记 搬运黑马视频配套笔记 KF-4.数据层解决方案 KF-4-1.SQL 回忆一下之前做SSMP整合的时候数据层解决方案涉及到了哪些技术?MySQL数据库与My ...

  9. springboot整合之版本号统一管理

    特别说明:本次项目整合基于idea进行的,如果使用Eclipse可能操作会略有不同,不过总的来说不影响. springboot整合之如何选择版本及项目搭建 springboot整合之版本号统一管理  ...

最新文章

  1. cmd 找不到java power 可以_高三总是找不到学习状态?这几个方法一定可以帮到你!...
  2. 【编程】位运算(异或)
  3. GraphPad Prism(医学绘图) v9.1.2.226 for Win
  4. HDU - 7008 水题(打表)
  5. WebSphere Classloader内存泄漏预防
  6. 还在 Bug 不断?不妨试试这 2 个装X技巧
  7. 一转眼,距 2021 竟然就不到 65 天了,你准备好了么?
  8. QT将窗体变为顶层窗体
  9. python操作excel命令_python excel操作总结
  10. JavaScript书籍的免费32本-收集分享
  11. linux docker端口映射无法访问,docker设置了端口映射,不能访问的解决方案
  12. Python学习笔记7——数据类型(中)
  13. MAE源代码理解 part2 : 预训练调试
  14. qemu启动openEuler Embedded镜像
  15. 关于团队敏捷流程的思考
  16. matlab roundn函数_matlab中round函数具体用法
  17. python分支语句_Python语言基础分支语句、循环语句.ppt
  18. Git回退和取消回退
  19. cgb2107-day08
  20. 谓词表示法求解农夫、狼、山羊、白菜问题(个人理解)

热门文章

  1. 三层登录VB.NET实现
  2. 比特币可视化工具_比特币再破1.2万大关 你还要做打工人吗?
  3. 服务间调用要通过网关吗_Asp.Net Boilerplate微服务实战(二)架构解析
  4. ipv6计算_移动云多款产品通过工信部IPv6支持能力技术测评
  5. 后端开发实践:Spring Boot项目模板
  6. WEB前端:浏览器(IE+Chrome+Firefox)常见兼容问题处理【03】
  7. 【JavaSE05】Java中方法与重载、递归
  8. 进腾讯了!(实习面经分享)
  9. Sharding-JDBC改写自己查询规则思路
  10. HBase 0.98 分布式集群安装详解