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

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
 

http://www.xdnf.cn/news/515143.html

相关文章:

  • leetcode hot100刷题日记——1.两数之和
  • 玄机-第一章 应急响应-webshell查杀
  • Neovim 如何安装和配置缩进标识插件 indent-blankline.nvim
  • 在Gitee中配置SSH公钥,建立远程仓库和本地仓库的连接
  • C++编程起步项目
  • java中的Servlet1.x详解
  • 黑马k8s(十一)
  • LeetCode 155. 最小栈:Java 双栈解法详解
  • 【DeepSeek论文精读】11. 洞察 DeepSeek-V3:扩展挑战和对 AI 架构硬件的思考
  • STM32F103_LL库+寄存器学习笔记24 - TIM产生中心PWM波,中心对齐模式1 + PWM模式2(FOC算法专用)
  • AM32电调学习解读五:tenKhzRoutine
  • 第二十八天打卡
  • Linux常用命令44——bzip2压缩或解压缩.bz2文件
  • 【Spring】核心机制:IOC与DI深度解析
  • docker 安装 jenkins
  • 通俗解释Transformer在处理序列问题高效的原因(个人理解)
  • C++几何计算器
  • 【IP101】图像多尺度分析:金字塔结构的原理、构建与高级应用
  • 【SpringBoot】✈️整合飞书群机器人发送消息
  • JavaScript基础-获取元素
  • 【QGIS二次开发】地图编辑-09
  • python + pip 独家秘籍
  • printf函数参数与入栈顺序
  • 翻到了一段2005年写的关于需求的文字
  • java每日精进 5.18【文件存储】
  • Ubuntu 18.04设置静态IP的方法(图形化操作)
  • 美丽的独处时光
  • 菱形继承原理
  • java集合相关的api-总结
  • 2025年- H27-Lc135- 239.滑动窗口最大值(自定义双端队列)---java版