java学习笔记 (8) —— Struts2 实现上传
1、新建upload.jsp
- <%@ page language="java" import="java.util.*" pageEncoding="ISO-8859-1"%>
- <%@ taglib prefix="s" uri="/struts-tags" %>
- <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
- <html>
- <head>
- </head>
- <body>
- <s:form action="upload" theme="simple" method="post" namespace="" enctype="multipart/form-data">
- <table align="center" width="40%" border="1">
- <tr>
- <td>
- username
- </td>
- <td>
- <s:textfield name="username" ></s:textfield>
- </td>
- </tr>
- <tr>
- <td>
- password
- </td>
- <td>
- <s:textfield name="password" ></s:textfield>
- </td>
- </tr>
- <tr>
- <td>
- file
- </td>
- <td>
- <s:file name="file"></s:file>
- </td>
- </tr>
- <tr>
- <td>
- <s:submit value=" submit "></s:submit>
- </td>
- <td>
- <s:reset value=" reset "></s:reset>
- </td>
- </tr>
- </table>
- </s:form>
- </body>
- </html>
2、新建uploadResult.jsp
- <%@ page language="java" import="java.util.*" pageEncoding="ISO-8859-1"%>
- <%@ taglib prefix="s" uri="/struts-tags" %>
- <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
- <html>
- <head>
- <title>My JSP 'uploadResult.jsp' starting page</title>
- </head>
- <body>
- username:<s:property value="username"></s:property>
- password:<s:property value="password"></s:property>
- file:<s:property value="fileFileName"></s:property>
- </body>
- </html>
3、新建UploadAction.java
- package com.test.action;
- import java.io.File;
- import java.io.FileInputStream;
- import java.io.FileOutputStream;
- import java.io.InputStream;
- import java.io.OutputStream;
- import org.apache.struts2.ServletActionContext;
- import com.opensymphony.xwork2.ActionSupport;
- public class UploadAction extends ActionSupport {
- private static final long serialVersionUID = 1L;
- private String username;
- private String password;
- //必须添加的三个属性
//file- private File file;
- //fileFileName
- private String fileFileName;
- //fileContentType
- private String fileContentType;
- public String getUsername() {
- return username;
- }
- public void setUsername(String username) {
- this.username = username;
- }
- public String getPassword() {
- return password;
- }
- public void setPassword(String password) {
- this.password = password;
- }
- public File getFile() {
- return file;
- }
- public void setFile(File file) {
- this.file = file;
- }
- public String getFileFileName() {
- return fileFileName;
- }
- public void setFileFileName(String fileFileName) {
- this.fileFileName = fileFileName;
- }
- public String getFileContentType() {
- return fileContentType;
- }
- public void setFileContentType(String fileContentType) {
- this.fileContentType = fileContentType;
- }
- public String execute() throws Exception
- {
- InputStream is = new FileInputStream(file);
- String root = ServletActionContext.getServletContext().getRealPath("/upload");
- File destFile = new File(root,this.getFileFileName());
- OutputStream os = new FileOutputStream(destFile);
- //字节数组
- byte[] buffer = new byte[400];
- int length = 0;
- while ((length = is.read(buffer))>0) {
- os.write(buffer);
- }
- is.close();
- os.close();
- return SUCCESS;
- }
- }
4、struts.xml
- <action name="upload" class="com.test.action.UploadAction">
- <result name="success">/uploadResult.jsp</result>
- </action>
多文件上传:
1、upload.jsp
- <body>
- <s:form action="upload" theme="simple" method="post" namespace="" enctype="multipart/form-data">
- <table align="center" width="40%" border="1">
- <tr>
- <td>
- username
- </td>
- <td>
- <s:textfield name="username" ></s:textfield>
- </td>
- </tr>
- <tr>
- <td>
- password
- </td>
- <td>
- <s:textfield name="password" ></s:textfield>
- </td>
- </tr>
- <tr>
- <td>
- file1
- </td>
- <td>
- <s:file name="file"></s:file>
- </td>
- </tr>
- <tr>
- <td>
- file2
- </td>
- <td>
- <s:file name="file"></s:file>
- </td>
- </tr>
- <tr>
- <td>
- file3
- </td>
- <td>
- <s:file name="file"></s:file>
- </td>
- </tr>
- <tr>
- <td>
- <s:submit value=" submit "></s:submit>
- </td>
- <td>
- <s:reset value=" reset "></s:reset>
- </td>
- </tr>
- </table>
- </s:form>
- </body>
2、uploadResult.jsp
- <body>
- username:<s:property value="username"></s:property>
- password:<s:property value="password"></s:property>
- file:<s:property value="fileFileName"></s:property>
- </body>
3、uploadAction.jsp
- package com.test.action;
- import java.io.File;
- import java.io.FileInputStream;
- import java.io.FileOutputStream;
- import java.io.InputStream;
- import java.io.OutputStream;
- import java.util.List;
- import javax.swing.ListModel;
- import org.apache.struts2.ServletActionContext;
- import com.opensymphony.xwork2.ActionSupport;
- public class UploadAction extends ActionSupport {
- private static final long serialVersionUID = 1L;
- private String username;
- private String password;
- private List<File> file;
- private List<String> fileFileName;
- private List<String> fileContentType;
- public String getUsername() {
- return username;
- }
- public void setUsername(String username) {
- this.username = username;
- }
- public String getPassword() {
- return password;
- }
- public void setPassword(String password) {
- this.password = password;
- }
- public List<File> getFile() {
- return file;
- }
- public void setFile(List<File> file) {
- this.file = file;
- }
- public List<String> getFileFileName() {
- return fileFileName;
- }
- public void setFileFileName(List<String> fileFileName) {
- this.fileFileName = fileFileName;
- }
- public List<String> getFileContentType() {
- return fileContentType;
- }
- public void setFileContentType(List<String> fileContentType) {
- this.fileContentType = fileContentType;
- }
- public String execute() throws Exception
- {
- for (int i = 0; i < file.size(); i++) {
- InputStream is = new FileInputStream(file.get(i));
- String root = ServletActionContext.getServletContext().getRealPath("/upload");
- File destFile = new File(root,this.getFileFileName().get(i));
- OutputStream os = new FileOutputStream(destFile);
- //字节数组
- byte[] buffer = new byte[400];
- int length = 0;
- while ((length = is.read(buffer))>0) {
- os.write(buffer);
- }
- is.close();
- os.close();
- }
- return SUCCESS;
- }
- }
java学习笔记 (8) —— Struts2 实现上传的更多相关文章
- struts2学习笔记之十:文件上传
Struts2的上传 1.Struts2默认采用了apache commons-fileupload 2.Struts2支持三种类型的上传组件 3.需要引入commons-fileupload相关依赖 ...
- 学习Struts--Chap07:Struts2文件上传和下载
1.struts2文件上传 1.1.struts2文件上传的基本概述 在开发web应用的时候,我们一般会为用户提供文件上传的功能,比如用户上传一张图像作为头像等.为了能上传文件,我们必须将表单的met ...
- [原创]java WEB学习笔记49:文件上传基础,基于表单的文件上传,使用fileuoload 组件
本博客为原创:综合 尚硅谷(http://www.atguigu.com)的系统教程(深表感谢)和 网络上的现有资源(博客,文档,图书等),资源的出处我会标明 本博客的目的:①总结自己的学习过程,相当 ...
- [原创]java WEB学习笔记50:文件上传案例
本博客为原创:综合 尚硅谷(http://www.atguigu.com)的系统教程(深表感谢)和 网络上的现有资源(博客,文档,图书等),资源的出处我会标明 本博客的目的:①总结自己的学习过程,相当 ...
- 笔记:Struts2 文件上传和下载
为了上传文件必须将表单的method设置为POST,将 enctype 设置为 muiltipart/form-data,只有设置为这种情况下,浏览器才会把用户选择文件的二进制数据发送给服务器. 上传 ...
- PHP学习笔记--文件目录操作(文件上传实例)
文件操作是每个语言必须有的,不仅仅局限于PHP,这里我们就仅用PHP进行讲解 php的文件高级操作和文件上传实例我放在文章的最后部分.--以后我还会给大家写一个PHP类似于网盘操作的例子 注意:阅读此 ...
- php学习笔记:文件的上传(包含设置文件的上传大小限制)
今天写的是文件上传,前几天自学的正规则又忘记了,用了很笨的方法去判断格式,直接上代码: <?php /** * Created by PhpStorm. * User: Administrato ...
- PHP学习笔记 02 之文件上传
我们了解了表单传值后,这些我就可以完成PHP的文件上传了.我们了解PHP文件上传前,先了解PHP文件上传的原理. 一.PHP上传文件原理 第一步:将本地的文件通过form表单上传到服务器的临时目录中, ...
- Kali学习笔记38:文件上传漏洞
早些年,提到Web渗透,或者搜索一些黑客教程 基本都会看到文件上传漏洞. 它是一个很经典的漏洞 但它本质其实不是一个漏洞,而是网站本身的上传文件功能 不过如果我们上传了Webshell,那么就成为了文 ...
随机推荐
- MATLAB 常用形态学操作函数
常用形态学操作函数(转自:http://blog.sina.com.cn/s/blog_4c52e9e20100e5if.html) 1.dilate函数 该函数能够实现二值图像的膨胀操作,有以下形式 ...
- MySql 到 SQL Server(MSSQL)
我用 MySql 2年了,一直都是 asp.net + MySql 开发 为什么不用 MSSQL呢? 原因 : 在我的国家,几乎找不到任何一间托管公司有提供 SQL SERVER 的,有的话也是 20 ...
- 基础 ADO.NET 访问MYSQL 与 MSSQL 数据库例子
虽然实际开发时都是用 Entity 了,但是基础还是要掌握和复习的 ^^ //set connection string, server,database,username,password MySq ...
- HDOJ 1390 Binary Numbers(进制问题)
Problem Description Given a positive integer n, find the positions of all 1's in its binary represen ...
- zookeeper[3] zookeeper API开发注意事项总结
如下是根据官方接口文档(http://zookeeper.apache.org/doc/r3.4.1/api/org/apache/zookeeper/ZooKeeper.html#register( ...
- 常用的MIME类型(资源的媒体类型)
后缀名 MIME名称 *.3gpp audio/3gpp, video/3gpp *.ac3 audio/ac3 *.asf allpication/vnd.ms-asf *.au audio/bas ...
- css样式-表格优化
1.表格的初步优化 index.html <!DOCTYPE html> <html> <head> <meta charset="UTF-8&qu ...
- javadoc简介
Javadoc是Sun公司提供的一个技术,它从程序源代码中抽取类.方法.成员等注释形成一个和源代码配套的API帮助文档.也就是说,只要在编写程序时以一套特定的标签作注释,在程序编写完成后,通过Java ...
- UserManageSys
JSP部分: err.jsp <%@ page language="java" import="java.util.*" pageEncoding=&qu ...
- WebMagic的设计参考了业界最优秀的爬虫Scrapy
http://webmagic.io/docs/zh/posts/ch1-overview/thinking.html https://github.com/psvehla/liferay-sprin ...