jsp+servlet实现文件上传与下载源码
上传:
需要导入两个包:commons-fileupload-1.2.1.jar,commons-io-1.4.jar
import java.io.File;
import java.io.IOException;
import java.util.List;
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.disk.DiskFileItemFactory;
import org.apache.commons.fileupload.servlet.ServletFileUpload;
/**
* 上传附件
* @author new
*
*/
public class UploadAnnexServlet extends HttpServlet {
private static String path = ““;
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
doPost(request, response);
}
/*
* post处理
* (non-Javadoc)
* @see javax.servlet.http.HttpServlet#doPost(javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse)
*/
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
path = this.getServletContext().getRealPath(“/upload“);
try {
DiskFileItemFactory factory = new DiskFileItemFactory();
ServletFileUpload up = new ServletFileUpload(factory);
List《FileItem》 ls = up.parseRequest(request);
for (FileItem fileItem : ls) {
if (fileItem.isFormField()) {
String FieldName = fileItem.getFieldName();
//getName()返回的是文件名字 普通域没有文件 返回NULL
// String Name = fileItem.getName();
String Content = fileItem.getString(“gbk“);
request.setAttribute(FieldName, Content);
} else {
String nm = fileItem.getName().substring(
fileItem.getName().lastIndexOf(“\\“) + 1);
File mkr = new File(path, nm);
if (mkr.createNewFile()) {
fileItem.write(mkr);//非常方便的方法
}
request.setAttribute(“result“, “上传文件成功!“);
}
}
} catch (Exception e) {
e.printStackTrace();
request.setAttribute(“result“, “上传失败,请查找原因,重新再试!“);
}
request.getRequestDispatcher(“/pages/admin/annex-manager.jsp“).forward(
request, response);
}
}
下载(i/o流)无需导包:
import java.io.IOException;
import java.net.URLEncoder;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
/**
* 下载文件
* @author
*
*/
public class DownloadFilesServlet extends HttpServlet {
/**
*
*/
private static final long serialVersionUID = 8594448765428224944L;
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
doPost(request, response);
}
/*
* 处理请求
* (non-Javadoc)
* @see javax.servlet.http.HttpServlet#doPost(javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse)
*/
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
String name = request.getParameter(“fileName“);
System.out.print(“dddddddddd:“ + name);
// web绝对路径
String path = request.getSession().getServletContext().getRealPath(“/“);
String savePath = path + “upload“;
// 设置为下载application/x-download
response.setContentType(“application/x-download“);
// 即将下载的文件在服务器上的绝对路径
String filenamedownload = savePath + “/“ + name;
// 下载文件时显示的文件保存名称
String filenamedisplay = name;
// 中文编码转换
filenamedisplay = URLEncoder.encode(filenamedisplay, “UTF-8“);
response.addHeader(“Content-Disposition“, “attachment;filename=“
+ filenamedisplay);
try {
java.io.OutputStream os = response.getOutputStream();
java.io.FileInputStream fis = new java.io.FileInputStream(
filenamedownload);
byte b = new byte;
int i = 0;
while ((i = fis.read(b)) 》 0) {
os.write(b, 0, i);
}
fis.close();
os.flush();
os.close();
} catch (Exception e) {
}
}
}
html,css,javascript在制作网页中的作用,三者之间有何种联系
html:超文本标记语言,是为“网页创建和其它可在网页浏览器中看到的信息”设计的一种标记语言。
css:层叠样式表,是一种用来表现HTML或XML等文件样式的计算机语言。
javascript:一种直译式脚本语言,是一种动态类型、弱类型、基于原型的语言,内置支持类型。
每一个网页都是一个html文档,由浏览器解释呈现的。css是html中用来布局表现的。而javascript是html中用来动态交互的脚本。
here you are这翻译成中文什么意思
结合语境有以下两种意思:
1、给你
例句:
Here you are, and keep the change.
这是给你的钱, 不用找零。
2、在这里
例句:
And here you are the mothers’ laps.
而在这里你就是那母亲的怀抱。
here的用法
1、读音 /hɪr/
2、释义
adv. 在这里;此时
int. 嘿!;喂!
n. 这里
3、例句
Where do I go from here?
从这里我将走向哪里?
扩展资料
here词组用法
1、come here
1)释义:来这里
2)例句
We come here almost every month.
我几乎每个月都来这里。
2、from here
1)释义:由此处,从这儿
2)例句
Where do you go from here?
从这里您要到哪里?
3、here by
1)释义:在这里
2)例句
It’s difficult for me to living here by myself.
对我我自己来说住在这里是困难的。
4、near here
1)释义:在附近
2)例句
Is there any other travel agency near here?
这附近有没有任何别的的旅游社?