文档章节

Servlet3.0 模块化

王念博客
 王念博客
发布于 2017/07/24 11:23
字数 386
阅读 68
收藏 1

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

 

制作一个Servlet模块的步骤:

1.编写Servlet项目,并其中的META-INF中的添加 web-fragment.xml;

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

3.将此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

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

<?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"> 
       <!-- 指定该Web模块的唯一标识 -->  
       <name>abc</name>  
       <listener>  
              <listener-class>com.xxx.xxx</listener-class>  
       </listener>  
       <!-- 配置此模块的加载顺序 -->  
       <ordering>  
              <!-- 该模块第一个加载-->  
              <before>  
                    <others/>  
              </before>  
       </ordering>  
</web-fragment>  

因为以后的趋势必然是SpringBoot或者其他无XML配置的框架,所以随便在网上扒拉扒拉,具体的详细使用还请查阅官方相关文档。

博客地址:https://my.oschina.net/wangnian

© 著作权归作者所有

共有 人打赏支持
王念博客
粉丝 166
博文 102
码字总数 79063
作品 0
浦东
程序员
私信 提问
Servlet3.0新特性剖析

Servlet3.0规范的新特性主要是为了3个目的: 1.简化开发 2.便于布署 3.支持Web2.0原则 为了简化开发流程,Servlet3.0引入了注解(annotation),这使得web布署描述符web.xml不在是必须的选择...

长平狐
2012/09/03
195
0
Servlet3.0异步的实现需要http1.1的支持?

今天我在学习servlet3.0的新特性:servlet3.0对异步的支持。 网上有人说,servlet3.0对异步的支持需要http1.1。 现在我把servelt3.0对异步支持的原理也理解的差不多了,并且查阅了http1.1相比...

张凯乐
2016/12/30
222
3
jFinal中servlet3.0支持问题

@JFinal 你好,想跟你请教个问题:昨天在查看代码时,突然发现jFinal中的web.xml使用的是servlet3.0的版本,也就是jFinal中使用了servlet3.0.现在有一个疑问:目前很多web服务器都没有支持s...

无为
2012/07/12
821
3
多线程和Servlet3.0中的异步有什么区别啊

最近在看servlet3.0异步处理,为什么感觉servlet3.0的异步也就是增加了一个线程,他们有什么区别啊。我写了两个实验,一个是直接调用线程,另一个用异步,发现没什么区别啊????...

jerry2012
2013/09/14
290
0
24K_铂金会员/RedisFlag

#RedisFlag 使用info命令实时生成监控图 支持显示各种复杂集群结构表(分片、主从、子集群) 支持监控TPS、内存使用量、命中率、阻塞Clients、连接数 支持查看redis实例配置 支持查看慢日志 ...

24K_铂金会员
2015/09/25
0
0

没有更多内容

加载失败,请刷新页面

加载更多

寻找数学的广度——《这才是数学》读书笔记2700字

寻找数学的广度——《这才是数学》读书笔记2700字: 文|程哲。数学学习方式之广:国内外数学教育方面的专家,进行了很多种不同的数学学习方式尝试,如数学绘本、数学游戏、数学实验、数学步道...

原创小博客
18分钟前
3
0
vimrc

set rtp+=/usr/local/lib/python3.7/site-packages/powerline/bindings/vim/set laststatus=2set t_Co=256set cursorlinehi cursorline cterm=none term=nonehighlight CursorLine gui......

kut
20分钟前
1
0
ubuntu常用操作

显卡GPU 查看显卡信息sudo lshw -numeric -class video# 查看显卡型号lspci | grep -i nvidia# 查看驱动版本sudo dpkg --list | grep nvidia-*或者 ubuntu-drivers devices#查看显卡...

hc321
昨天
2
0
mysql密码重置

方法一: 在my.ini的[mysqld]字段加入: skip-grant-tables 重启mysql服务,这时的mysql不需要密码即可登录数据库 然后进入mysql mysql>use mysql; mysql>更新 update user set password=pas...

architect刘源源
昨天
7
1
SpringBoot + Mybatis 配置多数据源(Srping boot 二)

前置条件,你已经配置好spring boot+mybatis,可以参考之前的博客 实现逻辑通过注解+aop切面编程来动态更新datasource 第一步,配置多个DataSource server: port: 8080freezing: ...

小海bug
昨天
14
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部