jsp

位置:IT落伍者 >> jsp >> 浏览文章

jsp预编译问题


发布日期:2024年03月02日
 
jsp预编译问题

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

程序方式的预编译

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

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

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

● 类可以通过集群部署

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

执行weblogicjspc

为了更有效的使用weblogicjspc你必须首先了解它的用法和语法这篇文章我们将利用WLS SP的工具的功能注意下面给出的语法和最好的惯例应该应用于WLS 的所有版本以及新的WLS

为了调用命令行JSP编译器(weblogicjspc)你必须确定下面的内容

● PATH环境变量必须包含你机器上安装的JSE包的二进制目录(例如/opt/jse//sdk/bin 或者c:sunsoftjsesdkin)以获得JVM运行时的支持如果你打算使用javac作为你的JSP编译的Java编译器要确定PATH包含全部Java 的软件开发工具包(SDK)的二进制目录并且不仅仅是JRE(Java Runtime EngineJava运行时间引擎)因为没有编译器和JRE关联 如果你打算使用一个编译器而不是javac(例如 Jikes)也要为那个编译器确定在PATH中包含正确的目录

● 设置Java系统类路径用来包含来自WLS SP 安装目录的weblogicjar文件通过在产品库目录下默认建立(例如/opt/bea/wlserver/lib/weblogicjar或者c:eawlserv erlibweblogicjar)此外请确定在JSP编译阶段中你可能需要的参考类(JAR或类文件)也在你的类路径中

在第一次执行weblogicjspc之前你需要测试你的命令行配置是否是按上述配置它可以通过简单运行一个WLS版本检查来完成使用命令java weblogicversion这个命令应该返回下面的内容

which should return the following:

WebLogic Server SP // ::

#

WebLogic XML Module SP //

:: #

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

一般的weblogicjspc的语法如下面给出的

java weblogicjspc [options] …

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

java

weblogicjspc

webapp mywebapp

compiler javac

compileFlags g

classpath /u/apps/dist/src/libjar

d

package comslackwerksmywebappjsp

commentary

keepgenerated

k

mywebappindexjsp

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

结论

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

               

上一篇:JSP中读文件和写文件的例子

下一篇:JSP和BEAN详细剖析