`

老师说struts2文件上传而已,你看下面。

阅读更多
1.文件上传的页面upload.jsp。
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <base href="<%=basePath%>">
    
    <title>文件上传</title>
    
	<meta http-equiv="pragma" content="no-cache">
	<meta http-equiv="cache-control" content="no-cache">
	<meta http-equiv="expires" content="0">    
	<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
	<meta http-equiv="description" content="This is my page">
  </head>
  
  <body>
   <form action="user_test" method="post" enctype="multipart/form-data">
   	文件:<input type="file" name="file"/>
   <br/>
   <input type="submit" value="submit">
   </form>
  </body>
</html>

注意:
1.文件上传操作表单的method必须为post。
2.表单数据编码的enctype为multipart/form-data
3.记住file的name为file一会说它。

2.struts2文件上传默认使用的是apache commons的FileUpload。
action层的代码这个样子的:
public class UserAction extends ActionSupport {

       /**文件上传相关属性**/
	private File file;//前台表单名字需叫file
	private String fileFileName;
	private String fileContentType;
        //setter and getter 此处省略了
       //上传的主要方法
        @SuppressWarnings("deprecation")
	protected boolean upload(){
		boolean flag = false;
		InputStream is = null;
		OutputStream os = null;
		try{
		 is = new FileInputStream(file);
		String root = ServletActionContext.getRequest().getRealPath("/upload");//文件保存的路径
		File destFile = new File(root,this.getFileFileName());
		os = new FileOutputStream(destFile);
		byte[] buffer = new byte[400];
		int length =0;
		while((length = is.read(buffer))>0){
			os.write(buffer,0,length);
		}
		flag = true;
		}catch(Exception ex){
			flag = false;
		}finally{
			try {
				is.close();
				os.close();
			} catch (IOException e) {
				//do nothing
			}
			
		}
		return flag;
		
	}
	


}
/**
*前台表单提交到这里
*/
public String test(){
		if(upload()){
			successPath = "/upload/uploadresult.jsp";
			return SUCCESS;
		}else{
			 successPath = "/upload/uploadtest.jsp";
			return SUCCESS;
		}
		
	}


注意:
1.文件上传的相关属性那里,页面file的name是file,
这里就定义一个file,fileFileName,fileContentType。
如果页面file的name为abc,
这里就定义一个abc,abcFileName,abcContentType。


3。这里以图片为例子显示上传的图片页面uploadresult.jsp。
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
<%@taglib prefix="s" uri="/struts-tags"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <base href="<%=basePath%>">
    
    <title>显示图片</title>
	<meta http-equiv="pragma" content="no-cache">
	<meta http-equiv="cache-control" content="no-cache">
	<meta http-equiv="expires" content="0">    
	<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
	<meta http-equiv="description" content="This is my page">
  </head>
  <body>
   <img  src="<%=request.getContextPath() %>/upload/<s:property value="fileFileName"/>" />
  </body>
</html>


分享到:
评论

相关推荐

    struts2文件上传下载源代码

    1. **配置Struts2 Action**:在`struts.xml`配置文件中,你需要定义一个Action,该Action负责处理文件上传请求。Action的类需要继承自`ActionSupport`,并覆盖`execute()`方法,以便处理上传的文件。 2. **设置...

    struts2文件上传jar

    总的来说,这个压缩包中的jar文件是实现Struts2文件上传功能的基础。理解这些库的作用以及如何在Struts2框架中整合它们,是开发支持文件上传的web应用的关键步骤。正确配置和使用这些库,可以让你轻松地处理用户的...

    struts2实现文件上传下载

    本篇文章将详细探讨如何在Struts2框架下实现文件的上传与下载。 首先,我们需要了解Struts2中的文件上传机制。Struts2提供了`FileUploadInterceptor`拦截器来处理文件上传请求。在处理文件上传时,开发者需要在...

    Struts2多个文件上传

    总的来说,Struts2的多文件上传通过引入Apache Commons库,提供了简洁的API和配置,使得开发者能轻松处理用户上传的多个文件。无论是使用List集合还是数组,核心原理都是相同的,只是接收上传文件的对象类型不同。...

    struts2文件上传

    为了学习和实践Struts2的文件上传,你可以解压这个文件,查看其中的Action类、`struts.xml`配置文件,以及可能的JSP页面,以理解整个流程。 总结来说,Struts2的文件上传涉及到拦截器配置、Action类的编写以及...

    struts2文件上传实例

    1. **.struts2配置**:在Struts2框架中,需要在`struts.xml`配置文件中添加相应的action配置,声明文件上传的处理方法。通常,你需要设置`&lt;result&gt;`类型为`stream`,以便处理上传的文件。 2. **Action类**:创建一...

    Struts2之struts2文件上传详解案例struts011

    在Struts2中,文件上传功能是常见的需求,比如用户可能需要上传个人照片、文档或者其他类型的文件。在这个"Struts2之struts2文件上传详解案例struts011"中,我们将深入探讨如何实现这一功能。 首先,我们需要了解...

    struts2 文件上传

    struts2 文件上传 struts2上传标签file fileuploadstruts2 文件上传 struts2上传标签file fileuploadstruts2 文件上传 struts2上传标签file fileupload

    struts2文件上传下载

    Struts2是一个流行的...总的来说,"struts2文件上传下载"涵盖了Web开发中的基础功能,对于任何需要处理用户文件交互的应用来说都非常重要。理解并熟练运用这些技术,可以帮助你创建更加健壮和用户友好的Web应用程序。

    简单易懂的struts2文件上传

    一旦文件上传成功,Struts2会根据配置的`success`结果跳转到`/uploadSuccess.jsp`页面,你可以在这里显示上传成功的消息或提供进一步的操作选项。 7. **错误处理** 在实际应用中,你还需要考虑文件上传可能遇到的...

    Struts2文件上传源码

    6. **源码分析**: 要深入理解Struts2的文件上传机制,你需要查看Struts2的源码,特别是`org.apache.struts2.dispatcher.multipart.JakartaMultiPartRequest`和`org.apache.struts2.components.Form`这两个类。...

    struts2文件上传和下载

    2. **Struts2 Action类中的文件处理**: 文件上传后,Struts2会将文件内容存储在一个临时位置。通常,你需要在Action类中创建一个`File`对象和一个`String`类型的属性,如`private File file; private String ...

    struts2文件上传例子.rar

    总的来说,这个例子展示了如何在Struts2框架下实现文件上传功能,包括Action的编写、配置文件的设定、表单的创建以及文件处理逻辑。通过学习这个例子,开发者可以了解到Struts2处理文件上传的基本流程,为自己的项目...

    JavaEE Struts文件上传

    通过分析这些文件,你可以看到一个完整的Struts2文件上传应用的结构和实现细节。 学习Struts2文件上传不仅需要掌握上述概念和技术,还需要了解文件安全性、异常处理和服务器配置等相关知识。在实际应用中,确保文件...

    struts2+jquery+ajax文件异步上传

    总的来说,"struts2+jquery+ajax文件异步上传"是一个结合了后端处理和前端交互的文件上传解决方案,提供了良好的用户体验和灵活性。通过MyEclipse这样的集成开发环境,开发者可以方便地构建、调试和部署这样的项目。

    swfuplaod+struts2实现多文件上传

    下面将详细介绍如何利用SWFUpload与Struts2来实现多文件上传。 **一、SWFUpload组件介绍** SWFUpload 是一个JavaScript库,它利用Flash技术提供了一个高级的文件上传体验。它的主要特性包括: 1. **多文件选择**...

    struts2文件上传的两种方法

    Struts2作为一款流行的Java Web框架,提供了丰富的功能来处理用户表单数据,其中包括文件上传。文件上传在现代Web应用中十分常见,如用户头像、文档分享等场景。Struts2提供了两种主要的文件上传方式:单文件上传和...

    struts2框架下的文件上传

    Struts2框架是Java Web开发中的一个流行MVC(Model-View-Controller)框架,它提供了丰富的功能,包括处理表单提交、文件上传等。在Struts2中,文件上传是一个常见的需求,可以帮助用户从客户端上传文件到服务器。...

Global site tag (gtag.js) - Google Analytics