Java_JSP2_Servlet3.0 Web模块开发;

Servlet3.0规范不再要求所有Web组件(如Servlet、Listener、Filter等)都部署在web.xml文件中,而是允许采用"Web模块"来部署、管理他们;
 1、Web模块
 一个Web模块通常对应于一个JAR包,这个JAR包有如下文件结构:
 <webModule>.jar ->Web模块的JAR包
 |--META-INF
 | --web-fragment.xml
 |--Web模块所用的类文件、资源文件等

 说明:Web模块与普通JAR的最大区别在于需要在META-INF目录下添加一个web-fragment.xml文件(被称为Web模块部署描述符);

2、Web模块示例:只定义一简单ServletContextListener,对应web-fragment.xml文件如下

<span style="font-size:18px;"><?xml version="1.0" encoding="GBK"?>
	<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  
		http://java.sun.com/xml/ns/javaee/web-fragment_3_0.xsd" version="3.0">
		
		<!-- 指定该Web模块的唯一标识 -->
		<name>crazyit</name>
		<listener>
			<listener-class>lee.CrazyitListener</listener-class>
		</listener>
		<ordering>
			<!-- 用配置该Web模块必须位于哪些模块之前加载 -->
			<before>
				<!-- 用于指定位于其他所有模块之前加载 -->
				<others/>
			</before>
		</ordering>
	</web-fragment></span>
注意:将Web模块(java项目)编译、打包成JAR包,然后复制到任意WEB应用的WEB-INF/lib目录下,启动Web应用,Web模块就被加载;
3、web.xml配置web模块加载顺序
 在web.xml文件中指定的加载顺序将会覆盖Web模块中web-fragment.xml文件所指定的加载顺序;
 <absolute-ordering>
  <!-- 指定web模块按如下顺序加载 -->
<name>leegang</name>
<name>crazyit</name>
 </absolute-ordering>
 4、作用
 Servlet3.0的Web模块支持为模块化开发、框架使用提供巨大方便;例如需要在Web应用中使用web框架,这就只要将该框架的JAR包复制到web应用中即可!因为这个JAR包的META-INF目录下可以通过web-fragment.xml文件来配置该框架所需要的Servlet、Listener、Filter等,从而避免修改web应用的web.xml文件。


特别说明:如果能帮助到您,请您留下点滴痕迹,让我知道我的存在是有意义的;如果不能帮助到您,请接受我的歉意;(示例下载)





评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值