如何在web.xml文件中引入其他的xml文件(拆分web.xml)

时间:2021-10-01 09:13:34

转载自:http://www.blogjava.net/jiangjf/archive/2009/04/09/264685.html

最近在做一个Servlet+javaBean的项目,服务器用的是tomcat。因此,所有的页面都是servlet请求,而且很多,需要在web.xml文件中进行配置。导致web.xml文件特别大,而且这个系统以后会做大,并且会出现系统拆分,为了便于以后拆分,于是想到将web.xml文件中的servlet和servlet-mapping能够从web.xml脱离出来,用其他xml文件保存然后在web.xml文件中引入这些文件,就想类似引入struts.config一样。

        在网上找了半天也没找到,还是学哥厉害,找到了答案,在此向他致敬。

        

        具体做法如下:

            1,按模块将servelet从web.xml中拷贝出来,放到一个test.xml中,如test.xml中内容如下:

                <servlet>

                       <servlet-name>testA</servlet-name>

                       <servlet-class>TestA</servlet-class>

              </servlet>

              <servlet-mapping>

                    <servlet-name>testA</servlet-name>

                    <url-pattern>/testA.do</url-pattern>

              </servlet-mapping>

            2,在我的WEB-INF/web.xml中引入test.xml

                <!DOCTYPE web-app

                    [<!ENTITY test SYSTEM 
"file:///D:/eclipse/workspace/Test/WebRoot/WEB-INF/test.xml">

                    <!ENTITY admin SYSTEM  "admin.xml">]>  

                <web-app version="2.5" 

                     xmlns="http://java.sun.com/xml/ns/j2ee" 

                     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 

                    xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_5.xsd" 

                >    

                &test;

                &admin;

        

            以上修改即可,web.xml会在开头引入你的test.xml.然后  &test;表示你放的地方。 

如果设定的是相当路径,可以如此设定:

            如果test.xml和web.xml在同一个文件夹,则   [<!ENTITY test SYSTEM 
"test.xml">]

            如果test.xml在web.xml所在文件夹的ccc文件夹中,则  [<!ENTITY test SYSTEM 
"ccc/test.xml">]





        我的servlet是2.5,2.4应该也管用,其他版本没试过。 



        这样,我可以在系统开始设计时,将各个模块分开,便于以后系统拆分。


如何在web.xml文件中引入其他的xml文件(拆分web.xml)的更多相关文章

  1. 如何在 vue 2&period;0&plus; 中引入全局的stylus文件,且能正常

    由于stylus在引用时,不能像一般的css文件直接在main.js中引用,就算引用了也会只能使用转换后的css,不能使用里面的函数,方法等,原因可能是:在这里引入会被直接编译成css,不能在别的模板 ...

  2. 由js文件中引入另外的js文件想到的

    1. html中,使用<script src="../static/js/xxx.js"></script>引入js文件.   2. 在js文件中,引入js ...

  3. 如何在一个js文件中引入另外的js文件

    例如想要在a.js中引用b.js.c.js和d.js document.write("<script language='javascript' src='b.js'></ ...

  4. 使用Maven构建Java Web项目时,关于jsp中引入js、css文件路径问题。

    今天有点闲,自己动手搭建一个Java Web项目,遇到jsp中引入js.css文件时路径不正确的问题,于是在网上查阅了很多资料,最终都无法解决问题,于是,上*找到了解决方法,这 ...

  5. 关于pom&period;xml文件中引入net&period;sf&period;json-lib出错问题

    关于pom.xml文件中引入net.sf.json-lib出错问题 在项目中引入以下依赖时一直报错 <dependency> <groupId>net.sf.json-lib& ...

  6. 解决在html中引入font-awesome的css文件后, 图标显示不出来

    今天小颖在做项目时,需要在html文件中引入font-awesome.min.css,但是引入后: 以前小颖在用font-awesome库里的图标时,都是直接从node中下包,然后在main.js中引 ...

  7. 【jsp】怎么在jsp文件中引入静态文件&lpar;&period;js &period;css&rpar;

    如果在jsp文件中引入静态文件比如(.js或.css等等),可以在使用 /项目名称/路径 的方式,但是这种方式如果在修改了项目了名称后就显得比较麻烦了.除了之外还许多方式,比如相对路径等等.一般情况下 ...

  8. maven在pom文件中引入了icepdf-core包,pom文件却莫名的报错,说jai&lowbar;core包missing

    maven在pom文件中引入了icepdf-core包,却莫名的报错,说jai_core包missing,把这个jai_core包引入之后还是一样报错,PS:icepdf-core使用的时候不用引用j ...

  9. JavaScript进阶&lpar;二&rpar;在一个JS文件中引用另一个JS文件

    在一个JS文件中引用另一个JS文件       转载地址:http://blog.csdn.net/zndxlxm/article/details/7875787 方法一 在调用文件的顶部加入下例代码 ...

随机推荐

  1. 重构第20天 提取子类&lpar;Extact SubClass&rpar;

    理解:提取子类就是把基类中,不是所有子类或者只有少数子类用到的方法,提取出来,调整到子类中去. 详解:下面的代码中我们用到一个单一的类Registration,来处理学生选课信息. public cl ...

  2. 用VMware 11&period;0虚拟机安装Win8 系统失败,提示&OpenCurlyDoubleQuote;shsucdx can&&num;39&semi;t install”

    研究了好久,网上那些更改bios的方法根本行不通,因为该版本的biso根本没有SATA选项!解决方法很简单,如下图: 重启虚拟机即可.

  3. java07循环结构

    public class WhileTest { // while循环结构 public static void main(String[] args) { System.out.println(&q ...

  4. Maven项目问题

    Maven项目部署 svn检出的为普通项目 1.普通项目转换为Maven项目: 选择项目右击->Maven4MyEclipse->Update Project 2.tomcat项目空间WE ...

  5. MySQL操作符

    简要介绍MySQL操作符 常用: 算术运算符.比较操作符.逻辑操作符.位运算符-- 一.算术运算符 +:加 -:减 *:乘 /:除,返回商 %,mod():除,返回余数 mysql> %,mod ...

  6. NOI 2002 贪吃的九头龙

    树形dp #include<bits/stdc++.h> #define N 305 using namespace std; struct LEB{ int to,nxt,w; }e[N ...

  7. nodejs&comma;koa2常用模块

    "dependencies": { "multer": "^1.2.0", "node-schedule": &quot ...

  8. python中利用redis构建任务队列&lpar;queue&rpar;

    Python中的使用标准queue模块就可以建立多进程使用的队列,但是使用redis和redis-queue(rq)模块使这一操作更加简单. Part 1. 比如首先我们使用队列来简单的储存数据:我们 ...

  9. java动态代理&lowbar;aop2

      一.什么是代理? 代理是一种常用的设计模式,其目的就是为其他对象提供一个代理以控制对某个对象的访问.代理类负责为委托类预处理消息,过滤消息并转发消息,以及进行消息被委托类执行后的后续处理. 代理模 ...

  10. Django Models相关

    Models的相关知识 1. AutoField:自增整数类型.根据 ID 自增长的 Int字段 2. IntegerField:整数类型 3. BigIntegerField:大整数类型.用于数值较 ...