加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

Compiling JSPs Using the Command-Line Compiler---官方

发布时间:2020-12-14 06:20:12 所属栏目:Java 来源:网络整理
导读:Web Server provides the following ways of compiling JSP 2.1-compliant source files into servlets: JSP are automatically compiled at runtime. The? jspc ?command-line tool,described in this section,enables you to precompile JSPs at the comma

Web Server provides the following ways of compiling JSP 2.1-compliant source files into servlets:

  • JSP are automatically compiled at runtime.

  • The?jspc?command-line tool,described in this section,enables you to precompile JSPs at the command line.

You must disable dynamic reloading of JSP when deploying a web application archive that has precompiled JSP without the correspondingjsp?source files. To do this,set the?reload-interval?property to?-1?in the?jsp-config?element of the?sun-web.xml?file. For more information,see?.

The?jspc?command-line tool is located under?install_dir/bin. The format of the?jspc?command is as follows:

jspc [options] file_specifier

The following table shows what?file_specifier?can contain in the?jspc?command.

Table?5–1 File Specifiers for the?jspc?Command

?File Specifier ?

files

One or more JSP files to be compiled.?

-webappdir

A directory containing a web application. All JSPs in the directory and its subdirectories are compiled. You cannot specify a WAR,JAR,or ZIP file. You must first extract such files to an open directory structure.?

The following table shows the basic options for the?jspc?command.

Table?5–2 Basic?jspc?Options

Description ?

?Option ?

-help

Enables quiet mode (same as?-v0). Only fatal error messages are displayed.

-v?

Verbose mode.?

-d?dir

Specifies the output directory for the compiled JSPs. Package directories are automatically generated based on the directories containing the uncompiled JSPs. The default top-level directory is the directory from which?jspc?is invoked.

-l

Specifies the name of the JSP on failure.?

-s

Specifies the name of the JSP on success.?

-p?name

Specifies the name of the target package for all specified JSPs,overriding the default package generation performed by the?-d?option.

-c?name

Specifies the target class name of the first JSP compiled. Subsequent JSPs are unaffected.?

-mapped

Generates separate?write()?calls for each HTML line in the JSP.

die(#)

Generates an error return code (#) on fatal errors (default 1).?

-uribase?dir

Specifies the URI directory to which compilations are relative. Applies only to explicitly declared JSP files.?

This path is the location of each JSP file relative to the?uriroot. If this location cannot be determined,the default is?/.

-uriroot?dir

A directory containing a web application. All JSPs in the directory and its subdirectories are compiled. You cannot specify a WAR,or ZIP file. You must first extract such files to an open directory structure.?

-compile

Compiles the generated servlets.?

-genclass

Generates class files in addition to Java files.?

-webinc?file

Creates a partial servlet mappings in the file.?

-web.xml?file

Creates a complete?web.xml?structure in the file.

-ieplugin?clsid

Java Plug-in?classid?for Internet Explorer.

classpath?path

Overrides the?java.class.path?system property

xpoweredBy

Add the X-Powered-By response header.?

-trimSpaces

Trims spaces in text templates between actions and directives.?

-smap

Generates SMAP info for JSR 45 debugging.?

-dumpsmap

Dumps SMAP info for JSR45 debugging into a file.?

-compilerSourceVMrelease

Provides source compatibility with specified JDKTM?release.

-compilerTargetVMrelease

Generates class files for specified VM version.?

For example,this command compiles the?hello?JSP file and writes the compiled JSP under?hellodir:

jspc -d hellodir -genclass hello.jsp

This command compiles all of the JSP files in the web application under?webappdir?into class files under?jspclassdir:

jspc -d jspclassdir -genclass -webapp webappdir

To use either of these precompiled JSPs in a web application,put the classes under?hellodir?or?jspclassdir?into a JAR file,place the JAR file under?WEB-INF/lib,and set the?reload-interval?property to?-1?in the?sun-web.xml?file.

When a JSP is compiled,a package is created for it. The?package name starts with?jspc. For example,the generated package name for~/SOURCE/JSP/myjsps/hello.jsp?is precompiled as?jspc -webapp ~/SOURCE -d ~/test1/test2/test3. The generated servlet is located in?~/test1/test2/test3/org/apache/jsp/JSP/myjsps/hello_jsp.java?and defined in?org.apache.jsp.JSP.myjsps. The path for?hello.jsp?is derived from the directory in which the JSP is located.

In another example,the same?hello.jsp?is precompiled using the?—p?option,and is precompiled as?jspc -webapp ~/SOURCE -d ~/test1/test2/test3 -p app1.app2.app3. The generated servlet is located in~/test1/test2/test3/app1/app2/app3/JSP/myjsps/hello_jsp.java?and defined inside package?app1.app2.app3.JSP.myjsps. Note that the package specified with the?-p?option (app1.app2.app3) overrides the standard?org.apache.jsp?but does not affect the package derived from the directory in which the JSP is located. Also,note that the?-d?option does not affect on the generated package name.

For information about the various JSP configuration parameters you can use,see the section?jsp-config?Element. The JSP compiler uses the default values for parameters that are not included in the file.

原文地址:https://docs.oracle.com/cd/E19146-01/821-0790/abxcc/index.html

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

Description ?