转自http://alansun.iteye.com/blog/401938
WebSphere编译JSP时抛出sun.io.MalformedInputException
GOOGLE后,原来IBM上都有解决办法:
这个问题产生的原因是IBM在JDK 1.4版本中为了追求对io通道的高效率改变了JDK 1.3中对io通道中异常处理的策略。IBM JDK 1.4中对于io通道的异常处理更加严格,因此系统中会报上面的错误。
解决这一问题的办法是不使用IBM JDK 1.4中默认的io通道,而使用nio通道。具体的做法如下:
1.打开管理控制台,找到并选择运行这个JSP的应用服务器
2.依次选择进程定义,java虚拟机,一般JVM自变量
3.添加-Dibm.stream.nio=true
4.确定,保存
5.重新启动websphere
再登录时,左侧的菜单栏会出现错误信息
[ServletException in:/secure/isclite/tiles/iscnavigatorLayout.jsp] Array index out of range: 8192'
需做如下设置
进入控制版面>>区域和语言选项>>高级标签>>代码页转换表,将列表中的54936(GB18030 简体中文)一项去掉,即开头的勾不要选中,点击确定设置完成。
如上操作之后,我们可以发现Websphere选项中编辑器的默认字符集已经变成了GBK,由此就不会在产生一开始的错误提示了。
修改完后,需重启websphere
修改IE的语言设置,详见下图