MYSQL
rownum自身特性:只能查询<的数据,不能查询>的数据
SQLserver,oracle
row_number()over(字段)
指定字段值预编译,然后将预编译好的字段值
文件上传
a 引入两个jar apache:commons-fileupload.jar组件,且依赖commons-io
b 上传文件 type = “file”,如果有上传组件,必须提交方式为post,method = “post”,在表单中必须增加一个属性 enctype=“multipart/form-data">
代码
if(isMultipart){ //判断前台的form是否有mutipart属性
FileItemFactory factory = new DiskFileItemFactory();
ServletFileUpload upload = new ServletFileUpload(factory);
//通过parseRequest解析form中所有请求字段,并保存到items集合中(即前台传递的数据)
List<FileItem> items = upload.parseRequest(request)
//遍历items中数据
注意的问题 上传的目录 upload
1 如果修改代码,则在tomcat重新启动时会被删除
原因:当修改代码时,tomat会重新编译一份class,并重新部署(重新创建各种目录)
2 如果不修改代码,则不会删除(class仍然是之前的class)
因此,可以将上传目录放在非tomat文件夹里
servlet控制文件上传类型及大小
a 可以通过"."后缀名来判断文件类型
b 可以通过setSizeMax()函数来控制单个文件大小
upload.setSizeMax();单位:字节B
c 设置上传文件时,用到的临时区的缓冲n'g文件的大小factory
factory.setRepository();单位为b
//设置临时文件夹
setRepository(new File("uploadtemp");
下载 不需要jar包
a 请求(地址a form),请求servlet
b servlet通过文件的地址 将文件转为输入流 servlet中
c 通过输出流 将 刚才已经转化为输出流的文件 输出给客户
注意:下载文件 需要设置两个响应头
response.addHeader(“content-type”,“application/octet-stream”);二进制,任意文件
response.addHeader("content-Disposition","attachement;filename="+fileName);fileName包含了文件的后缀名
下载时乱码,出现中文时
edge:
需要转码URLEncoder.encode(fileName