文档章节

Servlet3.0 模块化

王念博客
 王念博客
发布于 2017/07/24 11:23
字数 386
阅读 55
收藏 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

© 著作权归作者所有

共有 人打赏支持
王念博客
粉丝 130
博文 95
码字总数 52733
作品 0
虹口
程序员
Servlet3.0新特性剖析

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

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

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

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

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

无为
2012/07/12
799
3
关于Servlet3.0与Servlet3.1大神们你们怎么选择?

问题背景: Servlet3.1新特性——非阻塞式IO,ServletInputStream抽象类多了几个方法isFinished()、isReady()、setReadListener(ReadListener listener)。这些在之前的Servlet3.0里是没有的。...

雨花石
2017/01/10
839
1
24K_铂金会员/RedisFlag

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

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

没有更多内容

加载失败,请刷新页面

加载更多

下一页

spring 事件

ContextRefreshedEvent Event raised when an {@code ApplicationContext} gets initialized or refreshed. ContextClosedEvent Event raised when an {@code ApplicationContext} gets clos......

Canaan_
34分钟前
1
0
leetcode两数之和

leetcode中求两数之和解决方法 给定一个整数数组和一个目标值,找出数组中和为目标值的两个数。 你可以假设每个输入只对应一种答案,且同样的元素不能被重复利用。 给定 nums = [2, 7, 11, ...

lar555
51分钟前
1
0
js实现限制网页内容复制

转载 在我们做的网页发到网上后,如果访客看到比较喜欢的内容,只要复制就可以变为自己的,自己辛辛苦苦弄半天还不及人家的一下复制,有时为了只让访客看到,而不能让它们复制内容,就用Jav...

lc_comeon
55分钟前
1
0
jenkins将spring boot项目发布到阿里云镜像中

1、spring boot项目 1.1 pom.xml配置 <artifactId>xxx-docker</artifactId><properties><project.build.sourceEncoding>UTF-8</project.build.sourceEncoding><project.reporting.......

xixingzhe
今天
0
0
qsv格式可以在电视上播放吗

  大家都知道qsv格式是爱奇艺的独家缓存格式,是加密的,一般的播放器是无法播放的,只能在爱奇艺播放器上播放,如果想要在电视上播放,就必须要安装爱奇艺播放器,比较麻烦。其实还有一种...

萤火的萤火
今天
1
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部