Web体系结构解决如下问题:
- HTTP方法对应的Servlet处理方式(方法名、返回值)
- Servlet的生命周期
- 构建Web应用需要部署的目录(MV*?)
- 部署文件的语义(Servlet实例、名、类、初始化参数、URL映射)
在Java EE Web体系中,示意图如下:
首先,Servlet不直接处理用户请求,我们需要一个叫做Web容器的东西,Web容器做了如下几件事:
- 通信支持(隐藏协议细节,提供端口监听、流的创建等)
- 生命周期管理(负责Servlet类加载、初始化、垃圾回收等操作)
- 封装请求(HttpServletRequest、HttpServletResponse)
- 分配线程(查找配置文件,处理)
- 使用特定的方法处理(Post、Get等)
- 多线程支持
- 使用XML配置项目(URL、Servlet、过滤器等)
- 更安全
- 避免硬编码(无须频繁变动代码)
- JSP支持
接着,我们要谨慎地使用我们的小刀(Servlet),不能随意任性地挥舞它,这需要我们认识一下MV?设计模式:
- 使用业务逻辑所需的东西作为Model层
- 使用JSP作为表现层
- 使用Servlet作为控制器