tomcat修改web.xml文件名

  1. importjavax.servlet.ServletContext;
  2. importorg.apache.catalina.Globals;
  3. importorg.apache.catalina.Lifecycle;
  4. importorg.apache.catalina.LifecycleEvent;
  5. importorg.apache.catalina.LifecycleListener;
  6. importorg.apache.catalina.core.StandardContext;
  7. /**
  8. *指定tomcat加载web.xml文件位置<br>
  9. *配置如下:修改TOMCAT_HOME/conf/servlet.xml内的context标签,在其之间加入如下语句<br>
  10. *<ListenerclassName="SpecifyWebXmlLifecycleListener"webXmlPath="/WEB-INF/zdb.xml"/><br>
  11. *<br>
  12. *然后拷贝本类到TOMCAT_TOMCAT/lib/目录下.
  13. *@authorzhangdb
  14. *
  15. */
  16. publicclassSpecifyWebXmlLifecycleListenerimplementsLifecycleListener{
  17. //web.xml文件相对位置
  18. privateStringwebXmlPath;
  19. publicvoidlifecycleEvent(LifecycleEventevent){
  20. Lifecyclelifecycle=event.getLifecycle();
  21. if("before_start".equalsIgnoreCase(event.getType())){
  22. StandardContextcontext=(StandardContext)lifecycle;
  23. ServletContextservletContext=context.getServletContext();
  24. StringrealWebXmlPath=context.getDocBase()+this.webXmlPath;
  25. servletContext.setAttribute(Globals.ALT_DD_ATTR,realWebXmlPath);
  26. System.out.println("substitutionweb.xmlfile:["+realWebXmlPath
  27. +"]!");
  28. }
  29. }
  30. publicStringgetWebXmlPath(){
  31. returnwebXmlPath;
  32. }
  33. publicvoidsetWebXmlPath(StringwebXmlPath){
  34. this.webXmlPath=webXmlPath;
  35. }
  36. }
tomcat的server.xml配置

<Context path="" docBase="E:\workspace\dyit-site\WebRoot">
<Listener className="SpecifyWebXmlLifecycleListener" webXmlPath="/WEB-INF/web_xml/jtt-wan-web.xml"/>
</Context>

猜你喜欢

转载自kingviker.iteye.com/blog/1685826