java enctype_上传文件form表单enctype="multipart/form-data"传值解决办法(代原代码)

四个文件原代码分别为:

web.xml

xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee

http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">

fileUpload

servlet.FileUpload

fileUpload

/fileUpload

encodingFilter

servlet.EncodeFilter

encoding

UTF-8

encodingFilter

/*

org.apache.commons.fileupload.servlet.FileCleanerCleanup

org.apache.commons.fileupload.servlet.FileCleanerCleanup

index.jsp

index.jsp

String path = request.getContextPath();

String basePath = request.getScheme() + "://"

+ request.getServerName() + ":" + request.getServerPort()

+ path + "/";

%>

My JSP 'index.jsp' starting page

文件:

姓名:

success.jsp

String path = request.getContextPath();

String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";

%>

My JSP 'success.jsp' starting page

user.name=${user.name}

user.add=${user.add}

file:=${affix.affixName}

Affix.java

package model;

import java.util.Date;

public class Affix {

private String tableName;

private Long tableRecordId;

private String affixName;

private String affixUrl;

private long size;

private long creatorId;

private Date createDate;

private Long updaterId;

private Date updatorDate;

public String getTableName() {

return tableName;

}

public void setTableName(String tableName) {

this.tableName = tableName;

}

public Long getTableRecordId() {

return tableRecordId;

}

public void setTableRecordId(Long tableRecordId) {

this.tableRecordId = tableRecordId;

}

public String getAffixName() {

return affixName;

}

public void setAffixName(String affixName) {

this.affixName = affixName;

}

public String getAffixUrl() {

return affixUrl;

}

public void setAffixUrl(String affixUrl) {

this.affixUrl = affixUrl;

}

public long getSize() {

return size;

}

public void setSize(long l) {

this.size = l;

}

public long getCreatorId() {

return creatorId;

}

public void setCreatorId(long creatorId) {

this.creatorId = creatorId;

}

public Date getCreateDate() {

return createDate;

}

public void setCreateDate(Date createDate) {

this.createDate = createDate;

}

public Long getUpdaterId() {

return updaterId;

}

public void setUpdaterId(Long updaterId) {

this.updaterId = updaterId;

}

public Date getUpdatorDate() {

return updatorDate;

}

public void setUpdatorDate(Date updatorDate) {

this.updatorDate = updatorDate;

}

}

User.java

package model;

public class User {

private String name;

private String add;

private int age;

public String getName() {

return name;

}

public void setName(String name) {

this.name = name;

}

public String getAdd() {

return add;

}

public void setAdd(String add) {

this.add = add;

}

public int getAge() {

return age;

}

public void setAge(int i) {

this.age = i;

}

}

EncodeFilter.java

package servlet;

import java.io.IOException;

import javax.servlet.Filter;

import javax.servlet.FilterChain;

import javax.servlet.FilterConfig;

import javax.servlet.ServletException;

import javax.servlet.ServletRequest;

import javax.servlet.ServletResponse;

public class EncodeFilter implements Filter {

private String encoding = null;

public void destroy() {

encoding = null;

}

public void doFilter(ServletRequest request, ServletResponse response,

FilterChain filterChain) throws IOException, ServletException {

if (encoding != null)

request.setCharacterEncoding(encoding);

filterChain.doFilter(request, response);

}

public void init(FilterConfig filterConfig) throws ServletException {

encoding = filterConfig.getInitParameter("encoding");

}

}

FileUpload.java

package servlet;

import java.io.File;

import java.io.FileOutputStream;

import java.io.IOException;

import java.io.InputStream;

import java.io.OutputStream;

import java.util.Date;

import java.util.Iterator;

import java.util.List;

import javax.servlet.ServletException;

import javax.servlet.http.HttpServlet;

import javax.servlet.http.HttpServletRequest;

import javax.servlet.http.HttpServletResponse;

import model.Affix;

import model.User;

import org.apache.commons.fileupload.FileItem;

import org.apache.commons.fileupload.FileUploadException;

import org.apache.commons.fileupload.disk.DiskFileItemFactory;

import org.apache.commons.fileupload.servlet.ServletFileUpload;

public class FileUpload extends HttpServlet {

protected void doPost(HttpServletRequest request,

HttpServletResponse response) throws ServletException, IOException {

// TODO Auto-generated method stub

String tempPath = "d:\\file\\";

File file = new File(tempPath);

if(!file.exists()){

file.mkdir();

}

System.out.println(ServletFileUpload.isMultipartContent(request));

DiskFileItemFactory factory = new DiskFileItemFactory();

// Create a new file upload handler

ServletFileUpload upload = new ServletFileUpload(factory);

// upload.setSizeMax(1024 * 1024 * 50L);

// Parse the request

List items = null;

try {

items = upload.parseRequest(request);

} catch (FileUploadException e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

byte data[] = new byte[1024];

int i = 0;

Affix affix = null;

User user = new User();

if (items != null)

for (Iterator iterator = items.iterator(); iterator.hasNext();) {

FileItem item = (FileItem) iterator.next();

if (item.isFormField()) {

System.out.print(new String(item.getString("UTF-8")));

if ("add".equals(item.getFieldName())) {

user.setAdd(new String(item.getString("UTF-8")));

} else if ("name".equals(item.getFieldName())) {

user.setName(new String(item.getString("UTF-8")));

} else if ("age".equals(item.getFieldName())) {

user.setAge(Integer.parseInt(item.getString()));

}

// BeanUtils.setFieldValue(user, item.getFieldName(), item

// .getString());

} else {

String fileName = item.getName().substring(

item.getName().lastIndexOf(File.separator) + 1,

item.getName().length());

InputStream inputStream = item.getInputStream();

// InputStream inputStream = request.getInputStream();

OutputStream outputStream = new FileOutputStream(tempPath

+ fileName);

while ((i = inputStream.read(data)) != -1) {

outputStream.write(data, 0, i);

}

inputStream.close();

outputStream.close();

affix = new Affix();

affix.setCreateDate(new Date());

affix.setTableName("t_test_user");

affix.setSize(item.getSize());

affix.setAffixUrl(tempPath + fileName);

affix.setAffixName(fileName);

}

}

// userService.addUser(user);

// fileService.addFile(file)

request.setAttribute("user", user);

request.setAttribute("affix", affix);

request.getRequestDispatcher("/success.jsp").forward(request, response);

// response.sendRedirect("success.jsp");

}

}

代码有点乱,工作有点忙在这里就不改了。

执行结果如图:

1376131161140115589.png

1654509913107060304.png

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值