重复容易,改变很难
java,,,不错的玩具
posts - 21,  comments - 42,  trackbacks - 0
        最近在做一个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应该也管用,其他版本没试过。 

        这样,我可以在系统开始设计时,将各个模块分开,便于以后系统拆分。
posted on 2009-04-09 18:34 分享爱的空间 阅读(8340) 评论(17)  编辑  收藏

FeedBack:
# re: 如何在web.xml文件中引入其他的xml文件
2009-04-13 15:27 | Cenwave engineer
捕捉刹那间的灵感,记录思维的火花,好习惯,要保持!  回复  更多评论
  
# re: 如何在web.xml文件中引入其他的xml文件
2009-04-21 17:25 | up
java.io.FileNotFoundException: D:\eclipse-work\eclipse3.4.2\newtouch-logging-analysis-0.1\birt-web.xml (???????????)

请问 有没有遇到过,使用相对路径
<!DOCTYPE web-app [<!ENTITY birt SYSTEM "birt-web.xml">]>
启动时没有问题,
使用时却报错,FileNotFoundException

绝对路径应该是 D:\eclipse-work\eclipse3.4.2\newtouch-logging-analysis-0.1\src\main\webapp\birt-web.xml

为什么启动后再加载路径就不对了

能不能加 msn: wangpu0926@live.cn  回复  更多评论
  
# re: 如何在web.xml文件中引入其他的xml文件
2009-04-21 17:28 | up
不好意思写错了:

绝对路径应该是 D:\eclipse-work\eclipse3.4.2\newtouch-logging-analysis-0.1\src\main\webapp\WEB-INF\birt-web.xml

跟web.xml 同路径  回复  更多评论
  
# re: 如何在web.xml文件中引入其他的xml文件
2009-04-21 17:36 | 分享爱的空间
@up
文件的路径应该这么写:
D:/eclipse-work/eclipse3.4.2/newtouch-logging-analysis-0.1/birt-web.xml
是反斜杠"/",我的系统式windows下的tomcat  回复  更多评论
  
# re: 如何在web.xml文件中引入其他的xml文件
2009-04-21 17:37 | 分享爱的空间
由于没看到你的真实环境,你可以先使用以下方式试试用绝对路径看能不能找到指定文件,如果找得到,就是你的工程部署出了问题,如果没找到,就要检查一下你的路径了:
<!ENTITY test SYSTEM "file:///D:/eclipse/workspace/Test/WebRoot/WEB-INF/test.xml">@up
  回复  更多评论
  
# re: 如何在web.xml文件中引入其他的xml文件
2010-01-25 12:53 | G
如果test.xml和web.xml在同一个文件夹,则 [<!ENTITY test SYSTEM "test.xml">]
-----
在tomcat中, 这样直接指向的是tomcat/bin目录.  回复  更多评论
  
# re: 如何在web.xml文件中引入其他的xml文件
2010-01-26 10:19 | 分享爱的空间
@G
test.xml和web.xml在同一个文件夹,因为web.xml文件在站点根目录/WEB-INF/目录下,所以test.xml也在这个目录之下
因此,确实是在/WEB-INF/目录下.....
不知道你是根据什么文档来判断指向的是tomcat/bin目录
愿共同探讨  回复  更多评论
  
# re: 如何在web.xml文件中引入其他的xml文件[未登录]
2010-07-21 11:55 | ECHO
经过验证,使用相对路径时,确实是会去找tomcat/bin目录  回复  更多评论
  
# re: 如何在web.xml文件中引入其他的xml文件
2011-04-11 17:52 | christ
如果我把test.xml放在tomcat的conf目录下,那我用相对路径怎么引入?  回复  更多评论
  
# re: 如何在web.xml文件中引入其他的xml文件
2011-11-18 15:20 | intrejj
將項目部署到Linux上時,這樣配置不行哦!  回复  更多评论
  
# re: 如何在web.xml文件中引入其他的xml文件
2012-01-18 14:14 | 刘可如
确实如果在tomcat下部署,结果不对?请问如果部署到tomcat下,应该怎样写相对路径?@分享爱的空间
  回复  更多评论
  
# re: 如何在web.xml文件中引入其他的xml文件[未登录]
2012-02-11 10:47 | test
weblogic下不行  回复  更多评论
  
# re: 如何在web.xml文件中引入其他的xml文件[未登录]
2012-02-29 14:45 | jk
部署在jboss里面就会出错!  回复  更多评论
  
# re: 如何在web.xml文件中引入其他的xml文件
2013-11-20 10:38 | 离歌笑
不错  回复  更多评论
  
# re: 如何在web.xml文件中引入其他的xml文件
2014-09-15 15:12 | like
不行啊!报错的  回复  更多评论
  
# re: 如何在web.xml文件中引入其他的xml文件
2016-03-29 10:33 | 风alone
谢谢,分享  回复  更多评论
  
# re: 如何在web.xml文件中引入其他的xml文件
2016-07-19 11:05 | xdd
text.xml没有根路径不报错吗  回复  更多评论
  

只有注册用户登录后才能发表评论。


网站导航:
 

<2009年4月>
2930311234
567891011
12131415161718
19202122232425
262728293012
3456789

常用链接

留言簿(5)

随笔档案

文章档案

相册

搜索

  •  

最新评论

阅读排行榜

评论排行榜