Servlet 3.0 新特性之web模块化, web-fragment.xml文件
来源:互联网 发布:gnu windows 编辑:程序博客网 时间:2024/05/17 07:34
web模块化
原本一个web应用的任何配置都需要在web.xml中进行,因此会使得web.xml变得很混乱,而且灵活性差,因此Servlet 3.0可以将每个Servlet、Filter、Listener打成jar包,然后放在WEB-INF\lib中;注意各自的模块都有各自的配置文件,这个配置文件的名称为 web-fragment.xml ;
制作一个Servlet模块的步骤:
1.编写Servlet,并编译;
2.将此编译class文件及所在包通过jar包命令打成jar包;
3.将此jar包用winrar打开,并将其中的META-INF中的manifest删除并添加 web-fragment.xml;
4.将此jar包放入WEB-INF\lib中即可;
web-fragment.xml注意点:
1.根元素为<web-fragment>;
2.<name></name>表示模块名称;
3.<ordering></ordering>是此模块的加载顺序;
4.<before><others/></before>表示第一个加载;
5.<after><name>A</name></after>表示比A后面加载;
6.可以在里面部署listener、filter、servlet
当然可以不设置任何的模块加载顺序;
代码示例:
配置两个listener模块;
FirstListener.java
- package org.listener;
- import javax.servlet.annotation.*;
- import javax.servlet.http.*;
- import javax.servlet.*;
- import java.util.*;
- import java.sql.*;
- import javax.naming.*;
- public class FirstListener implements ServletRequestListener{
- public void requestInitialized(ServletRequestEvent event){
- System.out.println(“FirstListener created”);
- }
- public void requestDestroyed(ServletRequestEvent event){
- System.out.println(“FirstListener destroyed”);
- }
- }
FirstListener 的 web-fragment.xml内容:
- <?xml version=”1.0″ encoding=”ISO-8859-1″?>
- <web-fragment xmlns=”http://java.sun.com/xml/ns/javaee”
- xmlns:xsi=”http://www.w3.org/2001/XMLSchema-instance”
- xsi:schemaLocation=”http://java.sun.com/xml/ns/javaee
- <A href=”http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd”">http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd”
- version=”3.0″>
- <name>FirstListener</name>
- <listener>
- <listener-class>org.listener.FirstListener</listener-class>
- </listener>
- <ordering>
- <before>
- <others/>
- </before>
- </ordering>
- </web-fragment>
SecondListener.java
- package org.listener;
- import javax.servlet.annotation.*;
- import javax.servlet.http.*;
- import javax.servlet.*;
- import java.util.*;
- import java.sql.*;
- import javax.naming.*;
- public class SecondListener implements ServletRequestListener{
- public void requestInitialized(ServletRequestEvent event){
- System.out.println(“SecondListener created”);
- }
- public void requestDestroyed(ServletRequestEvent event){
- System.out.println(“SecondListener destroyed”);
- }
- }
SecondListener的 web-fragment.xml内容是:
- <?xml version=”1.0″ encoding=”ISO-8859-1″?>
- <web-fragment xmlns=”http://java.sun.com/xml/ns/javaee”
- xmlns:xsi=”http://www.w3.org/2001/XMLSchema-instance”
- xsi:schemaLocation=”http://java.sun.com/xml/ns/javaee
- <A href=”http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd”">http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd”
- version=”3.0″>
- <name>SecondListener</name>
- <listener>
- <listener-class>org.listener.SecondListener</listener-class>
- </listener>
- <ordering>
- <after>
- <name>FirstListener</name>
- </after>
- </ordering>
- b-fragment>
然后分别打成jar包,放入 WEB-INF\lib中即可;
随便访问一个web应用,然后发现 tomcat控制台输出:
看出先加载FirstListener,再加载SecondListener;
- Servlet 3.0 新特性之web模块化, web-fragment.xml文件
- web Servlet 3.0 新特性之web模块化编程,web-fragment.xml编写及打jar包
- Servlet-模块化开发web fragment
- Servlet 3.0之装配来自web.xml,web-fragment.xml和注解的描述符
- web.xml & web-fragment.xml (Servlet 2.3, 2.4, 2.5 + 3.0)模板
- File Templates for web.xml & web-fragment.xml (Servlet 2.3, 2.4, 2.5 + 3.0)
- web.xml之Servlet配置
- spring web.xml之servlet
- 模块化之Spring3.0 web fragment和gradle构建项目
- Java EE 项目 Servlet web.xml web-app节点头部信息,web-fragment.xml
- HTML5新特性之Web Workers
- HTML5新特性之Web存储
- HTML5新特性之Web Notifications
- servlet 包的 web。xml文件配置
- servlet的web.xml文件的模板
- Servlet过滤器web.xml文件配置
- servlet web.xml文件的路径问题
- Servlet在web.xml文件中的部署
- 安装MATLAB_R2013b_X64_x32激活及破解方法
- Command(命令模式)
- 【黑马程序员】C#笔记之数据转换
- vim 用户手册中文版本
- 嵌入式开发WIFI方案选型经历
- Servlet 3.0 新特性之web模块化, web-fragment.xml文件
- 杭电acm之1106-排序
- 将一棵二叉树的全部节点的左右子树交换顺序
- 最大公约数和最小公倍数
- Android官方终于支持 Navigation Drawer(导航抽屉)模式
- 深入理解拦截器原理及拦截器与过滤器的区别分析
- Java 异常
- HDU The Shortest Path 矩阵的最短路
- php heredoc用法注意事项