问题现象:

今天有现场反映,访问应用的个别页面报错,报错内容如下:

于是先查看其他现场,都是好的;根据报错信息,提示的意思是jsp解析不了。

结合上面2个情况,排除代码问题,应该是现场WAS环境问题。(现场WAS是6.1)

另外有个重要信息:大部分jsp页面是可以正常编译访问的,就是个别jsp编译有问题;

于是排查该jsp,发现里面用了jdk5.0的新特性,问题明了了,

问题原因:

1.缺省情况下,JSP 编译器用 1.3 的规范来编译 JSP 文件,如果您在 WAS V6.1 里用了带 JDK 1.5 的特性的 JSP,编译会失败。

2.Was6.1开始支持jdk5  其中jdkSourceLevel 是新引入的支持 JDK 5 的JSP 引擎参数。

该参数的默认值为 13(14-jdk1.4   15-jdk1.5)。该参数需要重新生成 Java 源代码。

3.在WAS6.1版本中使用JDK5.0,但是如果在JSP中嵌入的代码包含JDK5.0的新特性,编译的时候会出错。所以应用程序部署Was完成之后需要设置相应的JSP引擎配置参数,具体如下:

“jdkSourceLevel” 是在 WasV6.1 中引入的支持 JDK 5 新特性的 JSP 引擎参数。此参数的缺省值为 13。

以下是 “jdkSourceLevel”的可选 参数值:
       13(缺省值) - 此值将禁用 JDK 1.4 和 JDK 5.0 的所有新的语言功能部件。 
       14 - 此值将启用断言工具并将禁用 JDK 5.0 的所有新的语言功能部件。 
       15 - 此值将启用断言工具和 JDK 5.0 的所有新的语言功能部件。

解决办法:

到服务器上找到下面的两个文件: 
<WAS-HOME>/profiles/AppSrv01/config/cells/<cellname>/applications/<appname>/deployments/<appname.war>/WEB-INF/ibm-web-ext.xmi 
<WAS-HOME>/profiles/AppSrv01/installedApps/<nodename>/<appname>/<appname.war>/WEB-INF/ibm-web-ext.xmi 
在最后面的 </webappext:WebAppExtension> 前添加下面一行: 
<jspAttributes xmi:id="JSPAttribute_××××××" name="jdkSourceLevel" value="15"/>

例子:

<jspAttributes xmi:id="JSPAttribute_1280288503219" name="jdkSourceLevel" value="15"/>

保存后重新启动应用即可,也请同时删除 jsp 已经编译过的 class 文件: 
<WAS-HOME>/profiles/AppSrv01/temp/<nodename>/<appname>/<appname.war>/*.class

内容参考了:

http://wing123.iteye.com/blog/376857

http://www.cnblogs.com/zhangnanblog/archive/2012/2/3.html

WAS:修改jsp编译器用JDK5.0的更多相关文章

  1. Day07 jdk5.0新特性&Junit&反射

    day07总结 今日内容 MyEclipse安装与使用 JUnit使用 泛型 1.5新特性 自动装箱拆箱 增强for 静态导入 可变参数方法 枚举 反射 MyEclipse安装与使用(yes) 安装M ...

  2. 修改jsp文件tomcat发布失败(Could not delete May be locked by another process)

    突然项目修改jsp文件后,tomcat不能发布, Publishing failed with multiple errors   Could not delete D:/Tomcat 6.0/web ...

  3. 设置tomcat配置文件,在Myeclipse中修改jsp文件之后不用重启tomcat

    在Myeclipse中创建的Web程序在修改类或者jsp页面后需要重动ttomcat的,要重新加载一次的,即重新启动tomcat一次.重启时比较慢,及浪费资源及时间, 设置tomcat配置文件,在My ...

  4. 系统管理模块_部门管理_改进_抽取添加与修改JSP页面中的公共代码_在显示层抽取BaseAction_合并Service层与Dao层

    系统管理模块_部门管理_改进1:抽取添加与修改JSP页面中的公共代码 commons.jspf <%@ page language="java" import="j ...

  5. Java JDK5.0新特性

    JDK5.0新特性 虽然JDK已经到了1.8 但是1.5(5.0)的变化是最大的 1. 增强for循环 foreach语句 foreach简化了迭代器 作用: 对存储对象的容器进行迭代 (数组, co ...

  6. Java基础和JDK5.0新特性

    Java基础 JDK5.0新特性 PS: JDK:Java Development KitsJRE: Java Runtime EvironmentJRE = JVM + ClassLibary JV ...

  7. Jdk5.0中出现的新特性

    掌握jdk5.0中出现的新特性1.泛型(Generics)2.增强的"for"循环(Enhanced For loop)3.自动装箱/自动拆箱(Autoboxing/unboxin ...

  8. 如何在eclipse中修改jsp默认编码

    在使用eclipse编程的时候,很多默认的编码都是iso-8859-1我们经常使用的,在eclipse中怎么修改jsp页面的默认编码呢. 第一步:打开eclipse,找到windows-->pr ...

  9. was服务器下修改jsp无效果

    使用了jsp静态导入,修改了导入的jsp页面,但是目标页面没出现效果.先说下静态导入和动态导入的区别: include指令用于引入其它JSP页面,如果使用include指令引入了其它JSP页面,那么J ...

随机推荐

  1. 济南学习 Day5 T3 晚

    回文串(palindromes) [题目描述] 判断是否能将字符串S分成三段非空回文串. [输入说明] 第一行一个整数T,表示数据组数. 对于每一个组,仅包含一个由小写字母组成的串. [输出说明] 对 ...

  2. 通过css将元素固定在左下角

    position:fixed; bottom:0; left:0;

  3. 2015多校联合训练赛 Training Contest 4 1008

    构造题: 比赛的时候只想到:前面一样的数,后面 是类似1,2,3,4,5,6....t这 既是:t+1,t+1...,1,2,3,...t t+1的数目 可能 很多, 题解时YY出一个N 然后对N   ...

  4. noip2015提高组day2解题报告

    1.跳石头 题目描述 一年一度的“跳石头”比赛又要开始了! 这项比赛将在一条笔直的河道中进行,河道中分布着一些巨大岩石.组委会已经选择好了两块岩石作为比赛起点和终点.在起点和终点之间,有 N 块岩石( ...

  5. springboot主要注解及其作用

    1.注解(annotations)列表 @SpringBootApplication:包含了@ComponentScan.@Configuration和@EnableAutoConfiguration ...

  6. spark学习(二)

    Spark是一个通用的并行计算框架,由UCBerkeley的AMP实验室开发. Spark和Hadoop有什么不同呢? Spark是基于map reduce算法实现的分布式计算,拥有Hadoop Ma ...

  7. Windows下使用Nexus搭建Maven私服(安装)

    一.下载Nexus 下载OSS最新版:https://www.sonatype.com/download-oss-sonatype 老版本:https://support.sonatype.com/h ...

  8. 求菲波那契数列的第n个数

    1,2,3,5,8,13..... 求第n个数 def get_num(n): if n == 1: return 1 if n == 2: return 2 return get_num(n - 1 ...

  9. 自主学习Flappy Bird游戏

    背景 强化学习 MDP基本元素 这部分比较难懂,没有详细看:最优函数值,最优控制等 Q-learning 神经网络 环境搭建 windows下通过pip安装TensorFlow,opencv-pyth ...

  10. BUPT复试专题—树查找(2011)

    https://www.nowcoder.com/practice/9a10d5e7d99c45e2a462644d46c428e4?tpId=67&tqId=29641&rp=0&a ...