发表于: 2017-11-03 22:08:49

2 889


任务进展

       1:今天准备小课堂并演示,主要讲web.xml的配置以及在容器中的加载过程。

       1)web启动加载过程:web项目启动时,容器首先在web.xml中读取context-param和listener,然后创建一个ServletContext,作为全局共享信息存储,将context-param中的name和value存入。然后创建listener实例,listener继承了ContextLoader类,由ContextLoader加载上下文(父子),然后容器继续读取filter,实例化过滤器。然后读取servlet,根据load-on-startup的值(整数值)来决定是即时实例化还是第一次请求时实例化。

       2)web-app:部署描述符的根元素是web-app。DTD文件规定web-app元素的子元素的语法如下:web-app (icon?, display-name?, description?, distributable?, context-param*, filter*, filter-mapping*, listener*, servlet*, servlet-mapping*, session-config?, mime-mapping*, welcome-file-list?, error-page*, taglib*, resource-env-ref*, resource-ref*, security-constraint*, login-config?, security-role*,env-entry*, ejb-ref*, ejb-local-ref*)。

       问号(?)表示子元素是可选的,而且只能出现一次。星号(*)表示子元素可在部署描述符中出现零次或多次。

       3)display-nameweb应用的名称,可以在容器的管理系统中查看

       4)distributable告诉servlet/JSP容器,Web容器中部署的应用程序适合在分布式环境下运行。

       5)context-param:含有一对参数名和参数值,用作应用的Servlet上下文初始化参数,参数名在整个Web应用中必须是惟一的,在web应用的整个生命周期中上下文初始化参数都存在,任意的Servlet和jsp都可以随时随地访问它。

       6)session-config用于设置容器的session参数。

       7)listener:为web应用程序定义监听器,监听器用来监听各种事件。常用的Web事件接口有如下几个:
       ServletContextListener:用于监听Web应用的启动和关闭;
       ServletContextAttributeListener:用于监听ServletContext范围(application)内属性的改变;
       ServletRequestListener:用于监听用户的请求;
       ServletRequestAttributeListener:用于监听ServletRequest范围(request)内属性的改变;
       HttpSessionListener:用于监听用户session的开始和结束;
       HttpSessionAttributeListener:用于监听HttpSession范围(session)内属性的改变。

       8)filter:filter可认为是Servlet的一种“加强版”,主要用于对用户请求request进行预处理,也可以对response进行后处理,是个典型的处理链。使用filter的完整流程是:filter对用户请求HttpServletRequest进行预处理,接着将请求交给Servlet进行处理并生成响应,最后filter再对服务器响应HttpServletResponse进行后处理。filter与Servlet具有完全相同的生命周期,且filter也可以通过init-param来配置初始化参数,获取filter的初始化参数则使用filterConfig的getInitParameter()。filter在web.xml中配置,可包含filter-name、filter-class、init-param等子元素。

       9)filter-mapping:用来声明Web应用中的过滤器映射,过滤器被映射到一个servlet或一个URL模式。这个过滤器的filter和filter-mapping必须具有相同的filter-name,指定该filter所拦截的URL。过滤是按照部署描述符的filter-mapping出现的顺序执行的。

       10)servlet运行在服务器端的程序,用于处理及响应客户的请求。

       11)servlet-mapping将URL模式映射到某个Servlet,即该Servlet处理的URL。

       12)error-page设置系统错误时返回的页面,包括error-code和location。

       13)welcome-file用来指定首页文件名称。welcome-file-list元素可以包含一个或多个welcome-file子元素。如果在第一个welcome-file元素中没有找到指定的文件,Web容器就会尝试显示第二个,以此类推。


       2:晚上剩一点时间继续修改接口的参数判断,改了一部分并测试成功。

遇到问题

       时间不够,还得延期几天。

明日计划

       继续修改接口测试。

收获

       web.xml配置和容器加载过程。

进度

任务开始时间:2017.09.15

预计demo时间:2017.11.4

是否有延期风险:已延期

禅道:http://task.ptteng.com/zentao/project-task-359.html


返回列表 返回列表
评论

    分享到