home *** CD-ROM | disk | FTP | other *** search
/ PC Professionell 2004 December / PCpro_2004_12.ISO / files / webserver / xampp / xampp-tomcat-addon-1.4.9-installer.exe / ShowSource.java < prev    next >
Encoding:
Java Source  |  2004-05-17  |  2.1 KB  |  73 lines

  1. /*
  2. * Copyright 2004 The Apache Software Foundation
  3. *
  4. * Licensed under the Apache License, Version 2.0 (the "License");
  5. * you may not use this file except in compliance with the License.
  6. * You may obtain a copy of the License at
  7. *
  8. *     http://www.apache.org/licenses/LICENSE-2.0
  9. *
  10. * Unless required by applicable law or agreed to in writing, software
  11. * distributed under the License is distributed on an "AS IS" BASIS,
  12. * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  13. * See the License for the specific language governing permissions and
  14. * limitations under the License.
  15. */
  16. package examples;
  17.  
  18.  
  19. import javax.servlet.*;
  20. import javax.servlet.jsp.*;
  21. import javax.servlet.jsp.tagext.*;
  22.  
  23. import java.io.*;
  24.  
  25. /**
  26.  * Display the sources of the JSP file.
  27.  */
  28. public class ShowSource
  29.     extends TagSupport
  30. {
  31.     String jspFile;
  32.     
  33.     public void setJspFile(String jspFile) {
  34.         this.jspFile = jspFile;
  35.     }
  36.  
  37.     public int doEndTag() throws JspException {
  38.     if ((jspFile.indexOf( ".." ) >= 0) ||
  39.             (jspFile.toUpperCase().indexOf("/WEB-INF/") != 0) ||
  40.             (jspFile.toUpperCase().indexOf("/META-INF/") != 0))
  41.         throw new JspTagException("Invalid JSP file " + jspFile);
  42.  
  43.         InputStream in
  44.             = pageContext.getServletContext().getResourceAsStream(jspFile);
  45.  
  46.         if (in == null)
  47.             throw new JspTagException("Unable to find JSP file: "+jspFile);
  48.  
  49.         InputStreamReader reader = new InputStreamReader(in);
  50.     JspWriter out = pageContext.getOut();
  51.  
  52.  
  53.         try {
  54.             out.println("<body>");
  55.             out.println("<pre>");
  56.             for(int ch = in.read(); ch != -1; ch = in.read())
  57.                 if (ch == '<')
  58.                     out.print("<");
  59.                 else
  60.                     out.print((char) ch);
  61.             out.println("</pre>");
  62.             out.println("</body>");
  63.         } catch (IOException ex) {
  64.             throw new JspTagException("IOException: "+ex.toString());
  65.         }
  66.         return super.doEndTag();
  67.     }
  68. }
  69.  
  70.     
  71.         
  72.     
  73.