`
leo_dream
  • 浏览: 134048 次
  • 性别: Icon_minigender_1
  • 来自: 武汉
社区版块
存档分类
最新评论

避免 WebLogic JSP 重新编译

    博客分类:
  • java
阅读更多
1、JSP容器的过期检查机制:
JSP编译成Java源文件:
java weblogic.jspc -keepgenerated -d .\WEB-INF\classes index.jsp;
将在\WEB-INF\classes\jsp_servlet生成__index.java文件;
 
  // StaleIndicator interface
  public boolean _isStale() {
    weblogic.servlet.jsp.StaleChecker sci =(weblogic.servlet.jsp.StaleChecker)(getServletConfig().getServletContext());
    java.io.File f = null;
    long lastModWhenBuilt = 0L;
    if (sci.isResourceStale("/index.jsp", 1174625990234L, "8.1.6.0", "Asia/Shanghai")) return true;
    return false;
  }
 
  public static boolean _staticIsStale(weblogic.servlet.jsp.StaleChecker sci) {
    java.io.File f = null;
    long lastModWhenBuilt = 0L;
    if (sci.isResourceStale("/index.jsp", 1174625990234L, "8.1.6.0", "Asia/Shanghai")) return true;
    return false;
  }
 
源文件中包含两个方法,_staticIsStale(),其中包含文件名称、编译时间、版本、时区
1、 要检查的资源,比如,/foo.jsp。
2、 JSP页面的时间戳(长整型)。
3、 WebLogic Release Build版。
4、 当前机器的默认时区。
 
_isStale()方法被回调,决定是否需要重新编译。
weblogic.servlet.jsp.StaleChecker.isResourceStale()
 
2、静态包含文件变化,也会导致JSP重新编译:
<%@ include file="header.inc"%>
_staticIsStale()方法中也会包含header.inc文件时间的记录。
 
3、导致重新编译的原因:
JSP编译后,JSP源文件被上传或复制到另一目录下,源文件时间戳改变,导致重编译。
修改weblogic.xml的packagePrefix参数将导致重新编译。
修改weblogic.xml的workingDir参数也会导致重新编译。
将预构建的WAR部属到一个更新版本的WebLogic服务器会导致重新编译所有JSP。
 
4、如何控制过期检查:
 
weblogic.xml JSP文件检查周期设置(秒,-1为永不检查)
<weblogic-web-app>
  <jsp-descriptor>
   <jsp-param>
     <param-name>pageCheckSeconds </param-name>
     <param-value>-1 </param-value>
   </jsp-param>
  </jsp-descriptor>
</weblogic-web-app>
 
weblogic.xml /WEB-INF/class检查周期设置(秒,-1为永不检查)
<weblogic-web-app>
  <container-descriptor>
    <servlet-reload-check-secs>-1 </servlet-reload-check-secs>
  </container-descriptor>
</weblogic-web-app>
 
JSP类加载器
每个JSP都是在自己的类加载器(通常称为一次性类加载器)中加载的。该类加载器是Web应用程序类加载器的子加载器,负责加载有关的JSP类及其内部类(如果有的话)。
更加简单的控制个别JSP文件改动导致所有JSP重新编译。
分享到:
评论

相关推荐

    基于weblogic的jsp预编译代码示例

    在部署配置中,确保WebLogic知道已经预编译过的JSP文件,这样服务器在启动时就会直接加载预编译的Servlet,而不会尝试重新编译JSP。 五、优化与注意事项 - 预编译可能会增加磁盘空间的占用,因为每个JSP都会生成一...

    WebLogic平台下部署Servlet与Jsp

    **注意事项**:确保所有Java源代码已经正确编译,避免因未编译而直接打包导致部署失败。 ##### 3. 在Weblogic控制台中部署 **3.1 进入Weblogic控制台界面** 1. **重新登录控制台**:如前所述,通过浏览器登录...

    jsp网上书店源码weblogic

    【jsp网上书店源码weblogic】是一个基于JSP(JavaServer Pages)技术的网上书店项目,结合了WebLogic服务器和XML(eXtensible Markup Language)进行应用部署和配置。这个项目展示了如何利用JSP来构建动态网页,实现...

    Myeclipse+weblogic断点调试jsp.pdf

    对于使用Myeclipse集成开发环境和Weblogic应用服务器的开发者来说,能够熟练地进行JSP和Java代码的断点调试是提高工作效率的重要技能。本文将详细介绍如何在Myeclipse中利用Weblogic中间件进行断点调试。 首先,...

    weblogic 8.1下重新编译java类但不用重启服务器的方法

    默认情况下,WebLogic会监视JSP文件的变化,并在检测到更改时自动重新编译。然而,对于Java类,这种机制并不直接适用。为了解决这个问题,我们需要配置WebLogic的部署描述符文件`weblogic.xml`。 在`weblogic.xml`...

    weblogic&java精华

    1. WebLogic 里面的一个 class 修改了,需要重新启动 WebLogic 吗? 答案是不需要重新启动 WebLogic。WebLogic 提供了热部署机制,可以在不重新启动的情况下部署新的类文件。 2. Tomcat 关于 UTF-8 JSP 文件的 BUG ...

    WebLogic创建根上下文

    虽然在示例中为空,但在实际使用中可以设置JSP编译选项、错误报告等。 ##### 4. `container-descriptor`元素 此元素用于配置容器级别的设置,如异常处理、事务管理等。 ##### 5. `context-root`元素 此元素非常...

    WebLogic 配置文件

    6. 设置Java编译器,以提升JSP编译性能。 7. 利用WebLogic集群技术提高整体性能,通过负载均衡分散服务器压力。 8. 实时监控WebLogic域,及时发现性能瓶颈并采取相应措施。 总之,理解并优化WebLogic的配置文件对于...

    weblogic部署项目详细步骤使用手册

    Weblogic 部署项目详细步骤使用手册 Weblogic 是一种流行的 Java EE 服务器,可以部署各种类型的 Web...* Java EE:Java EE 是一种流行的企业级应用程序开发平台,提供了多种 API 和服务,例如 Servlet、JSP、EJB 等。

    weblogic

    - 使用Apache Ant工具可以自动化构建Java项目,包括编译、测试和打包成JAR、WAR或EAR文件。这对于部署到WebLogic服务器上的应用来说,是非常有用的。 **3. EJB的jar** - EJB(Enterprise JavaBeans)是Java EE中...

    jsp留言板(myeclipse、weblogic直接使用)

    本项目"jsp留言板(myeclipse、weblogic直接使用)"是用JSP技术构建的一个完整的留言板系统,具备留言、回复和删除等常见功能,适用于初学者学习和实际应用场景。 **1. JSP基础** - **JSP元素**: JSP页面包含指令...

    配制Apahce作为Weblogic的前端服务器

    如果不支持,则需要重新编译Apache并在编译时加入`--enable-module=so --enable-rule=SHARED_CORE`参数。 ##### 3. 修改Apache配置文件 完成插件安装后,还需要在Apache的配置文件`httpd.conf`中添加相应的配置...

    weblogic 开发经验汇总

    JSP编译后并不是直接的Servlet,而是生成一个实现了Servlet接口的类。 3. **XML文档定义与解析** - **定义形式**:XML文档可以使用DTD(Document Type Definition)或XML Schema进行定义。DTD是XML的早期验证机制...

    weblogic.xml说明

    7. **jsp-descriptor**:定制JSP页面的编译和处理行为,如设置JSP的编译选项。 8. **auth-filter**:定义认证过滤器,用于在请求到达Servlet之前进行身份验证。 9. **container-descriptor**:提供Web容器的全局...

    weblogic培训资料

    - **JSP配置**:JSP编译为Servlet运行,可通过JSP指令和表达式语言进行配置。 - **Session管理**:WebLogic支持基于cookie和URL重写的方式实现会话跟踪。 - **安全配置**:包括角色、权限、认证和授权,可利用...

    通过JSP的预编译消除性能瓶颈

    欢迎来到“管理角”这个... JSP预编译的必要性 本月的文章着眼于移除潜在的系统性能瓶颈,它通过解决一个最普通的问题――在服务器运行时间中的JSP (JavaServer Page)编译的系统开销问题,这个问题困扰着几乎所有的J2E

    weblogic 服务器

    - **JSP**:JavaServer Pages(JSP)使得HTML页面可以嵌入Java代码,WebLogic支持JSP的编译和执行。 - **EJB**:Enterprise JavaBeans(EJB)是Java EE的核心组件,WebLogic提供了对EJB 3.x的全面支持,包括实体...

Global site tag (gtag.js) - Google Analytics