- 浏览: 890694 次
- 性别:
- 来自: 北京
文章分类
- 全部博客 (687)
- java (127)
- servlet (38)
- struts (16)
- spring (22)
- hibernate (40)
- javascript (58)
- jquery (18)
- tomcat (51)
- 设计模式 (6)
- EJB (13)
- jsp (3)
- oracle (29)
- RUP (2)
- ajax (3)
- java内存管理 (4)
- java线程 (12)
- socket (13)
- path (5)
- XML (10)
- swing (2)
- UML (1)
- JBPM (2)
- 开发笔记 (45)
- Note参考 (15)
- JAXB (4)
- Quartz (2)
- 乱码 (2)
- CSS (2)
- Exception (4)
- Tools (7)
- sqlserver (3)
- DWR (7)
- Struts2 (47)
- WebService (2)
- 问题解决收藏 (7)
- JBOSS (7)
- cache (10)
- easyUI (19)
- jQuery Plugin (11)
- FreeMarker (6)
- Eclipse (2)
- Compass (2)
- JPA (1)
- WebLogic (1)
- powerdesigner (1)
- mybatis (1)
最新评论
-
bugyun:
受教了,谢谢
java 正则表达式 过滤html标签 -
xiongxingxing_123:
学习了,感谢了
java 正则表达式 过滤html标签 -
wanmeinange:
那如果无状态的。对同一个任务并发控制怎么做?比如继承Quart ...
quartz中参数misfireThreshold的详解 -
fanjieshanghai:
...
XPath 元素及属性查找 -
tianhandigeng:
还是没明白
quartz中参数misfireThreshold的详解
1.struts.xml
- <?xml version="1.0" encoding="UTF-8" ?>
- <!DOCTYPE struts PUBLIC
- "-//Apache Software Foundation//DTD Struts Configuration 2.1.7//EN"
- "http://struts.apache.org/dtds/struts-2.1.7.dtd">
- <struts>
- <package name="hejie" extends="struts-default">
- <action name="update" class="com.st.action.UpdateAction"
- method="update">
- <interceptor-ref name="fileUpload">
- <!-- 配置允许上传的文件类型,多个用","分隔 -->
- <param name="allowedTypes">
- image/bmp,image/png,image/gif,image/jpeg,image/jpg,image/x-png,
- image/pjpeg
- </param>
- <!-- 配置允许上传的文件大小,单位字节 -->
- <param name="maximumSize">102400</param>
- </interceptor-ref>
- <interceptor-ref name="defaultStack" />
- <param name="savePath">/updateImage</param>
- <result name="success">success.jsp</result>
- </action>
- <action name="down" class="com.st.action.UpdateAction" method="down">
- <!-- 下载现有文件 -->
- <param name="inputPath">/downImage</param>
- <!-- 初始文件名 -->
- <param name="fileName">${downFileName}</param>
- <result name="success" type="stream">
- <param name="contentType">application/octet-stream;charset=ISO8859-1</param>
- <param name="inputName">downInputStream</param>
- <!-- 使用经过转码的文件名作为下载文件名,downloadFileName属性
- 对应action类中的方法 getDownloadFileName() -->
- <param name="contentDisposition">attachment;filename="${downFileName}"</param>
- <param name="bufferSize">4096</param>
- </result>
- </action>
- </package>
- </struts>
<?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.1.7//EN" "http://struts.apache.org/dtds/struts-2.1.7.dtd"> <struts> <package name="hejie" extends="struts-default"> <action name="update" class="com.st.action.UpdateAction" method="update"> <interceptor-ref name="fileUpload"> <!-- 配置允许上传的文件类型,多个用","分隔 --> <param name="allowedTypes"> image/bmp,image/png,image/gif,image/jpeg,image/jpg,image/x-png, image/pjpeg </param> <!-- 配置允许上传的文件大小,单位字节 --> <param name="maximumSize">102400</param> </interceptor-ref> <interceptor-ref name="defaultStack" /> <param name="savePath">/updateImage</param> <result name="success">success.jsp</result> </action> <action name="down" class="com.st.action.UpdateAction" method="down"> <!-- 下载现有文件 --> <param name="inputPath">/downImage</param> <!-- 初始文件名 --> <param name="fileName">${downFileName}</param> <result name="success" type="stream"> <param name="contentType">application/octet-stream;charset=ISO8859-1</param> <param name="inputName">downInputStream</param> <!-- 使用经过转码的文件名作为下载文件名,downloadFileName属性 对应action类中的方法 getDownloadFileName() --> <param name="contentDisposition">attachment;filename="${downFileName}"</param> <param name="bufferSize">4096</param> </result> </action> </package> </struts>
2.jsp
- <body>
- <form action="update.action" method="post" enctype="multipart/form-data">
- <input type="file" name="name"/><br>
- <input type="submit"/>
- </form>
- <hr>
- <a href="down.action?downFileName=56585906195.jpg">下载图片</a>
- </body>
<body> <form action="update.action" method="post" enctype="multipart/form-data"> <input type="file" name="name"/><br> <input type="submit"/> </form> <hr> <a href="down.action?downFileName=56585906195.jpg">下载图片</a> </body>
3.action
- package com.st.action;
- import java.io.File;
- import java.io.FileInputStream;
- import java.io.FileOutputStream;
- import java.io.InputStream;
- import java.util.Date;
- import org.apache.struts2.ServletActionContext;
- public class UpdateAction {
- private File name;
- private String nameFileName;
- private String nameContentType;
- private String savePath;
- //========
- private String downFileName;
- private InputStream downInputStream;
- private String inputPath;
- /**
- * 上传文件控制类
- * @return 转页
- * @throws Exception
- */
- public String update() throws Exception {
- // TODO Auto-generated method stub
- System.out.println(this.nameContentType+" "+this.nameFileName);
- this.saveFile();
- return "success";
- }
- /**
- * 将文件存到服务器
- * save file
- * @return dir 文件存储的路径
- * @throws Exception
- */
- public String saveFile()throws Exception{
- String dir = (new Date().getTime()+"").substring(5)+this.getNameFileName();
- String realPath = ServletActionContext.getRequest().getRealPath(getSavePath())
- + "\\" + dir;
- FileOutputStream fos = new FileOutputStream(realPath);
- FileInputStream fis = new FileInputStream(this.name);
- byte[] b = new byte[100];
- while((fis.read(b))!=-1){
- fos.write(b);
- }
- fos.close();
- fis.close();
- dir = this.savePath+"\\"+dir;
- return dir;
- }
- /**
- * 下载文件控制方法
- * @return 转页
- * @throws Exception
- */
- public String down()throws Exception{
- System.out.println("---down---");
- String realNPath = ServletActionContext.getRequest().getRealPath(this.inputPath);
- downInputStream = new FileInputStream(realNPath+"\\"+this.getDownFileName());
- return "success";
- }
- //===========getter
- public File getName() {
- return name;
- }
- public void setName(File name) {
- this.name = name;
- }
- public String getNameFileName() {
- return nameFileName;
- }
- public void setNameFileName(String nameFileName) {
- this.nameFileName = nameFileName;
- }
- public String getNameContentType() {
- return nameContentType;
- }
- public void setNameContentType(String nameContentType) {
- this.nameContentType = nameContentType;
- }
- public String getSavePath() {
- return savePath;
- }
- public void setSavePath(String savePath) {
- this.savePath = savePath;
- }
- public String getDownFileName() {
- return downFileName;
- }
- public void setDownFileName(String downFileName) {
- this.downFileName = downFileName;
- }
- public InputStream getDownInputStream() {
- return downInputStream;
- }
- public void setDownInputStream(InputStream downInputStream) {
- this.downInputStream = downInputStream;
- }
- public String getInputPath() {
- return inputPath;
- }
- public void setInputPath(String inputPath) {
- this.inputPath = inputPath;
- }
- }
发表评论
-
ognl表达式
2011-07-07 00:36 1299OGNL是Object Graphic Navigation ... -
在Struts 2_0中实现表单数据校验
2011-07-07 00:02 1144转换与校验(Conversion & Validati ... -
简单的struts2输入校验框架
2011-05-13 23:43 10881.输入页面login.jsp: <%@ page ... -
struts2在学习(十二)--表单验证的两种方式
2011-05-13 23:13 960第四个示例:注解方式校验器---用户注册页面user2_reg ... -
struts2在学习(十一)--表单验证的两种方式
2011-05-13 23:09 906第二个示例:XML配置式校验器---登录和注册页面user_l ... -
struts2在学习(十)--表单验证的两种方式
2011-05-13 22:56 11651. Struts2中的输入校验2. 编码方式校验 1) A ... -
struts2采用convention-plugin实现零配置
2011-05-13 21:58 1120最近开始关注struts2的新特性,从这个版本开始,Strut ... -
基于SSH2框架Struts2拦截器的登录验证实现
2011-04-01 22:00 2291通过之前的Struts2.1.6+Spring2.5.6+H ... -
通过ActionContext类访问Servlet对象
2011-04-01 21:40 1920ActionContext类位于com.opensympho ... -
webwork 之销毁session
2011-04-01 17:35 1767销毁的意思?不是清空 ... -
Struts2 Convention Plugin(三)
2011-03-18 01:26 1200Annotation 参考Convention使用某些注解语句 ... -
Struts2 Convention Plugin(二)
2011-03-18 01:25 1149Results and result codesStruts ... -
Struts2 Convention Plugin(一)
2011-03-18 01:25 1102Introduction从struts2.1版本开始,Conv ... -
struts2页面中的标签调用类的方法
2011-03-15 16:33 1619<s:set name="str" ... -
Apache Struts 2.2.1 GA版发布
2011-03-14 17:14 1337昨日,Apache软件基金会发布了Struts 2.2.1 G ... -
spring2 +hibernate 3 + struts 配置
2011-03-14 15:15 12131. web.xml 1. <?xml versi ... -
Struts2 中action之间的跳转
2011-03-14 12:32 1254转载于http://zhou568xiao.iteye.com ... -
Struts2 的Result Type
2011-03-13 16:35 1048http://www.blogjava.net/duanzhi ... -
struts2 跳转类型 result type=chain、dispatcher、redirect(redirect-action)
2011-03-13 16:32 1623dispatcher 为默认跳转类型,用于返回一个视图资源(如 ... -
struts2防止重复提交
2011-03-10 23:07 1295struts2的防止重复提交 也使用到了 token (令牌机 ...
相关推荐
在"struts2上传下载项目"中,我们可以深入理解如何利用Struts2实现文件的上传与下载功能。 首先,上传功能在Web应用中十分常见,比如用户在注册时上传头像,或者提交文档等。在Struts2中,我们主要借助`struts2-...
Struts2上传下载,可以更方便的让大家学习、使用
在"struts2 上传下载"这个主题中,我们主要关注的是如何在Struts2框架下实现文件上传和下载的功能。这一知识点对于任何需要处理用户提交文件的Web应用程序都至关重要。 首先,我们需要了解Struts2的Action类,它是...
这篇博客文章“Struts2 上传下载模板”可能提供了关于如何在Struts2框架中实现这一功能的详细教程。 首先,我们来讨论文件上传。在Struts2中,文件上传通常依赖于`Apache Commons FileUpload`库,它处理了文件的多...
在"struts2上传下载+前端剪切图片"这个主题中,我们将探讨Struts2框架如何处理文件上传和下载功能,以及如何在前端实现图片的剪切操作。 **文件上传**: 在Struts2中,文件上传主要依赖于Apache的Commons ...
在这个“Struts2 上传下载项目”中,我们将深入探讨如何利用Struts2实现文件上传与下载功能,并结合MySQL数据库、DAO(数据访问对象)层以及MVC架构来构建一个完整的应用。 1. **Struts2框架基础** Struts2的核心...
在Struts2中,文件上传和下载是常见的功能需求,特别是在处理用户交互和数据交换时。这篇博客文章提供的"struts2文件上传下载源代码"旨在帮助开发者理解和实现这些功能。 文件上传功能允许用户从他们的设备上传文件...
在Struts2中,实现文件上传和下载功能是常见的需求,这对于用户交互和数据交换至关重要。本文档将深入讲解Struts2中如何进行文件上传和下载的代码实现及其流程。 首先,我们需要理解Struts2文件上传的核心组件:`...
在Struts2框架中,处理文件上传和下载功能是必不可少的一部分,尤其是在用户需要交互式地提交或获取文件的场景下。在这个“struts2 上传下载组建Jar”中,主要包括了两个关键的第三方库:`commons-io-1.4.jar`和`...
在Struts2中,文件上传和下载是常见的功能需求,尤其对于处理用户提交的表单数据时,如上传图片、文档等。这个"struts2_上传下载"实例则涵盖了多种实现这些功能的方法。 首先,Struts2的文件上传依赖于Apache的...
在Struts2中,上传和下载功能是常见的需求,特别是在处理用户交互和数据交换时。这个“Struts2上传下载组件”就是为了满足这种需求而设计的。让我们深入探讨一下这个组件的工作原理以及如何在实际项目中使用它。 ...
Struts2作为一款流行的Java Web框架,为开发者提供了丰富的功能,其中包括文件上传和下载的处理。在Struts2中,实现文件上传下载是一项常见的任务,它涉及到HTTP协议、MIME类型、临时文件处理以及流的读写等多个方面...