java web笔记
一、文件上传
包:jsmartcom_zh_CN.jar
FileUpTool.java
import com.jsmart.upload;
//创建对象
SmartUpload su = new SmartUpload;
//初始化
su.initiallize(sevlet.getServletConfig(),request,response);
//设置路径
String filePath = getServletContext().getRealPath("/")+"upload";
//getServletContext():得到servlet上下文,web服务器启动时为web程序创建的共享存储区域,同一web程序中所有servlet与jsp共享
//getRealPath(“/”):获得绝对路径,传入参数为相对路径,“/”即为根目录,必须以“/”开头
//设置上传文件最大10M
su.setMaxFileSize(1024*1024*10);
//设置所有文件大小100M
su.setTotalMaxFileSize(1024*1024*100);
//设置允许上传文件类型
su.setAllowedFilesList("txt,jpg,gif,png");
//设置禁止上传文件类型
su.setDeniedFilesList("rar");
//上传文件
su.upload();
//保存文件
su.save();
//取得所上传的文件对象
File file = FileUp(servlet,request,response).getFiles.getFile(0);
FileUp.jsp
必须使用HTML中的file控件
<input type="file" name="myfile" />
form必须使用enctype进行分装,表示将表单按二进制提交
<form action="smartUploadServlet.do" method="post" enctype="multipart/form-data">
如果要上传文件,表单则必须封装。但是当一个表单使用了<code>enctype="multipart/form-data"</code>封装后,其他的非表单控件的内容就无法通过request内置对象取得,此时必须通过SmartUpload类中提供的getRequest()方法取得全部的请求参数。
SmartUpload smart = new SmartUpload();
String name = smart.getRequest().getParameter("name"); //接收请求参数
现在是通过SmartUpload完成参数接收的,所以smart.getRequest()方法一定要在执行完upload()方法后才可以使用。
二、jsp中超链接传值方式
使用键值对格式,从?开始,多个键值对间用&分隔
<a href="show.jsp?name=tom&pass=123&score=78,5">链接</a>
取值使用request
String username=request.getParameter("name");
三、文件下载
FileDownTool.java
//获取文件名
String filename=request.getParameter("filename");
SmartUpload su = new SmartUpload();
su.initiallize(sevlet.getServletConfig(),request,response);
//下载文件
su.downloadFile("/upload/"+filename);