WAS:修改jsp编译器用JDK5.0
问题现象:
今天有现场反映,访问应用的个别页面报错,报错内容如下:
于是先查看其他现场,都是好的;根据报错信息,提示的意思是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的更多相关文章
- Day07 jdk5.0新特性&Junit&反射
day07总结 今日内容 MyEclipse安装与使用 JUnit使用 泛型 1.5新特性 自动装箱拆箱 增强for 静态导入 可变参数方法 枚举 反射 MyEclipse安装与使用(yes) 安装M ...
- 修改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 ...
- 设置tomcat配置文件,在Myeclipse中修改jsp文件之后不用重启tomcat
在Myeclipse中创建的Web程序在修改类或者jsp页面后需要重动ttomcat的,要重新加载一次的,即重新启动tomcat一次.重启时比较慢,及浪费资源及时间, 设置tomcat配置文件,在My ...
- 系统管理模块_部门管理_改进_抽取添加与修改JSP页面中的公共代码_在显示层抽取BaseAction_合并Service层与Dao层
系统管理模块_部门管理_改进1:抽取添加与修改JSP页面中的公共代码 commons.jspf <%@ page language="java" import="j ...
- Java JDK5.0新特性
JDK5.0新特性 虽然JDK已经到了1.8 但是1.5(5.0)的变化是最大的 1. 增强for循环 foreach语句 foreach简化了迭代器 作用: 对存储对象的容器进行迭代 (数组, co ...
- Java基础和JDK5.0新特性
Java基础 JDK5.0新特性 PS: JDK:Java Development KitsJRE: Java Runtime EvironmentJRE = JVM + ClassLibary JV ...
- Jdk5.0中出现的新特性
掌握jdk5.0中出现的新特性1.泛型(Generics)2.增强的"for"循环(Enhanced For loop)3.自动装箱/自动拆箱(Autoboxing/unboxin ...
- 如何在eclipse中修改jsp默认编码
在使用eclipse编程的时候,很多默认的编码都是iso-8859-1我们经常使用的,在eclipse中怎么修改jsp页面的默认编码呢. 第一步:打开eclipse,找到windows-->pr ...
- was服务器下修改jsp无效果
使用了jsp静态导入,修改了导入的jsp页面,但是目标页面没出现效果.先说下静态导入和动态导入的区别: include指令用于引入其它JSP页面,如果使用include指令引入了其它JSP页面,那么J ...
随机推荐
- 玩转css样式选择器----利用padding实现元素等比缩放
- Mysql 使用存储过程添加新字段
-- 1, 注意SQL 语句开始处不要空格 -- 2, 在使用 [--] 进行注释时,后面请加空格 USE `test`; -- lastUpdateTime drop procedure if ex ...
- <!--#include 引入失败
在html中使用了<!--#include file="a.html">,结果发现页面上并没有引入到a.html页面,F12看是以注释的形式展示出来了,百度了很久. 最 ...
- 注解@RequestMapping value 用法
本文引自:https://blog.csdn.net/qq_33811662/article/details/80864784 RequestMapping是一个用来处理请求地址映射的注解,可用于类. ...
- ios Crash Log 分析汇总
方法一: 1.xcode 有自带的symbolicatecrash,可以将.crash文件中的16进制地址转换成可读的函数地址. symbolicatecrash位于: /Applications/X ...
- 关于PDF的读取与绘制
本文方法参考了:官方文档.见A function that draw a PDF page的代码部分: void MyDisplayPDFPage (CGContextRef myContext, s ...
- C#使用PrintDocument打印 多页 打印预览
PrintDocument实例所有的订阅事件如下: 创建一个PrintDocument的实例.如下: System.Drawing.Printing.PrintDocument docToPrint ...
- centos下开启htaccess
不知道原本 centOS是否默认支持 .htaccess 可能是因为我总弄配置文件无意中给搞坏了 今天要用到就查了下怎么开启 想要顺利开启需注意以下几点, 这几点都是在httpd.conf 这个配置文 ...
- antd 如何让 Row 中的 Col 自动换行?
1.解决方案 在需要换行处,设置一个空的 Col // 空白(特殊情况处理) const empty = ( <Col md={6} sm={24}></Col> ); .
- cocos2d-x 3.0 引用第三方库 及编译成apk时android mk文件写法
cocos2d-x 3.0 中.假设你须要使用CocosStudio.Extensions扩展库 等等.都须要自己手动加入. 加入过程例如以下:(比方说如今我要加入libExtensions,libC ...