`
ricky_love
  • 浏览: 411255 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

sun.io.MalformedInputException

阅读更多

产品:WebSphere Application Server(以下简称WAS)
版本:5.1.0;5.1.1
平台:Windows,AIX,Linux

问题描述:
在WAS V5.1中运行的JSP文件中含有中文的时候系统的SystemOut.log日志中会报类似如下的错误:
[04-11-9 14:44:26:625 CST] 70e8b5bd WebGroup I SRVE0181I: [QE_Web.war] [/hgaqe] [Servlet.LOG]: JspReader: Exception parsing file : sun.io.MalformedInputException
at sun.io.ByteToCharEUC.convert(ByteToCharEUC.java(Compiled Code))
at sun.nio.cs.StreamDecoder$ConverterSD.convertInto(StreamDecoder.java:287)
at sun.nio.cs.StreamDecoder$ConverterSD.implRead(StreamDecoder.java:318)
[04-11-9 14:44:27:172 CST] 70e8b5bd WebGroup E SRVE0026E: [Servlet 错误]-[无法读文件:/lotQuery/queryResultDownload1.jsp sun.io.MalformedInputException]:org.apache.jasper.compiler.ParseException: 无法读文件:/lotQuery/queryResultDownload1.jsp sun.io.MalformedInputException
at org.apache.jasper.compiler.JspReader.pushFile2(JspReader.java:276)
at org.apache.jasper.compiler.JspReader.<init>(JspReader.java:317)
at org.apache.jasper.compiler.Parser.<init>(Parser.java:137)

注意:ByteToCharEUC这部分可能会由于所选定的字符集的不同而不同,比如ByteToCharGB18030。

解答:
这个问题产生的原因是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.重新启动该服务器   

分享到:
评论
1 楼 flyinweb 2009-06-19  
谢谢
我找了很久

相关推荐

    异常sun.io.MalformedInputException处理

    标题中的“异常sun.io.MalformedInputException处理”是指在Java编程中遇到的一种特定错误,通常与字符编码问题有关。当程序尝试解码一个字节流时,如果字节流不符合预期的字符集格式,就会抛出这个异常。这可能发生...

    sun.io.CharToByteConverter支持类

    项目工程中用到jdk1.6相关方法,可以使用,但是升级到jdk1.8以后,编译出现java.lang.NoClassDefFoundError: sun/io/CharToByteConverter错误,后经查询,是jdk1.8版本中已经从sun.io.*中进行去除。网上找来了相关...

    sun.io class ByteToCharConverter

    ByteToCharConverter,SUN PROPRIETARY/CONFIDENTIAL. Use is subject to license terms.,ByteToCharConverter

    com.sun.pdfview.PDFRenderer

    import com.sun.pdfview.FullScreenWindow;import com.sun.pdfview.OutlineNode;import com.sun.pdfview.PDFDestination;import com.sun.pdfview.PDFFile;import com.sun.pdfview.PDFObject;import ...

    sun.misc.BASE64Decoder和sun.misc.BASE64Encoder不可用已解决

    最近项目实验发现导入工具程序后项目有错,查看发现sun.misc.BASE64Decoder和sun.misc.BASE64Encoder不可用,找不到相应的类。 二、原因分析 冲浪后发现JDK中的lib\tools.jar和JRE中的lib\rt.jar已从Java SE 9中...

    sun.misc.BASE64Decoder(Android Base64Jar包以及Java源代码)

    sun.misc.BASE64Decoder 其中包括 Android Base64Jar包 以及Java源代码 sun.misc.BASE64Decoder 其中包括 Android Base64Jar包 以及Java源代码 sun.misc.BASE64Decoder 其中包括 Android Base64Jar包 以及...

    sun.misc.BASE64Encoder源码及jar包

    在Java编程语言中,`sun.misc.BASE64Encoder`和`BASE64Decoder`是用于进行Base64编码和解码的内部类,它们属于`sun.misc`包,这是一个非公开(非标准)的Java库。`sun.misc`包中的类主要用于JVM内部使用,因此在官方...

    sun.misc.BASE64Encoder.jar包

    在Java编程语言中,`sun.misc`包包含了一些非公开的、特定于实现的类和接口,主要用于内部系统使用。然而,自Java 9开始,Oracle强烈建议开发者避免使用`sun.misc`包中的类,因为它们可能在未来的JDK版本中被移除...

    sun.jdbc.odbc.JdbcOdbcDriver.zip

    标题中的"sun.jdbc.odbc.JdbcOdbcDriver.zip"是一个包含Java数据库连接(JDBC)驱动的压缩包,主要用于在Java应用程序中通过ODBC(Open Database Connectivity)接口访问各种数据库。这个驱动,也称为JDBC-ODBC桥,...

    sun0225SUN.github.io

    【标题】"sun0225SUN.github.io" 是一个个人网站的源代码仓库,通常在GitHub上可以看到这样的命名方式。这表明该文件可能是某个用户在GitHub上托管的个人博客或项目页面的源代码。从描述中并没有得到更多的信息,但...

    com.sun.rowset.jar.zip

    《com.sun.rowset.jar.zip——探索Sun公司的RowSet技术在数据库操作中的魅力》 在Java世界里,数据访问是核心任务之一,而Sun公司的RowSet技术则是Java数据库连接(JDBC)的重要组成部分,它为开发者提供了高效、...

    com.sun.media.jai等文件转换jar

    主页:http://java.sun.com/javase/6/docs/technotes/guides/imageio/index.html JAI 中的 Image I/O Tools,支持更多图片类型,例如JPEG-LS, JPEG2000, 和 TIFF。 主页:https://jai-imageio.dev.java.net/。JAI ...

    import com.sun.image.codec.jpeg.JPEGImageEncoder;包的下载

    import sun.misc.BASE64Decoder; import sun.misc.BASE64Encoder; 报错: Access restriction: The type JPEGImageEncoder is not accessible due to restriction on required library C:\Java\jre1.6.0_07\lib\rt....

    sun.misc.BASE64Decoder; import sun.misc.BASE64Encoder;

    标题 "sun.misc.BASE64Decoder; import sun.misc.BASE64Encoder;" 暗示了我们正在讨论Java中用于Base64编码和解码的类。这两个类,`BASE64Decoder`和`BASE64Encoder`,是Java早期版本中的非标准组件,属于`sun.misc`...

    sun.misc.base64decoder.jar下载

    sun.misc.BASE64Encoder找不到jar包的解决方法? 在MyEclipse中编写Java代码时,用到了BASE64Decoder,import sun.misc.BASE64Decoder;可是Eclipse提示:  Access restriction: The type BASE64Decoder is not ...

    sun.jdbc.odbc.jdbcodbcdriver-Maven.zip

    标题中的"sun.jdbc.odbc.jdbcodbcdriver"指的是Java数据库连接(JDBC)中的一个特定驱动,即JDBC-ODBC桥接驱动。这个驱动在早期的Java版本中被广泛使用,它允许Java应用程序通过ODBC(Open Database Connectivity)...

    sun.misc.BASE64Encoder 加密源码+完整包.rar

    在Java编程语言中,`sun.misc.BASE64Encoder` 和 `sun.misc.BASE64Decoder` 是两个用于Base64编码和解码的内部类,它们位于`sun.misc`包下。Base64是一种用于在网络上传输二进制数据的文本编码方式,它将任意的字节...

    sun.jdbc.odbc.JdbcOdbcDriver.jar.7z

    jdbc-odbc驱动包,提示找不到驱动,java.lang.ClassNotFoundException: sun.jdbc.odbc.JdbcOdbcDriver,解决办法!因为jdk1.8环境不支持sun.jdbc.odbc.JdbcOdbcDriver驱动,所以这里为特别为您提供一个解决JDK1.8不...

    sun.security.provider不存在 jsse.jar包

    sun.security.provider不存在

Global site tag (gtag.js) - Google Analytics