java创建描述⽂件_javaweb项⽬的部署描述⽂件--l java学习记录(11)
java web项⽬的部署描述⽂件–l
提纲
java web项⽬的启动过程
项⽬中的l的解释
l是什么
java web项⽬⽤部署描述⽂件来决定URLS与servlets的映射,哪些URLS需要进⾏验证等。这个部署描述⽂件是l,它在java web 项⽬打包war下⾯的WEB-INF⽬录下⾯,是java web项⽬中serverlet标准的⼀个部分。
2 java web项⽬的启动过程
1. l先读取context-param和listener这两种节点;
2. 然后容器创建⼀个ServletContext(上下⽂),应⽤于整个项⽬;
3. 容器会将读取到的context-param转化为键值对并存⼊servletContext;
4. 根据listener创建监听;
5. 容器会读取,根据指定的类路径来实例化过滤器;
6. 此时项⽬初始化完成;
7. 在发起第⼀次请求是,servlet节点才会被加载实例化。
l中的⼀些标签的含义
(1) XML⽂档有效性检查
不同的版本的l⽂档书写有不同的格式。下⾯是3.1版本的部署描述符的书写格式。
(2)display-name
定义了web相应的名称,在把war⽂件放⼊到tomcat中在manager中就可以查看到对应的web名称。
sshTest
(3)context-param
1 context-param 定义了程序运⾏的上下⽂的⼀些参数,这⾥定义的是l的⽂件路径。
contextConfigLocation
/WEB-INF/applicationContext*.xml
2 context-param值的获取,例如上例中的contextConfigLocation,可以在aciton中通过ServletActionContext来获取相关的参数。
String param_ServletContext().getInitParameter("contextConfigLocation");
System.out.println(param_name);
3 context-param的使⽤
什么情况下使⽤,为什么使⽤context-param:
⽐如:定义⼀个管理员email地址⽤来从程序发送错误,或者与你整个应⽤程序有关的其他设置。使⽤⾃⼰定义的设置⽂件需要额外的代码和管理;直接在你的程序中使⽤硬编码(Hard-coding)参数值会给你之后修改程序带来⿇烦,更困难的是,要根据不同的部署使⽤不同的设置;通过这种办法,可以让其他开发⼈员更容易到相关的参数,因为它是⼀个⽤于设置这种参数的标准位置。
4 spring的配置
配置Spring,必须需要listener,⽽context-param>可有可⽆,如果在l中不写context-param>配置信息,默认的路径是/l,在WEB-INF⽬录下创建的xml⽂件的名称必须是l。如果是要⾃定义⽂件名可以在l⾥加⼊contextConfigLocation这个context参数:在param-value>⾥指定相应的xml⽂件名,如果有多个xml⽂件,可以写在⼀起并以“,”号分隔,⽐如在business-client⼯程中,我们采⽤了⾃定义配置⽅式,context-param配置如下:
contextConfigLocation
/WEB-INF/applicationContext*.xml
org.t.ContextLoaderListener
(4)listener
listener 为web应⽤程序定义,⽤来监听各种事件,⽐如:application和session事件,所有的按照相同的⽅式定义,功能取决去它们各⾃实现的接⼝,常⽤的Web事件接⼝有如下⼏个:
1) ServletContextListener:⽤于监听Web应⽤的启动和关闭;
2) ServletContextAttributeListener:⽤于监听ServletContext范围(application)内属性的改变;
3) ServletRequestListener:⽤于监听⽤户的请求;
ServletRequestAttributeListener:⽤于监听ServletRequest范围(request)内属性的改变;
java xml是什么4) HttpSessionListener:⽤于监听⽤户session的开始和结束;
5) HttpSessionAttributeListener:⽤于监听HttpSession范围(session)内属性的改变。
listener主要⽤于监听Web应⽤事件,其中有两个⽐较重要的WEB应⽤事件:应⽤的启动和停⽌(starting up or shutting down)和Session的创建和失效(created or destroyed)。应⽤启动事件发⽣在应⽤第⼀次被Servlet容器装载和启动的时候;停⽌事件发⽣在Web 应⽤停⽌的时候。Session创建事件发⽣在每次⼀个新的session创建的时候,类似地Session失效事件发⽣在每次⼀个Session失效的时候。为了使⽤这些Web应⽤事件做些有⽤的事情,我们必须创建和使⽤⼀些特殊的“监听类”。它们是实现了以下两个接⼝中任何⼀个接⼝的简单java类:javax.servlet.ServletContextListener或javax.servlet.http.HttpSessionListener,如果想让你的类监听应⽤的启动和停⽌事件,你就得实现ServletContextListener接⼝;想让你的类去监听Session的创建和失效事件,那你就得实现HttpSessionListener接⼝。
org.t.ContextLoaderListener
(5)filter
struts2
org.apache.filter.StrutsPrepareAndExecuteFilter
struts2
/
*
(6)welcome-file-list
初始页,包含多个以此尝试
/index.html
参考链接
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论