luehe 2004/04/05 15:40:07 Modified: catalina/src/share/org/apache/catalina/core StandardContext.java Log: Allow webapp to override JspServlet (settings) inherited from global web.xml Revision Changes Path 1.123 +21 -2 jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/core/StandardContext.java Index: StandardContext.java =================================================================== RCS file: /home/cvs/jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/core/StandardContext.java,v retrieving revision 1.122 retrieving revision 1.123 diff -u -r1.122 -r1.123 --- StandardContext.java 25 Mar 2004 22:31:46 -0000 1.122 +++ StandardContext.java 5 Apr 2004 22:40:07 -0000 1.123 @@ -1733,10 +1733,29 @@ */ public void addChild(Container child) { - if (!(child instanceof Wrapper)) + if (!(child instanceof Wrapper)) { throw new IllegalArgumentException (sm.getString("standardContext.notWrapper")); + } + Wrapper wrapper = (Wrapper) child; + + /* + * Allow webapp to override JspServlet inherited from global web.xml. + * The webapp-specific JspServlet inherits all the mappings specified + * in the global web.xml, and may add additional ones. + */ + if ("jsp".equals(wrapper.getName())) { + Wrapper jspServlet = (Wrapper) findChild("jsp"); + if (jspServlet != null) { + String[] jspMappings = jspServlet.findMappings(); + for (int i=0; jspMappings!=null && i<jspMappings.length; i++) { + wrapper.addMapping(jspMappings[i]); + } + removeChild(jspServlet); + } + } + String jspFile = wrapper.getJspFile(); if ((jspFile != null) && !jspFile.startsWith("/")) { if (isServlet22()) {
--------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]