`
leo_dream
  • 浏览: 135127 次
  • 性别: 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都会生成一...

    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部署Web项目

    在 Weblogic 中部署 Web 项目是指将编译后的文件夹或编译后的 WAR 文件部署到 Weblogic 服务器上,以便访问 Web 项目。下面将详细介绍 Weblogic 部署 Web 项目的过程。 一、创建 Web 项目 在部署 Web 项目之前,...

    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页面包含指令...

    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的全面支持,包括实体...

    IT运维宝典之WebLogic实战第5章(中)

    precompile-continue:** 如果启用,即使部分JSP编译失败,WebLogic Server仍将继续尝试预编译其他JSP文件,避免因单个文件问题导致整个预编译过程终止。但需要注意,只有在`precompile`设置为true时,此选项才生效...

Global site tag (gtag.js) - Google Analytics