文档章节

Servlet3.0 模块化

王念博客
 王念博客
发布于 2017/07/24 11:23
字数 386
阅读 52
收藏 1
点赞 0
评论 0

前言:原本一个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

© 著作权归作者所有

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

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

长平狐 ⋅ 2012/09/03 ⋅ 0

Servlet3.0异步的实现需要http1.1的支持?

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

张凯乐 ⋅ 2016/12/30 ⋅ 3

jFinal中servlet3.0支持问题

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

无为 ⋅ 2012/07/12 ⋅ 3

关于Servlet3.0与Servlet3.1大神们你们怎么选择?

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

雨花石 ⋅ 2017/01/10 ⋅ 1

Maven模块化开发

最近在做一个项目,这个项目有个特点,含有众多业务模块,各业务模块间关联内容很少,且公司领导又想达到各模块可快速单独拆分使用的效果(说白了就是公司没钱,想把这个项目做完后,做下拆分...

wosidanyang ⋅ 2017/08/16 ⋅ 0

24K_铂金会员/RedisFlag

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

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

多线程和Servlet3.0中的异步有什么区别啊

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

jerry2012 ⋅ 2013/09/14 ⋅ 0

Servlet3.0中使用异常与使用comet4j这种依赖与服务器本身的NIO哪个更好

偶尔看到comet4j,想用这玩意做个东西玩下,但后来又看到了servlet3.0。这两个玩意,如果真正去做服务器长连与push,那么,哪个更好些呢?理论上来讲,servlet3.0是规范,可以在各个服务器间移...

tianpeng91 ⋅ 2014/08/25 ⋅ 1

使用Servlet3.0的Part实现文件上传

在Servlet3.0之前,处理文件一般都是借助第三方组件,常用的commons fileuploads。 而Servlet3.0中使用Part方便的实现了文件上传。 实现文件上传需要注意以下两点内容: 需要添加@MultipartC...

Mr_K ⋅ 2016/06/06 ⋅ 0

JFinal servlet3.0 web-fragment模块中view页面的读取问题

@JFinal 你好,想跟你请教个问题: Jfianl 在servlet3.0项目中,render("/xxx.html") 会出现路径问题。 因为servlet3.0项目中的web-fragment类型的模块项目是将html等资源打成jar包的,但是 ...

gdyxml2000 ⋅ 2016/11/17 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

sbt网络问题解决方案

http://dblab.xmu.edu.cn/blog/maven-network-problem/

狐狸老侠 ⋅ 8分钟前 ⋅ 0

大数据,必须掌握的10项顶级安全技术

我们看到越来越多的数据泄漏事故、勒索软件和其他类型的网络攻击,这使得安全成为一个热门话题。 去年,企业IT面临的威胁仍然处于非常高的水平,每天都会看到媒体报道大量数据泄漏事故和攻击...

p柯西 ⋅ 52分钟前 ⋅ 0

Linux下安装配置Hadoop2.7.6

前提 安装jdk 下载 wget http://mirrors.hust.edu.cn/apache/hadoop/common/hadoop-2.7.6/hadoop-2.7.6.tar.gz 解压 配置 vim /etc/profile # 配置java环境变量 export JAVA_HOME=/opt/jdk1......

晨猫 ⋅ 57分钟前 ⋅ 0

crontab工具介绍

crontab crontab 是一个用于设置周期性被执行的任务工具。 周期性执行的任务列表称为Cron Table crontab(选项)(参数) -e:编辑该用户的计时器设置; -l:列出该用户的计时器设置; -r:删除该...

Linux学习笔记 ⋅ 今天 ⋅ 0

深入Java多线程——Java内存模型深入(2)

5. final域的内存语义 5.1 final域的重排序规则 1.对于final域,编译器和处理器要遵守两个重排序规则: (1)在构造函数内对一个final域的写入,与随后把这个被构造对象的引用赋值给一个引用...

江左煤郎 ⋅ 今天 ⋅ 0

面试-正向代理和反向代理

面试-正向代理和反向代理 Nginx 是一个高性能的反向代理服务器,但同时也支持正向代理方式的配置。

秋日芒草 ⋅ 今天 ⋅ 0

Spring 依赖注入(DI)

1、Setter方法注入: 通过设置方法注入依赖。这种方法既简单又常用。 类中定义set()方法: public class HelloWorldOutput{ HelloWorld helloWorld; public void setHelloWorld...

霍淇滨 ⋅ 昨天 ⋅ 0

马氏距离与欧氏距离

马氏距离 马氏距离也可以定义为两个服从同一分布并且其协方差矩阵为Σ的随机变量之间的差异程度。 如果协方差矩阵为单位矩阵,那么马氏距离就简化为欧氏距离,如果协方差矩阵为对角阵,则其也...

漫步当下 ⋅ 昨天 ⋅ 0

聊聊spring cloud的RequestRateLimiterGatewayFilter

序 本文主要研究一下spring cloud的RequestRateLimiterGatewayFilter GatewayAutoConfiguration @Configuration@ConditionalOnProperty(name = "spring.cloud.gateway.enabled", matchIfMi......

go4it ⋅ 昨天 ⋅ 0

Spring clound 组件

Spring Cloud技术应用从场景上可以分为两大类:润物无声类和独挑大梁类。 润物无声,融合在每个微服务中、依赖其它组件并为其提供服务。 Ribbon,客户端负载均衡,特性有区域亲和、重试机制。...

英雄有梦没死就别停 ⋅ 昨天 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部