快捷搜索:

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:sunsoftj2se1.3.1sdkin),以得到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:eawlserv -er6.1libweblogic.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编译器可以编译一个JSP文件或一组JSP文件,并且可以经由过程设置敕令行选项,编译器可以以不合的措施事情。下面给出一个例子:

java

weblogic.jspc

-webapp mywebapp

-compiler javac

-compileFlags "-g"

-classpath /u/apps/dist/src/lib.jar

-d .

-package com.slackwerks.mywebapp.jsp

-commentary

-keepgenerated

-k

mywebappindex.jsp

这篇文章只枚举了一个例子,假如你要想加倍懂得weblogic.jspc若何能在你的情况中应用和治理的话,请参阅www.slackwerks.com/wldj,我们供给了对整套的事情选项,应用的含义以及相关联问题的评论争论。

结论

虽然关于JSP预编译的问题较多,但许多的道路可以办理。然而,斟酌到上文所说的那些优点和毛病,应该较轻易的看出经过weblogic.jspc预编译的法度榜样要领是为降服JSP固有的毛病的一个机动的选项。在开拓阶段的早期,认识该对象将改良临盆时代利用法度榜样的治理和机能状况。

您可能还会对下面的文章感兴趣: