文件上传下载
Part对象 http.part
方法:1)getPart() 获取Part对象 request.getPart("");
2)getHeader() 获取文件名称
3)getSize() 文件大小
4)write() 写文件到服务器
步骤及注意事项:
1.设计上传文件表单 <input type="file">、表单类型:enctype multipart/form-data method="post"
2.服务器端:
1.获取part对象
2.获取文件名称
3.写文件到服务器
第一步:编写两个页面
JSP页面
<%@ page language="java" contentType="text/html; charset=utf-8"
pageEncoding="utf-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>文件上传下载</title>
</head>
<body>
<form action="FileupaloadServlet" method="post" enctype="multipart/form-data">
文件ID <input type="text" name="fileID"><br>
文件<input type="file" name="fileName"><br>
<input type="submit" value="上传">
</form>
</body>
</html>
Servlet页面
@WebServlet("/FileupaloadServlet")
@MultipartConfig(location="e:\\",fileSizeThreshold=1024)
public class FileupaloadServlet extends HttpServlet {
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
//1.获取part对象(包含文件信息)
Part part = request.getPart("fileName");
//2.获取根路径(用于构造输出路径)
String path=getServletContext().getRealPath("/");
//3.保存文件(part输出)
part.write(path+"\\upload\\b.txt"); // "\\"第一个\ 表示转义字符
}
}
第二步:在Tomcat下运行jsp页面,而不在eclipse下直接运行。
- 需要配置server.xml文件:Tomcat 7.0 ----> config ----> server.xml
//tomcat中给server.xml加入<Context>元素
<Context path="/fs" docBase="E:\javaweb\WebContent" reloadable="true" source="org.eclipse.jst.jee.server:fs"/>
解释:<Context>代表了运行在<Host>上的单个Web应用,一个<Host>可以有多个<Context>元素,每个Web应用必须有唯一的URL路径,这个URL路径在<Context>中的属性path中设定。
<Context>元素的属性:
path:指定访问该Web应用的URL入口。
docBase:指定Web应用的文件路径,可以给定绝对路径,也可以给定相对于<Host>的appBase属性的相对路径,如果Web应用采用开放目录结构,则指定Web应用的根目录,如果Web应用是个war文件,则指定war文件的路径。
我这里的docBase路径是我这个项目的WebContent路径。
reloadable:如果这个属性设为true,tomcat服务器在运行状态下会监视在WEB-INF/classes和WEB-INF/lib目录下class文件的改动,如果监测到有class文件被更新的,服务器会自动重新加载Web应用。
在开发阶段将reloadable属性设为true,有助于调试servlet和其它的class文件,但这样用加重服务器运行负荷,建议在Web应用的发存阶段将reloadable设为false。
- 然后找到eclipse下的项目名 右键 ,按照如下图操作
启动Tomcat,打开浏览器输入地址。这里要注意文件名变为了server.xml文件里写的<Context>里面的path
最后再回到开始的项目文件夹下就可看见上传的文件。