文档章节

Servlet3.0 模块化

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

© 著作权归作者所有

共有 人打赏支持
王念博客
粉丝 154
博文 100
码字总数 74814
作品 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

没有更多内容

加载失败,请刷新页面

加载更多

RESTful架构详解

1. 什么是REST REST全称是Representational State Transfer,中文意思是表述(编者注:通常译为表征)性状态转移。 它首次出现在2000年Roy Fielding的博士论文中,Roy Fielding是HTTP规范的主...

kitty1116
31分钟前
1
0
精通Spring Boot——第十篇:Quartz动态配置定时任务

定时任务简述 定时任务,在企业开发中尤其重要,很多业务都是需要定时任务去做的。比如说10点开售某件东西,凌晨0点统计注册人数,统计其他各种等等。这个时候不可能说让人为的去开启某个开关...

developlee的潇洒人生
33分钟前
1
0
将一些内容输出到文件中

看到一个面试题,如下: 第八题: 一个字符串将其输入到一个文件中,代码如下: <?php$a = '[{"teamId": "43", "serial": "1"},{"teamId": "1", "serial": "2"},{"teamId": "14", "serial":...

vinci321
42分钟前
1
0
nginx的简单使用:负载均衡

nginx:反向代理的服务器;用户发送请求到nginx,nginx把请求发送给真正的服务器,等待服务器处理完数据并返回,再把数据发送给用户。 nginx作为一个反向代理服务器,能缓存我们项目的静态文...

osliang
今天
2
0
网站title标题被改并被百度网址安全中心提醒的解决办法

国庆假日期间我们Sine安全接到众多网站站长求助网站标题被改导致在百度搜索中百度安全中心提醒被拦截,导致网站正常用户无法浏览网站被跳转到一些菠菜du博网站,而且很明显的一个特征就是在百...

网站安全
今天
1
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部