jsp框架源码下载(jsp+servlet实现文件上传与下载源码)
本文目录
jsp+servlet实现文件上传与下载源码
上传:需要导入两个包:commons-fileupload-1.2.1.jar,commons-io-1.4.jarimport 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) { } }}
怎样利用网上下载的JSP源码组成一个系统网站
一些做的比较好的源码确实值得下载研究,但首先你要能看得懂源码才行啊,那不是一天两天的功夫能办到的.说到合并这些源码形成一个系统网站那更不是初学者能办到的,一个完整的网站包括的内容很多,数据库的连接和使用,网站前台技术如 xhtml,css,dom,javascript等,之后是后台可以选择JSP,但还有dot net,PHP,ASP网站的整体构架,有了这些知识之后你还要会使用开发软件,Eclips,spring,struts,hibemate等。真想学习JSP,那就老老实实从头开始吧,网上有好多学习资源,只要你想学习,网上都能下载得到学习教程。
更多文章:

qq强制聊天临时会话代码(现在如何qq零时会话,或强制聊天,求方法)
2025年3月2日 11:00

我是编程爱好者,很喜欢根据自己的需要编一些小工具,我是学VB6.0、VB.net还是C#呢,请大侠帮忙解答?如何从菜鸟成长为编程高手
2025年2月20日 07:00

设计模式具有的优点是(java中泛型dao的设计模式有哪些优点)
2025年3月17日 08:10

gvim配置(ubuntu---配置gvim文件是在终端输入gedit ~/gvimrc吗)
2025年2月9日 20:40

next level aespa(A-level课程值得选择吗)
2025年2月12日 04:30

arraylist面试题(一个与java集合与数据库有关的面试题)
2025年3月21日 20:40

constructional(constructional data form什么意思)
2025年3月12日 15:50

relativelayout居中(absolutelayout 内容如何居中显示)
2025年3月31日 09:50

自学php能干什么(自学PHP要学到什么程度,出来怎么找工作呢)
2025年3月29日 20:40