Class Compiler

java.lang.Object
org.apache.jasper.compiler.Compiler

public class Compiler extends Object
Main JSP compiler class.
  • Field Details

  • Constructor Details

  • Method Details

    • generateJava

      private void generateJava() throws Exception
      Compile the jsp file into equivalent servlet in java source
      Throws:
      Exception
    • setJavaCompilerOptions

      private void setJavaCompilerOptions()
    • generateClass

      private void generateClass() throws FileNotFoundException, JasperException, Exception
      Compile the servlet from .java file to .class file
      Throws:
      FileNotFoundException
      JasperException
      Exception
    • compile

      public void compile(boolean compileClass) throws FileNotFoundException, JasperException, Exception
      Compile the jsp file from the current engine context. As an side- effect, tag files that are referenced by this page are also compiled.
      Parameters:
      compileClass - If true, generate both .java and .class file If false, generate only .java file
      Throws:
      FileNotFoundException
      JasperException
      Exception
    • isOutDated

      public boolean isOutDated()
      This is a protected method intended to be overridden by subclasses of Compiler. This is used by the compile method to do all the compilation.
    • isOutDated

      public boolean isOutDated(boolean checkClass)
      Determine if a compilation is necessary by checking the time stamp of the JSP page with that of the corresponding .class or .java file. If the page has dependencies, the check is also extended to its dependeants, and so on. This method can by overidden by a subclasses of Compiler.
      Parameters:
      checkClass - If true, check against .class file, if false, check against .java file.
    • getErrorDispatcher

      public ErrorDispatcher getErrorDispatcher()
      Gets the error dispatcher.
    • getPageInfo

      public PageInfo getPageInfo()
      Gets the info about the page under compilation
    • setPageInfo

      public void setPageInfo(PageInfo pageInfo)
      Sets the info about the page under compilation
    • getCompilationContext

      public JspCompilationContext getCompilationContext()
    • removeGeneratedFiles

      public void removeGeneratedFiles()
      Remove generated files
    • removeGeneratedClassFiles

      public void removeGeneratedClassFiles()
    • initJavaCompiler

      private void initJavaCompiler() throws JasperException
      Get an instance of JavaCompiler. If a compiler is specified in Options, use that, else if Running with JDK 6, use a Jsr199JavaCompiler that supports JSR199, else if eclipse's JDT compiler is available, use that. The default is to use javac from ant.
      Throws:
      JasperException
    • getClassFor

      private Class getClassFor(String className)
    • systemJarInWebinf

      private boolean systemJarInWebinf(String path)
      Return true if the path refers to a jar file in WEB-INF and is a system jar.