javaWeb文件上传
来源:互联网 发布:msxml是什么软件 编辑:程序博客网 时间:2024/05/19 13:23
首先要下载两个组件
commons-fileupload-1.3.1.jar
commons-io-2.4.jar
commons-fileupload-1.3.1.jar
commons-io-2.4.jar
FileUploadServlet .java
package com.bjsxt.shopping.servlet;
import java.io.File;
import java.io.IOException;
import java.util.*;
import javax.servlet.ServletConfig;
import javax.servlet.ServletContext;
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.FileUploadException;
importorg.apache.commons.fileupload.disk.DiskFileItemFactory;
importorg.apache.commons.fileupload.servlet.ServletFileUpload;
public class FileUploadServlet extends HttpServlet {
private static final long serialVersionUID =-7744625344830285257L;
private ServletContext sc;
private String savePath;
public void doGet(HttpServletRequest request,HttpServletResponse response)
throws ServletException, IOException {
doPost(request, response);
}
public void init(ServletConfig config) {
// 在web.xml中设置的一个初始化参数
}
public void doPost(HttpServletRequest request,HttpServletResponse response)
throws ServletException, IOException {
request.setCharacterEncoding("GB18030");
DiskFileItemFactory factory = new DiskFileItemFactory();
ServletFileUpload upload = new ServletFileUpload(factory);
try {
List items = upload.parseRequest(request);
Iterator itr = items.iterator();
int id = -1;
while (itr.hasNext()) {
FileItem item = (FileItem) itr.next();
if (item.isFormField() &&item.getString().matches("\\d")) {
System.out.println("表单参数名:" item.getFieldName()
",表单参数值:" item.getString("GB18030"));
id = Integer.parseInt(item.getString());
System.out.println("id:" id);
} else {
//if (item.getName() != null &&!item.getName().equals("")) {
System.out.println("上传文件的大小:" item.getSize());
System.out.println("上传文件的类型:" item.getContentType());
// item.getName()返回上传文件在客户端的完整路径名称
System.out.println("上传文件的名称:" item.getName());
System.out.println("servlet更目录:" sc.getContextPath());
// 上传文件的保存路径
File file = newFile("E:\\javaWEB阶段\\exercise\\Shopping\\WebRoot\\admin\\images\\product\\"id ".png");
System.out.println("文件路径:""E:\\javaWEB阶段\\exercise\\Shopping\\WebRoot\\admin\\images\\product\\"id ".png");
item.write(file);
request.setAttribute("upload.message", "上传文件成功!");
//}
//else {
//request.setAttribute("upload.message", "没有选择上传文件!");
//}
}
}
} catch (FileUploadException e) {
e.printStackTrace();
} catch (Exception e) {
e.printStackTrace();
System.out.println("上传失败!");
request.setAttribute("upload.message", "上传文件失败!");
}
request.getRequestDispatcher("./admin/uploadResult.jsp").forward(request,
response);
}
}
upload.jsp
<%@ page language="java" contentType="text/html;charset=GB18030"%>
<%
String strId = request.getParameter("id");
int id = -1;
if(strId !=null &&!strId.trim().equals("")){
id = Integer.parseInt(strId);
}
%>
<html>
<head>
<title>using commons Upload toupload file </title>
</head>
<style>
* { font-family: "宋体"; font-size: 14px }
</style>
<body>
<p align="center">请您选择需要上传的文件</p>
<form id="form1" name="form1" method="post"action="../fileServlet"enctype="multipart/form-data">
<input type="hidden" name="id"value="<%=id%>"/>
<table border="0"align="center">
<tr>
<td>上传文件:</td>
<td><inputname="file" type="file" size="20"></td>
</tr>
<tr>
<td></td><td>
<input type="submit" name="submit" value="提交">
<input type="reset" name="reset" value="重置">
</td>
</tr>
</table>
</form>
</body>
</html>
uploadResult.java
<%@ page language="java" import="java.util.*"pageEncoding="GB18030"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01Transitional//EN">
<html>
<head>
<title>uploadResult</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 ismy page">
<!--
<link rel="stylesheet" type="text/css"href="styles.css">
-->
</head>
<body>
${requestScope['upload.message'] }
<ahref="./admin/upload.jsp">上传文件</a>
</body>
</html>
Web.xml
<?xml version="1.0"encoding="GB18030"?>
<web-app version="2.5"
xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
<servlet>
<description>This is thedescription of my J2EEcomponent</description>
<display-name>This is the displayname of my J2EEcomponent</display-name>
<servlet-name>FileUploadServlet</servlet-name>
<servlet-class>com.bjsxt.shopping.servlet.FileUploadServlet</servlet-class>
<init-param>
<param-name>savePath</param-name>
<param-value>E:/share/</param-value>
</init-param>
</servlet>
<servlet-mapping>
<servlet-name>FileUploadServlet</servlet-name>
<url-pattern>/fileServlet</url-pattern>
</servlet-mapping>
<welcome-file-list>
<welcome-file>index.jsp</welcome-file>
<welcome-file>uploadFile.jsp</welcome-file>
</welcome-file-list>
</web-app>
- JavaWeb之文件上传
- javaweb文件上传
- JavaWeb之文件上传
- javaweb文件上传原理
- javaweb文件上传
- javaweb文件上传
- javaweb文件的上传
- JavaWeb之文件上传
- JavaWeb 文件上传
- JavaWeb文件上传
- JavaWeb文件上传
- javaWeb 文件上传功能
- JavaWeb常用文件上传
- 上传文件(javaWeb)
- JavaWeb 文件 上传 下载
- javaweb---上传文件
- JavaWeb文件上传、下载
- JavaWeb 文件 上传 下载
- c++ 虚函数
- Python如何工作的
- SqlServer数据库中的分页语句
- 后台如何获取动态表单中相同名字的…
- isam2 优化pose graph
- javaWeb文件上传
- Android设置背景颜色的方法
- sharepoint 2013 使用outlook 打开sharepoint 任务失败
- Android中用pull解析器解析xml文件
- Win10开发8
- 在SQLite中如何使用事务
- 使用ContentProvider对外共享数据
- Eclipse中关联android源码
- JTree的最简单使用: