Servlet学习笔记:类加载器与请求处理
需积分: 0 188 浏览量
更新于2024-07-30
收藏 3.54MB DOC 举报
"servlet学习笔记,记录了关于servlet的基础知识和一些深入的类加载机制,以及HTTP请求处理的相关内容。"
这篇学习笔记主要涵盖了以下几个关键知识点:
1. **Servlet编码问题**:
- 在处理HTTP请求时,可能出现Request设置编码无效的情况,因为在第一次请求时,默认编码通常为GET方式的默认编码。
2. **类加载器**:
- 类加载机制涉及到引导类加载器(Bootstrap ClassLoader)、扩展类加载器(Extension ClassLoader)和应用类加载器(System ClassLoader)。
- 执行过程中,类加载器遵循“双亲委派模型”,即自定义类加载器加载类时,会先委托给父类加载器尝试加载。
- Person类实现Serializable接口后,在序列化过程中不会初始化该接口,因为接口没有构造器。
- 抽象类拥有构造器,目的是为了子类实例化时提供服务。
- 接口中的常量在运行时会处于同一个包,且由相同的类加载器加载。
3. **类加载与卸载**:
- 加载后的类很难被释放,如果修改了类文件,需要重新加载,但可能无法成功替换原有已加载的类,因为JDK并不支持热代码替换。
- 类加载器加载过的类无法卸载,除非发生Full GC。
4. **上下文路径与服务器路径**:
- 服务器的根目录加上当前应用的目录组成上下文目录,用于定位应用资源。
5. **HTTP请求处理**:
- 可以获取日期型的请求头,以及判断请求是否来自迅雷等特定用户代理。
- 获取请求头的所有信息,并通过Socket获取服务器的主机名。
- 通过特定方法可以获取客户端的地区和语言信息。
6. **Servlet多部分上传配置**:
- 防止上传文件时出现空指针异常,需要在Servlet配置中添加`<multipart-config>`标签。
7. **HTTP方法**:
- Servlet提供了多种处理HTTP请求的方法,包括GET、POST等。
8. **唯一标识符与主键生成策略**:
- 使用UUID生成主键可以减少网络通信的复杂性;而Sequence主键生成通常需要两个步骤。
9. **权限管理与商品展示**:
- 笔记中提到了添加角色和商品展示的场景,这可能与Web应用的权限控制和数据展示有关。
这些知识点是学习Java Web开发,尤其是Servlet技术的基础,对于理解Web应用的工作原理和处理HTTP请求的流程至关重要。同时,对类加载机制的理解有助于优化代码结构和处理类的生命周期问题。
2021-02-13 上传
2009-03-30 上传
2021-03-16 上传
2021-06-20 上传
2021-02-21 上传
2021-02-17 上传
2021-07-08 上传
2021-03-20 上传
2007-11-12 上传
CodingFirst
- 粉丝: 0
- 资源: 3
最新资源
- 平尾装配工作平台运输支撑系统设计与应用
- MAX-MIN Ant System:用MATLAB解决旅行商问题
- Flutter状态管理新秀:sealed_flutter_bloc包整合seal_unions
- Pong²开源游戏:双人对战图形化的经典竞技体验
- jQuery spriteAnimator插件:创建精灵动画的利器
- 广播媒体对象传输方法与设备的技术分析
- MATLAB HDF5数据提取工具:深层结构化数据处理
- 适用于arm64的Valgrind交叉编译包发布
- 基于canvas和Java后端的小程序“飞翔的小鸟”完整示例
- 全面升级STM32F7 Discovery LCD BSP驱动程序
- React Router v4 入门教程与示例代码解析
- 下载OpenCV各版本安装包,全面覆盖2.4至4.5
- 手写笔画分割技术的新突破:智能分割方法与装置
- 基于Koplowitz & Bruckstein算法的MATLAB周长估计方法
- Modbus4j-3.0.3版本免费下载指南
- PoqetPresenter:Sharp Zaurus上的开源OpenOffice演示查看器