###web服务器端应用部署篇###
- 接收处理请求–servlet
- 所有的请求处理都是在servlet中完成的
- 既然是在servlet中完成的,那么必然每个servlet都有特定的责任,处理特定的请求,所有可以指定< servlet/>和< servlet-mapping/>来映射请求。
- 处理http请求实际上就是对http报文的处理,Tomcat将http请求报文进行解析然后将信息封装在request对象中,然后通过对服务端封装的http响应信息response的解析生成实际的符合RFC文档规范的http相应报文。
- 那么servlet的生命周期又是怎样的呢?servlet自Tomcat启动后即完成初始化,然后调用init方法完成servlet配置。每次客户访问调用service方法进行服务。
- 再说JSP:JSP本质也是servlet,只是方便渲染http响应报文的报文体而出现的。为了降低不同功能的耦合性,一般讲servlet和JSP分开对待,servlet进行逻辑处理,然后将结果放入http响应信息中,在将请求转发至JSP,然后由JSP通过获取http响应信息response完成对页面的渲染。
- 体现连接服务–cookie和session
- 由于http是基于tcp实现的,所以有客户端和服务端的连接建立。但是http报文是基于单次请求的,服务器如何体现保持与同一客户端的连接状态呢?即有了cookie和session之说。
- cookie是客户浏览器进行管理的,每次访问的时候回将对应的cookie携带放入http请求中。cookie是服务器返回给客户的信息,同时也是客户访问时写入http报文的信息。
- session是服务端用于存放客户信息的。session的创建依赖于http请求的建立。当请求要求为其创建一个session时,服务器即为客户创建session(request.getsession(true))。同时服务器也可以主动销毁session,或者指定session的最大生命时限。
- 拦截器
- 拦截器的出现是为了进行信息验证或请求预处理(编码等…)。当请求到达servlet之前,先对请求进行处理,符合要求即放行。多个拦截器会串行进行拦截。
- 监听器
- 监听器是为了监听Java类的行为
- 具体体现在三方面:监听域对象的创建销毁ServletContext;监听域对象属性的增删改ServletRequest; 监听httpsession中某个对象的状态等…
- 监听器的具体作用还需慢慢体会,以后有机会在进行完善。