java web 模块化 例子_【servlet3.0新特性】web模块化配置实例

原来一个servlet web应用的任何配置都需要在web.xml中进行,因此会使得web.xml变得很混乱,而且灵活性差,因此Servlet 3.0可以将每个Servlet、Filter、Listener打成jar包,然后放在WEB-INF\lib中;注意各自的模块都有各自的配置文件,这个配置文件的名称为  web-fragment.xml ;

制作一个Servlet3.0模块的步骤:

1.编写Servlet,并编译;

2.将此编译class文件及所在包通过jar包命令打成jar包;

3.将此jar包用winrar打开,并将其中的META-INF中的manifest删除并添加 web-fragment.xml;

4.将此jar包放入WEB-INF\lib中即可;

web-fragment.xml注意点:

1.根元素为;

2.表示模块名称;

3.是此模块的加载顺序;

4.表示第一个加载;

5.A表示比A后面加载;

6.可以在里面部署listener、filter、servlet

当然可以不设置任何的模块加载顺序;

下面介绍一下web模块化完整的代码实例:

配置两个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内容:

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-app_3_0.xsd"

version="3.0">

FirstListener

org.listener.FirstListener

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内容是:

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-app_3_0.xsd"

version="3.0">

SecondListener

org.listener.SecondListener

FirstListener

然后分别打成jar包,放入 WEB-INF\lib中即可;

随便访问一个web应用,然后发现 tomcat控制台输出:

看出先加载FirstListener,再加载SecondListener;

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值