第一部分 index.jsp
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
<%
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>
<title>Servlet3.0文件上传应用示例</title>
</head>
<body>
<form action="upFile" method="post" enctype="multipart/form-data">
<table>
<tr>
<td>
选择文件
</td>
<td>
<input type="file" name="file">
</td>
</tr>
<tr>
<td>
描述
</td>
<td>
<input type="text" name ="description">
</td>
</tr>
<tr>
<td colspan="2">
<input type="submit" value="提交" >
<input type="reset" value="重置">
</td>
</tr>
</table>
</form>
</body>
</html>
<html>
<head>
<title>Servlet3.0文件上传应用示例</title>
</head>
<body>
<form action="upFile" method="post" enctype="multipart/form-data">
<table>
<tr>
<td>
选择文件
</td>
<td>
<input type="file" name="file">
</td>
</tr>
<tr>
<td>
描述
</td>
<td>
<input type="text" name ="description">
</td>
</tr>
<tr>
<td colspan="2">
<input type="submit" value="提交" >
<input type="reset" value="重置">
</td>
</tr>
</table>
</form>
</body>
</html>
第二部分 FileUploadServlet.java
package com.web.UpFile;
import java.io.File;
import java.io.IOException;
import java.util.UUID;
import java.io.IOException;
import java.util.UUID;
import javax.servlet.ServletException;
import javax.servlet.annotation.MultipartConfig;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.Part;
import javax.servlet.annotation.MultipartConfig;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.Part;
@WebServlet(name="upFile",urlPatterns={"/upFile"})
@MultipartConfig(maxFileSize=-1,maxRequestSize=-1)
public class FileUploadServlet extends HttpServlet{
public void doGet(HttpServletRequest req,HttpServletResponse resp)
throws ServletException,IOException{
doPost(req,resp);
}
public void doPost(HttpServletRequest req,HttpServletResponse resp)
throws ServletException,IOException{
//获取请求参数值
Part part = req.getPart("file");
//存储路径
String storePath = req.getServletContext().getRealPath("/temp");
//获取请求头
String header = part.getHeader("content-disposition");
//获取文件后缀名
String suffix = parseFileName(header);
//重命名
String name= UUID.randomUUID()+suffix;
//吧文件写到指定路径
part.write(storePath+File.separator+name);
//获得文件描述信息
String description = req.getParameter("description");
req.setAttribute("f", name);
req.setAttribute("des", description);
req.getRequestDispatcher("info.jsp").forward(req, resp);
}
@MultipartConfig(maxFileSize=-1,maxRequestSize=-1)
public class FileUploadServlet extends HttpServlet{
public void doGet(HttpServletRequest req,HttpServletResponse resp)
throws ServletException,IOException{
doPost(req,resp);
}
public void doPost(HttpServletRequest req,HttpServletResponse resp)
throws ServletException,IOException{
//获取请求参数值
Part part = req.getPart("file");
//存储路径
String storePath = req.getServletContext().getRealPath("/temp");
//获取请求头
String header = part.getHeader("content-disposition");
//获取文件后缀名
String suffix = parseFileName(header);
//重命名
String name= UUID.randomUUID()+suffix;
//吧文件写到指定路径
part.write(storePath+File.separator+name);
//获得文件描述信息
String description = req.getParameter("description");
req.setAttribute("f", name);
req.setAttribute("des", description);
req.getRequestDispatcher("info.jsp").forward(req, resp);
}
private String parseFileName(String header) {
return header.substring(header.lastIndexOf("."),header.length()-1);
}
}
return header.substring(header.lastIndexOf("."),header.length()-1);
}
}
第三部分 info.jsp
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
<%
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>Servlet3.0文件上传应用示例</title>
<html>
<head>
<base href="<%=basePath%>">
<title>Servlet3.0文件上传应用示例</title>
</head>
<body>
<h3><%=request.getAttribute("des") %></h3>
<img alt="" src="<%=basePath %>temp/<%=request.getAttribute("f") %>">
</body>
</html>
<body>
<h3><%=request.getAttribute("des") %></h3>
<img alt="" src="<%=basePath %>temp/<%=request.getAttribute("f") %>">
</body>
</html>
本实例只是简单介绍步骤,只能实现图片上传后的显示,至于上传的文本文件,没有做出显示。