TYUT-企业级开发教程-第三章
JAVAWEB的三大组件
在 Spring Boot 项目中,会自动将 Spring 容器中的 Servlet 、 Filter 、 Listener 实例注册为 Web 服务器中对应的组件。因此,可以将自定义的 Java Web 三大组件作为 Bean 添加到 Spring 容器中,以实现组件的注册。使用 Spring Bean 注册 Servlet 时,需要自定义两个及以上的 Servlet , Servlet 对应的映射地址为“ Bean 名称 +/” 。 Filter 的映射地址默认为“ /*”
三大组件的代码
Servlet
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;public class FirstServlet extends HttpServlet {@Overrideprotected void doGet(HttpServletRequest req, HttpServletResponse resp) throws IOException {System.out.println("hello FirstServlet");resp.getWriter().write("hello FirstServlet");}
}
Listener
import javax.servlet.ServletContextEvent;
import javax.servlet.ServletContextListener;public class MyListener implements ServletContextListener {@Overridepublic void contextInitialized(ServletContextEvent sce) {System.out.println("----Web应用初始化完成----");}@Overridepublic void contextDestroyed(ServletContextEvent sce) {System.out.println("----Web应用销毁之前----");}
}
Filter
创建组件配置类
创建组织配置类,创建的实例交给Spring管理
使用注解扫描注册三大组件
Spring管理SpringMvc
Spring Boot 真正的核心功能是自动配置和快速整合,通常 Spring Boot 应用的前端 MVC 框架依
然 使 用 Spring MVC 。 Spring Boot 提 供 的 spring-boot-starter-web 启 动 器 嵌 入 了 Spring
MVC 的依赖,并为 Spring MVC 提供了大量自动配置,可以适用于大多数 Web 开发场景。
除了使用自动配置所提供的功能,开发者也可以通过自定义配置类定制 Spring MVC 的配置
Spring Boot 为 Spring MVC 提供了自动配置,并在 Spring MVC 默认功能的基础上添加了以下
特性。
(1) 引入了视图解析器 ContentNegotiatingViewResolver 和 BeanNameViewResolver 。
(2) 为包括 WebJars 在内的静态资源提供支持。
(3) 自动注册 Converter 、 GenericConverter 和 Formatter 。
(4) 支持使用 HttpMessageConverters 消息转换器。
(5) 自动注册 MessageCodesResolver 。
(6) 支持静态项目首页 index.html 。
(7) 支持定制应用图标 favicon.ico 。
(8) 自动初始化 Web 数据绑定器 ConfigurableWebBindingInitializer 。
静态资源映射的优先级
文件上传功能
重要是代码要看懂
第三章 题目
一、填空题
1.使用Spring Bean注册Filter时,Filter的映射地址则默认为 /* 。
2.Spring Boot中可以使用 @ServletCompentScan 扫描到标注@WebServlet、@WebFilter和@WebListener的类。
3.InterceptorRegistry类的 addPathPatterns() 方法用于指定拦截路径。
4.Spring Boot整合Spring MVC实现文件上传时,<form>表单请求方式需要为 POST 请求。
5. @ExceptionHandler 注解可以申明当前方法处理的异常类型。
二、判断题
1.使用Spring Bean注册自定义Servlet时,Servlet对应的映射地址为“Bean名称+/”。 ( 对)
2.Spring Boot默认情况无法自动识别到@WebServlet、@WebFilter、@WebListener标注的类。 ( 对) @ServletCompentScan 在启动类加入
3.Spring Boot项目中非静态资源文件夹中的静态资源不能被外部直接访问。( 对)
4.Spring Boot项目中,BasicErrorController中会对异常处理路径进行统一映射处理。 (对 )
5.在Spring Boot应用中引入spring-boot-starter-web启动器后,即使不进行任何配置,也会自行配置视图解析器。(对 )
三、选择题
1.下列选项中,对于使用Spring Bean注册Java Web三大组件描述错误的是(C)。
A.在Spring Boot项目中,会自动将Spring容器中的Servlet、Filter、Listener实例注册为Web服务器中对应的组件。
B.使用Spring Bean注册自定义的Servlet时,Servlet对应的映射地址为“Bean名称+/”。
C.Filter的映射地址则默认为“/”。
D.使用Spring Bean注册自定义Servlet时,需要两个及以上的Servlet。
解析:
默认映射地址为 /*
2. 下列选项中,使用Spring Bean注册Filter时,Filter默认的映射地址的是(B)。
A./Bean名称
B./*
C../
D./**
3.下列选项中,对于Spring Boot整合Spring MVC实现文件上传的描述错误的是(D)。
A.配置信息中spring.servlet.multipart.max-file-size用来设置单个上传文件的大小限制。
B.配置信息中spring.servlet.multipart.max-request-size用来设置所有上传文件的大小限制。
C.spring.servlet.multipart.max-request-size默认为10M。
D.上传文件的大小超出设置上传文件的最大限制,则上传失败,但不会抛出异常信息。
4. 下列选项中,关于WebMvcConfigurer接口的描述错误的是(A)。
A.addResourceHandlers()方法可以添加资源路径映射的真实路径。
B.addViewControllers()方法中可以添加访问路径和视图的映射。
C.addInterceptors()方法可以添加拦截器。
D.通过配置类实现静态资源映射时,配置类需要实现WebMvcConfigurer接口。
解析:
addResourceLocations才是添加的真实路径
5.下列选项中,Spring Boot默认的错误信息解析器是(c)。
A.ErrorPageCustomizer
B..BasicErrorController
C.DefaultErrorViewResolver
D.DefaultErrorAttributes