chap1 web服务体系
http请求流关注:
http方法(get/post/…)
请求的资源
请求传递的参数
http响应流关注:
响应码
响应的内容类型
内容
chap2 Web体系结构
容器
1,servlet没有main方法,它受控于另一Java应用,即为容器(常用为Tomcat)。
当客户请求发送到web服务器时,服务器会将请求交给容器,容器再根据请求找到相应的servlet,并调用servlet的service方法处理请求。
2,容器主要提供的功能有:
(1)通信支持:实现web服务器与servlet交流
(2)Servlet生命周期管理
(3)多线程管理:容器会为每一个请求创建一个新的线程,用于调用service方法处理请求。
(4)声明方式实现安全
(5)Jsp支持
采用容器管理和运行servlet,最主要的 目的就是让servlet只关心处理用户请求,完成业务逻辑。
URL与servlet的映射
1,容器使用部署描述文件(DD)根据URL请求找到对应的servlet,如Tomcat中即为web.xml
2,一个servlet有3个名称:完全限定名(servlet的路径名+类名,servlet的实际地址)、部署名(DD内部用于描述)、url请求名(用户通过请求名请求资源)
在DD中需要完成内部、外部的映射关系。
<!-- 将servlet类的完全限定名(在服务器中的地址,包括包名和类名)映射中内部的部署名 -->
<servlet>
<servlet-name>beer</servlet-name> <!-- 部署名-->
<servlet-class>com.web.BeerSelect</servlet-class> <!-- 完全限定名-->
</servlet>
<!-- 将外部的URL映射为内部的部署名,用户可直接输入URL找到对应的servlet类 -->
<servlet-mapping>
<servlet-name>beer</servlet-name>
<url-pattern>/SelectBeer.do</url-pattern> <!-- 外部url-->
</servlet-mapping>
容器首先根据请求的外部url,在外部映射中找到内部部署名,再在内部映射根据部署名找到servlet类的具体地址。
MVC模式
1,最开始情况时,容器将用户请求交给servlet,由servlet独自完成处理用户请求、将显示页面添加到响应等,servlet完全包揽了所有工作,当想要修改时显得十分复杂,因此产生了MVC模式:
(1)设置一个普通的Java类来处理请求,即为模型(Model)
(2)使用jsp显示页面并返回给用户,即为视图(View)
(3)Servlet用于从请求中获取请求参数将其传递给Model处理,获取处理结果后传递给视图,总起控制作用,即为控制器(Controller)
2,构建一个web应用,流程如下:
(1)分析用户视图:设计前端
(2)构建应用高层体系结构
(3)创建开发与部署环境
(4)各组件的迭代开发与测试
注意在迭代开发中要一步步完善体系结构。