`
xxp3369
  • 浏览: 151404 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

\struts2\src\com\test\servlet

阅读更多
package com.test.servlet;

import java.io.File;
import java.io.IOException;
import java.util.List;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.apache.commons.fileupload.FileItem;
import org.apache.commons.fileupload.disk.DiskFileItemFactory;
import org.apache.commons.fileupload.servlet.ServletFileUpload;

public class UploadServlet extends HttpServlet
{

	@SuppressWarnings("unchecked")
	public void doPost(HttpServletRequest request, HttpServletResponse response)
			throws ServletException, IOException
	{
		DiskFileItemFactory factory = new DiskFileItemFactory();

		String path = request.getRealPath("/upload");

		factory.setRepository(new File(path));

		factory.setSizeThreshold(1024 * 1024);

		ServletFileUpload upload = new ServletFileUpload(factory);

		try
		{
			List<FileItem> list = upload.parseRequest(request);

			for (FileItem item : list)
			{
				if (item.isFormField())
				{
					String name = item.getFieldName();

					String value = item.getString("gbk");

					System.out.println(name);

					request.setAttribute(name, value);
				}
				else
				{
					String name = item.getFieldName();

					String value = item.getName();

					int start = value.lastIndexOf("\\");

					String fileName = value.substring(start + 1);

					request.setAttribute(name, fileName);
					
					
					item.write(new File(path,fileName));
					

//					OutputStream os = new FileOutputStream(new File(path,
//							fileName));
//
//					InputStream is = item.getInputStream();
//
//					byte[] buffer = new byte[400];
//
//					int length = 0;
//
//					while ((length = is.read(buffer)) > 0)
//					{
//						os.write(buffer, 0, length);
//					}
//
//					os.close();
//
//					is.close();

				}
			}

		}

		catch (Exception ex)
		{
			ex.printStackTrace();
		}
		request.getRequestDispatcher("upload/result2.jsp").forward(request,
				response);

	}

}



分享到:
评论

相关推荐

    struts2 在eclipse 配置成功

    - 在src目录下创建一个Java包,例如`com.example.struts2test.action`,然后创建一个简单的Action类,如`HelloWorldAction`,实现`execute`方法并返回一个结果。 7. **配置struts.xml**: - 创建`struts.xml`配置...

    Struts2框架单元测试代码

    首先,了解Struts2的执行流程:请求到达Servlet容器后,通过StrutsPrepareAndExecuteFilter转发到Struts2的核心拦截器链。Action类处理请求,根据配置的Result类型返回相应的视图。单元测试的目标是针对这些Action类...

    Spring+Struts2+JPA

    Struts2作为ActionServlet的替代品,基于MVC设计模式,提供了一种组织和管理应用程序的方式。它通过拦截器来处理请求,实现了灵活的插件架构。Struts2与Spring的整合使得业务逻辑层可以方便地利用Spring的DI特性,...

    实验3 Struts2的简单开发和配置

    相比于传统的JSP/Servlet开发方式,Struts2提供了更为简洁的代码结构和更好的可维护性。本实验将指导学生如何利用Struts2框架来实现用户登录功能,并在登录成功后展示用户的用户名和密码。 #### 实验准备 1. **...

    全面struts2笔记

    Struts2 的优点在于它对Servlet进行了封装,使得开发者不再需要直接处理Servlet的繁琐配置。它引入了拦截器(Interceptor)的概念,增强了 MVC 模式的灵活性,允许在不修改业务逻辑的情况下,实现如权限控制、日志...

    Struts2+Hibernate+Spring基于单表的增删改查code

    2. **WEB-INF**:Web应用的私有目录,包含web.xml文件,它是Servlet容器的配置文件,用于配置Struts2的过滤器和其他Web组件。 3. **lib**:存放项目所需的库文件,包括SSH框架的JAR包和其他依赖。 4. **jsp**:JSP...

    Struts2 环境搭建,五分钟即可快速入门

    - 在`src`目录下创建包`com.lingdus.com.struts`,并在其中创建一个继承自`ActionSupport`的`Test.java`类。 - 实现`execute()`方法,此方法为空即可,因为我们的目的是展示Struts2的基本工作流程。 2. **创建视图...

    struts test

    在压缩包“02”中,可能包含了一个逐步构建的Struts项目结构,如src/main/java目录下的Action类,src/main/resources下的配置文件,以及Web-INF目录下的web.xml。文件列表可能没有详细列出所有文件,但通常会包括...

    一个简单的struts 应用

    2. **编写web.xml**:配置ActionServlet和struts-config.xml的加载。例如: ```xml &lt;servlet&gt; &lt;servlet-name&gt;action&lt;/servlet-name&gt; &lt;servlet-class&gt;org.apache.struts.action.ActionServlet&lt;/servlet-class&gt; ...

    liferay_Struts2_Demo开发

    &lt;action name="struts2Demo" class="com.test.Struts2Demo" method="view"&gt; &lt;result name="success"&gt;/struts2demoView/view.jsp &lt;/struts&gt; ``` 这个配置文件定义了一个名为`struts2DemoView`的包,其中包含一...

    struts2中常用Result类型(type)的用法和出现的问题

    Struts2 中常用 Result 类型(type)的用法和出现的问题 Struts2 中的 Result 类型(type)是指在 Struts2 框架中用于确定 action 执行结果的方式。常用的 Result 类型有 dispatcher、redirect 和 chain 三种。这三...

    struts-2.0.14源码

    10. **测试框架**:Struts 2的源码包含了测试代码,如`src/test/java`目录下的类,可以帮助开发者理解和测试框架行为。 深入学习Struts 2.0.14源码,可以理解其内部的工作流程,有助于提升Web应用的开发和调试能力...

    使用Struts2上传图片存取到Mysql中并读取出来显示在页面上_好资源0分送

    ### 使用Struts2上传图片至MySQL数据库并读取显示 #### 概述 本文将详细介绍如何利用Struts2框架结合Spring和Hibernate技术栈实现图片的上传、存储至MySQL数据库以及从数据库读取并在Web页面展示的功能。整个过程...

    ssh2实例(Struts2 + hibernate + spring)

    **Struts2** 是一个基于MVC(Model-View-Controller)设计模式的Web应用框架,用于简化Java Servlet和JSP的开发。Struts2提供了一种组织应用程序结构的方法,使得业务逻辑与表现层分离,提高了代码的可维护性和可...

    Struts 2源码查看xwork-2.1.5第一部分

    在Struts 2的源码中,`pom.xml`将列出所有必需的库,包括Servlet API、JSTL、Commons Lang等,这些库对于Struts 2的正常运行至关重要。 `src`目录包含了源代码,分为`main/java`和`test/java`两部分。`main/java`...

    struts1+mvn样例程序

    对于Struts1的应用,`src/main/webapp/WEB-INF`目录下的`struts-config.xml`是核心配置文件,它定义了Action、Form Bean、Result Maps以及其他的Struts配置。在这个Hello World示例中,可能有一个简单的Action配置,...

    java版天气预报源码(struts2)

    2. **资源文件**:如`src/main/resources`,可能包含配置文件,如Struts2的配置文件(struts.xml)、数据库连接配置(db.properties)等。 3. **Web应用结构**:如`Web-INF`,其中`web.xml`是Web应用的部署描述符,...

    struts学习笔记

    Struts2的核心是基于WebWork框架,并且大量采用了拦截器技术,使得业务逻辑控制器能够更好地与Servlet API相分离。 **Struts2的特点**: - **灵活性**:Struts2支持多种类型的Action,包括普通的Java类。 - **可...

Global site tag (gtag.js) - Google Analytics