如题:项目用S2SH框时,在ACTION里读取DOC文件,struts.xml配置文件代码如下:
<package name="test" extends="struts-default" namespace="/test">
<default-action-ref name="download"/>
<action name="getDocFile" class="downloadAction" method="getDownLoadFile">
<param name="filePath">/res/test.doc</param>
<result name="success" type="stream">
<param name="contentType">application/octet-stream;charset=ISO8859-1</param>
<param name="ipnutName">downLoadFile</param>
<param name="contentDisposition">attachment;filename="test.doc"</param>
<param name="bufferSize">4096</param>
</result>
</action>
</package>
ACTION的代码如下:
@Controller("downloadAction")
@Scope("prototype")
public class DownLoadAction implements Action {
private InputStream inputStream;
private String filePath;
public InputStream getDownLoadFile(){
System.out.println(filePath);
return ServletActionContext.getServletContext().getResourceAsStream(filePath);
}
public InputStream getInputStream() {
return inputStream;
}
public void setInputStream(InputStream inputStream) {
this.inputStream = inputStream;
}
public String getFilePath() {
return filePath;
}
public void setFilePath(String filePath) {
this.filePath = filePath;
}
当在页面点击下载时会出现如下提示:
description The server encountered an internal error () that prevented it from fulfilling this request.
exception
java.lang.ClassCastException: java.io.ByteArrayInputStream
com.opensymphony.xwork2.DefaultActionInvocation.invokeAction(DefaultActionInvocation.java:451)
com.opensymphony.xwork2.DefaultActionInvocation.invokeActionOnly(DefaultActionInvocation.java:280)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:243)
com.opensymphony.xwork2.interceptor.DefaultWorkflowInterceptor.doIntercept(DefaultWorkflowInterceptor.java:165)
com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:87)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237)
com.opensymphony.xwork2.validator.ValidationInterceptor.doIntercept(ValidationInterceptor.java:252)
org.apache.struts2.interceptor.validation.AnnotationValidationInterceptor.doIntercept(AnnotationValidationInterceptor
…………………………
我自己也郁闷一天了,这个功能就是做不出来,而下载为txt文件时就没有问题,请帮忙解决一下,急啊!!!!!
=================================================================================
谢谢各位,问题已经解决了,换了其他的方法来解决项目需要了:)
分享到:
相关推荐
在Java编程中,`java.lang.ClassCastException`是一个运行时异常,通常发生在强制类型转换时,如果尝试将一个对象转换为其非兼容类型时就会抛出。这个异常表明在编译时可能成功的类型转换,在运行时被证明是错误的。...
java.lang.NoClassDefFoundError错误是一种常见的Java错误,它发生在Java虚拟机在编译时能找到合适的类,而在运行时不能找到合适的类导致的错误。下面是该错误的解决办法: 错误原因 NoClassDefFoundError错误的...
Load canal adapter: es7 failed java.lang.RuntimeException: java.lang.RuntimeException: java.lang.ClassCastException: ...canal-adapter1.1.5报错, 将client-adapter.es7x-1.1.5-SNAPSHOT-jar-with-dependencies....
在使用Mybatis框架时,你可能会遇到`org.apache.ibatis.exceptions.PersistenceException`这样的异常。这个异常通常表示在执行数据库查询操作时遇到了问题。本篇将详细分析这个问题并提供解决方法。 ### 问题概述 ...
在Java编程中,XML(可扩展标记语言)是一种被广泛用于数据存储和交换的格式。为了处理XML文档,Java提供了多种API,其中最常用的包括DOM、SAX、DOM4J和JDOM。以下是对这些方法的详细介绍: 1. DOM(Document ...
**类型转换**是Java编程中的常见操作,但是不安全的类型转换会导致`ClassCastException`。当试图将一个对象强制转换为它实际上不是的类型时,就会抛出这个异常。在你的例子中,`MorphDynaBean`不能被转换为`xxx`,...
在Android开发中,Gson库是一个非常常用的工具,它由Google提供,用于将Java对象转换为JSON字符串,反之亦然。然而,在混淆代码时,可能会遇到一些问题,导致Gson无法正常工作。本文将深入探讨这些问题及其解决方案...
java.lang.RuntimeException: java.lang.RuntimeException: java.lang.ClassCastException: com.alibaba.druid.pool.DruidDataSource cannot be cast to com.alibaba.druid.pool.DruidDataSource 可用这个jar替换...
5. **`java.lang.ClassCastException`** - 在强制类型转换失败时抛出此异常,即尝试将一个对象强制转换为其实际类型以外的类型时。 6. **`java.lang.ArithmeticException`** - 发生算术运算错误时抛出此异常,例如...
安卓系统 玩Android客户端 项目简介 整个项目采用MVVM + Retrofit + RxJava架构进行开发。 项目截图 项目版本 v1.0.0 基本功能 技术要点 采用MVVM模式开发,查看操作和业务逻辑解耦 采用DataBinding框架实现View与...
2. **初始化PopupWindow**:在Java代码中,我们首先需要实例化PopupWindow对象,传入之前创建的布局文件。例如: ```java View popupView = LayoutInflater.from(context).inflate(R.layout.popup_menu, null); ...
- **java.lang.ClassCastException**:当尝试将对象强制转换为不兼容的类型时抛出。 - **java.lang.NegativeArraySizeException**:创建具有负长度的数组时抛出。 - **java.lang.SecurityException**:在安全管理器...
2. **java.lang.ClassNotFoundException**: 当尝试加载一个类,但JVM无法找到指定的类定义时,会抛出此异常。这可能是因为类路径设置不正确或者类的名称有误。确保类名与源代码和编译后的文件名匹配,并且类路径包含...
2. java.lang.ClassNotFoundException java.lang.ClassNotFoundException 是一种常见的错误,发生在指定的类不存在时。例如,在将 JB 下的程序包放在 WTK 下编译时,如果类的名称和路径不正确,就会出现该错误。...
`java.util.ConcurrentModificationException` 是一个在 Java 中常见的运行时异常,它通常发生在多线程环境中,当一个线程正在遍历一个集合(如 `ArrayList`, `HashMap` 等),而另一个线程同时尝试修改这个集合时。...
java.lang.UnsatisfiedLinkError 是一种未满足的链接错误,指的是在程序中 Java 虚拟机未找到某个类的声明为 native 方法的本机语言定义时抛出的异常。 32. java.lang.UnsupportedClassVersionError 不支持的类版本...
2. **java.lang.ClassNotFoundException**: 这个异常通常发生在尝试加载一个不存在的类时。可能是由于类路径设置错误,或者类名拼写不正确。确保类的完整限定名(包括包名)正确,并且类的`.class`文件位于正确的...
1. **NIO.2(非阻塞I/O)**:提供了一种更高效、非阻塞的I/O模型,提高了服务器端应用的性能。 2. **动态代理**:允许在运行时创建实现了指定接口的代理类,增强了面向切面编程(AOP)的能力。 3. **改进的Swing和...
cannot be cast to javax.servlet.Filter 报错, 原因servlet-api.jar冲突 使用maven开发web应用程序, 启动的时候报错: jar not loaded....java.lang.ClassCastException: org.springframework.web.f