选择显示字体大小

jsp预编译问题


这个方法是到目前为止进行jsp预编译最方便的途径(“flick-a-switch” 途径),他有许多指出来毫无意义的缺点。如果一个错误在jsp的编译期间或在部署(或重新部署) 的时候发生,web 应用程序的预编译将会在例外处暂停。另外,如果在一个特定的web应用程序里面有许多jsp文件的情况,declarative预编译显著的影响着部署时间,阻断部署直到所有的文件都被编译。对于大型的应用程序,当出现数以百计的jsp 文件以declarative预编译被执行的时候,这种部署时间趋向以分钟来计算 (在某些情况10到15分钟,其他情况可能更长时间)。设想开始一个服务器实例,在一个特定的web应用程序周期内进入部署状态用declarative 预编译激活。如果在应用内有很多的jsp文件以及部署,接近完成时就已经花费了大量的时间,在编译期间由于抛出一个例外而突然失败,当然会引起挫折感。虽然起先看起来比较方便,但declarative 编译对生产系统管理造成重大的风险,因此应该在经过慎重的考虑后再使用它。

程序方式的预编译

在wls下最可靠的预编译jsp的方法是使用java命令行,weblogic.jspc,它位于wls安装的lib目录之下的weblogic.jar文件中。这个工具允许开发者在发展阶段和在部署前解决编译时间问题的时候编译需要的jsp文件。它也为生产系统提供一个有能力实现jsp预编译的管理员。这种用法的主要好处是:

● 文件可以被预编译一次然后可以被多次部署。(这不被服务器实例的重复利用所影响)

● 编译时的例外可以被预先解决而不影响部署。

● 类可以通过集群部署。

使用weblogic.jspc的缺点是需要人工干涉,并且它在开发时并当在jsp文件变得过时的时候必须被重新运行。然而,考虑到前面的两个方法的讨论,我们几乎不能将这种不方便当成该方法的一个缺点,因此推荐它作为最可靠和最灵活的机制来实现jsp预编译。

执行weblogic.jspc

为了更有效的使用weblogic.jspc,你必须首先了解它的用法和语法。这篇文章我们将利用wls6.1 sp2的工具的功能。注意:下面给出的语法和最好的惯例应该应用于wls 6.1的所有版本以及新的wls 7.0。

为了调用命令行jsp编译器(weblogic.jspc),你必须确定下面的内容:

● path环境变量必须包含你机器上安装的j2se1.3包的二进制目录(例如,/opt/j2se/1.3.1/sdk/bin 或者c:\sunsoft\j2se\1.3.1\sdk\bin),以获得jvm运行时的支持。如果你打算使用javac作为你的jsp编译的java编译器,要确定path包含全部java 1.3 的软件开发工具包(sdk)的二进制目录,并且不仅仅是jre(java runtime engine,java运行时间引擎),因为没有编译器和jre关联。 如果你打算使用一个编译器而不是javac(例如 jikes),也要为那个编译器确定在path中包含正确的目录。

● 设置java系统类路径用来包含来自wls 6.1 sp2 安装目录的weblogic.jar文件,通过在产品库目录下默认建立(例如,/opt/bea/wlserver6.1/lib/weblogic.jar或者c:\bea\wlserv -er6.1\lib\weblogic.jar)。此外,请确定在jsp编译阶段中你可能需要的参考类(jar或类文件)也在你的类路径中。

在第一次执行weblogic.jspc之前,你需要测试你的命令行配置是否是按上述配置。它可以通过简单运行一个wls版本检查来完成,使用命令“java weblogic.version”,这个命令应该返回下面的内容:

which should return the following:
weblogic server 6.1 sp2 12/18/2001 11:13:46
#154529
weblogic xml module 6.1 sp2 12/18/2001
11:28:02 #154529

如果你的输出和上面的不相似(和你运行的版本相对应),在进行jsp预编译前,要重新访问path和类路径变量将其设置成你的当前命令行环境。

一般的weblogic.jspc的语法如下面给出的:

java weblogic.jspc [options] <jsp files>...

在一个编译器的单一调用中默认情况下jsp编译器可以编译一个jsp文件或一组jsp文件,并且可以通过设置命令行选项,编译器可以以不同的方法工作。下面给出一个例子:

java
weblogic.jspc
-webapp mywebapp
-compiler javac
-compileflags &quot;-g&quot;
-classpath /u/apps/dist/src/lib.jar
-d .
-package com.slackwerks.mywebapp.jsp
-commentary
-keepgenerated
-k
mywebapp\index.jsp

这篇文章只列举了一个例子,如果你要想更加了解weblogic.jspc如何能在你的环境中使用和管理的话,请参阅www.slackwerks.com/wldj,我们提供了对整套的工作选项,使用的含义以及相关联问题的讨论。

结论


虽然关于jsp预编译的问题较多,但许多的途径可以解决。然而,考虑到上文所说的那些优点和缺点,应该较容易的看出经由weblogic.jspc预编译的程序方式是为克服jsp固有的缺点的一个灵活的选项。在开发阶段的早期,熟悉该工具将改善生产期间应用程序的管理和性能状况。


 


关键字 本文所属关键字

相关 与本文相关文章

分类 所有文章关键字导航

源码编程相关

Java   Asp   PHP   .Net   XML   C/C++   CGI   VB   Jsp   J2ee   J2se   J2me   EJB   Servlet   Tomcat   Resin   Struts   Weblogic   Eclipse   ANT   GUI   JMS   Web servise   IDEA   Webphere   Hibernate   Spring   Jboss   Applet   Swing   Socket   Javamail   Perl   Ajax   P2P   安全   模式   框架   测试   开源   游戏

SQL数据库相关

My-SQL   Ms-SQL   Access   DB2   Oracle   Sybase   SQLserver   索引   存储过程   加密   数据库   分页   视图  

手机无线相关

3G   Wap   CDMA   GRPS   GSM   IVR   彩信   短信   无线   增值业务

网页设计制作相关

HTML   CSS   网页配色   网页特效   Javascript   VBscript   Dreamweaver   Frontpage   JS   Web   网站设计

网站建设推广相关

建站经验   网站优化   网站排名   推广   Alexa

操作系统/服务器相关

Windows XP   Windows 2000   Windows 2003   Windows Me   Windows 9.x   Linux   UNIX   注册表   操作系统   服务器   应用服务器

图形图像多媒体相关

Photoshop   Fireworks   Flash   Coreldraw   Illustrator   Freehand   Photoimpact   多媒体   图形图像

标准 网站致力的规范

Valid CSS!

无不良内容,无不良广告,无恶意代码

Valid XHTML 1.0 Transitional

creativecommons