servlet上传与下载
上传页面
上传学生信息
学号
姓名
密码
性别 男 女
年龄
身高
学院
计算机学院
软件学院
照片
简历
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>上传学生信息</title> </head> <body> <form action="/lib/upload" method="post" enctype="multipart/form-data"> 学号 <input type="text" name="xuehao" id="xuehao"/> <br/> 姓名 <input type="text" name="xingming" id="xingming"> <br/> 密码 <input type="password" name="mima" id="mima"> <br/> 性别 <input type="radio" name="xingbie" value="nan" checked>男 <input type="radio" name="xingbie" value="nv" >女 <br/> 年龄 <input type="text" name="nianling" id="nianling"> <br/> 身高 <input type="text" name="shengao" id="shengao"> <br/> 学院 <select name="xueyuan"> <option value="computer">计算机学院</option> <option value="software">软件学院</option> </select> <br/> 照片 <input type="file" name="zhaopian" id="zhaopian"/> <br/> 简历 <input type="file" name="jianli" id="jianli"> <br/> <input type="submit" value="提交"> </form> </body> </html>
上传需要的配置信息web.xml
<servlet> <description></description> <display-name>UploadServlet</display-name> <servlet-name>UploadServlet</servlet-name> <servlet-class>com.sangewuxie.servlet.UploadServlet</servlet-class> <load-on-startup>0</load-on-startup> <multipart-config> <max-file-size>52428800</max-file-size> <max-request-size>52428800</max-request-size> <file-size-threshold>0</file-size-threshold> </multipart-config> </servlet> <servlet-mapping> <servlet-name>UploadServlet</servlet-name> <url-pattern>/upload</url-pattern> </servlet-mapping> <servlet>
上传的servlet
package com.sangewuxie.servlet; import java.io.FileOutputStream; import java.io.IOException; import java.io.InputStream; import javax.servlet.ServletException; import javax.servlet.annotation.MultipartConfig; import javax.servlet.annotation.WebServlet; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import javax.servlet.http.Part; import com.sangewuxie.dao.StudentDao; import com.sangewuxie.domain.Student; public class UploadServlet extends HttpServlet { public void doGet(HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException { request.setCharacterEncoding("utf-8"); String xuehao = request.getParameter("xuehao"); String xingming = request.getParameter("xingming"); String mima = request.getParameter("mima"); String xingbie = request.getParameter("xingbie"); int nianling = Integer.parseInt(request.getParameter("nianling")); int shengao = Integer.parseInt(request.getParameter("shengao")); String xueyuan = request.getParameter("xueyuan"); String dir = request.getServletContext().getRealPath(""); Part zhaopianPart = request.getPart("zhaopian"); String zhaopian = upload(request, zhaopianPart, dir+"\\upload\\zhaopian"); Part jianliPart =request.getPart("jianli"); String jianli = upload(request, jianliPart, dir+"\\upload\\jianli"); Student student = new Student(xuehao, xingming, mima, xingbie, nianling, shengao, xueyuan, zhaopian, jianli); StudentDao.InsertStudentInfo(student); response.setContentType("text/html;charset=utf-8"); response.getWriter().write("上传成功"); } /** * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response) */ public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { // TODO Auto-generated method stub doGet(request, response); } public String upload(HttpServletRequest request,Part part,String dir) throws IOException { String cd = part.getHeader("content-disposition"); /** * tomcat7没有getSubmittedFileName()方法
* String filename = part.getSubmittedFileName() */ String filename = cd.substring(cd.lastIndexOf("=")+2, cd.length()-1); String houzhui = filename.substring(filename.lastIndexOf('.')); String destfilename = System.currentTimeMillis()+""; destfilename = destfilename + houzhui; part.write(dir+"\\"+destfilename); // InputStream ist = part.getInputStream(); // FileOutputStream fos = new FileOutputStream(dir+"\\"+destfilename); // byte[] bytes = new byte[1024]; // int size = -1; // while((size = ist.read(bytes))>0){ // fos.write(bytes, 0, size); // } // ist.close(); // fos.close(); return destfilename; } }
下载 流程
package com.sangewuxie.servlet; import java.io.FileInputStream; import java.io.IOException; import java.io.InputStream; import java.io.OutputStream; import java.io.PrintStream; import javax.servlet.ServletException; import javax.servlet.annotation.WebServlet; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import com.sangewuxie.dao.StudentDao; public class DownloadServlet extends HttpServlet { public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { String xuehao = request.getParameter("xuehao"); String jianli = StudentDao.getName(xuehao,"jianli"); // System.out.println(jianli); if(jianli==null) { response.setContentType("text/html;charset=utf-8"); response.getWriter().write("未找到该生或该生不存在"); } else { String contentType = getServletContext().getMimeType(jianli); response.setContentType(contentType); response.setHeader("Content-Disposition", "attachment;filename="+jianli); String dir = request.getServletContext().getRealPath("")+"\\upload\\jianli\\"; String filename = dir+jianli; InputStream in = new FileInputStream(filename); OutputStream out = response.getOutputStream(); int len; while((len=in.read())!= -1) { out.write(len); } in.close(); out.close(); } } public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { doGet(request, response); } }
保存到csv
package com.sangewuxie.servlet; import java.io.File; import java.io.FileWriter; import java.io.IOException; import java.io.OutputStream; import java.io.PrintStream; import java.net.URLEncoder; import java.util.ArrayList; import java.util.Iterator; import javax.servlet.ServletException; import javax.servlet.annotation.WebServlet; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import com.sangewuxie.dao.StudentDao; import com.sangewuxie.domain.Student; public class SavecsvServlet extends HttpServlet { public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { int minAge = Integer.parseInt(request.getParameter("min")); int maxAge = Integer.parseInt(request.getParameter("max")); ArrayList<Student> students= StudentDao.getInfo(minAge,maxAge); response.setContentType("text/html;charset=utf-8"); if(students.isEmpty()) { response.getWriter().write("未找到该数据或者数据不存在"); } else { String filename = "从"+minAge+"到"+maxAge+"岁的信息.csv"; filename = URLEncoder.encode(filename,"UTF-8"); String contentType =getServletContext().getMimeType(filename); response.setContentType(contentType); response.setHeader("Content-Disposition", "attachment;filename="+filename); OutputStream out = response.getOutputStream(); PrintStream ps = new PrintStream(out); ps.println("学号,姓名,性别,年龄,身高,学院"); Iterator it = students.iterator(); while(it.hasNext()) { Student student= (Student) it.next(); ps.println(student.getXuehao()+","+student.getXingming()+","+student.getXingbie()+","+student.getNianling()+","+student.getShengao()+","+student.getXueyuan()); } ps.flush(); ps.close(); out.close(); } } public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { doGet(request, response); } }
个人笔记。无需细看
servlet上传与下载的更多相关文章
- servlet上传下载(任何格式的都可以)
jar不能低于此版本,JDK1.6以上,否则户报错 <dependency> <groupId>commons-fileupload</groupId> <a ...
- java web学习总结(二十四) -------------------Servlet文件上传和下载的实现
在Web应用系统开发中,文件上传和下载功能是非常常用的功能,今天来讲一下JavaWeb中的文件上传和下载功能的实现. 对于文件上传,浏览器在上传的过程中是将文件以流的形式提交到服务器端的,如果直接使用 ...
- 使用jsp/servlet简单实现文件上传与下载
使用JSP/Servlet简单实现文件上传与下载 通过学习黑马jsp教学视频,我学会了使用jsp与servlet简单地实现web的文件的上传与下载,首先感谢黑马.好了,下面来简单了解如何通过使用 ...
- Servlet 实现文件的上传与下载
这段时间尝试写了一个小web项目,其中涉及到文件上传与下载,虽然网上有很多成熟的框架供使用,但为了学习我还是选择了自己编写相关的代码.当中遇到了很多问题,所以在此这分享完整的上传与下载代码供大家借鉴. ...
- springmvc和servlet在上传和下载文件(保持文件夹和存储数据库Blob两种方式)
参与该项目的文件上传和下载.一旦struts2下完成,今天springmvc再来一遍.发现springmvc特别好包,基本上不具备的几行代码即可完成,下面的代码贴: FileUpAndDown.jsp ...
- 【Demo Project】AjaxSubmit+Servlet表单文件上传和下载
一.背景 前段时间公司要求我做一个上传和下载固件的页面,以备硬件产品在线升级,现在我把这部分功能抽取出来作为一个Demo Project给大家分享. 话不多说,先看项目演示 --> 演示 源码 ...
- jsp+servlet实现文件的上传和下载
实现文件的上传和下载首先需要理解几个知识,这样才可以很好的完成文件的上传和下载: (1):上传文件是上传到服务器上,而保存到数据库是文件名 (2):上传文件是以文件转换为二进制流的形式上传的 (3): ...
- Servlet文件上传和下载的复习
上传 使用Servlet完成上传和下载相较于使用Struts框架有点麻烦,毕竟更偏底层了 项目中主要使用的jar包: commons-io-2.2.jar commons-fileupload-1. ...
- jsp/servlet实现简单上传和下载
使用JSP/Servlet简单实现文件上传与下载 jsp上传页面代码: <%@ page language="java" import="java.util.*&q ...
随机推荐
- html日历(2)
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...
- 久未更 ~ 五之 —— 引入外部CSS样式表 小节
> > > > > 久未更 系列一:在html中引入外部css样式表 //引入外部css样式表 //<lilnk>要放在<head>标签的第一行, ...
- java中的分支结构 switch case的使用
switch(A),括号中A的取值只能是整型或者可以转换为整型的数值类型,比如byte.short.int.char.string(jdk1.7后加入)还有枚举:需要强调的是:long是不能用在swi ...
- Web前端性能优化——如何提高页面加载速度
前言: 在同样的网络环境下,两个同样能满足你的需求的网站,一个"Duang"的一下就加载出来了,一个纠结了半天才出来,你会选择哪个?研究表明:用户最满意的打开网页时间是2-5秒, ...
- dedecms织梦网站图片集上传图片出现302错误图片提示怎么解决 已测
时间:2016-01-20 来源:未知 作者:模板之家 阅读:次 小编今天上传织梦网站模板的时候,在图片集里面选择上传图片的时候,弹出302错误提示,当是真的是郁闷了,试了好几次,开始还以为是图片过大 ...
- PhpStorm常用的一些快捷键
Ctrl + G : 跳到当前打开文件的行,输入格式(行数:列数)Ctrl + E : 打开最近编辑的文件列表Ctrl + P : 显示函数的参数信息Ctrl + Q : 快速打开函数的说明 ...
- arclistsg文档独立模型标签
[标签名称] arclistsg [标签简介] 单表独立模型的文档列表调用标记 [功能说明] 用于调用单表模型的内容,在V5.3系统以上版本中加入了单表模型的概念,脱离了以前的主从表的数据表关联结构, ...
- MyBatis的关于批量数据操作的测试
摘录自:http://www.linuxidc.com/Linux/2012-05/60863.htm MyBatis的前身就是著名的Ibatis,不知何故脱离了Apache改名为MyBatis.My ...
- Maven1-HelloWorld简单入门
编写POM(Project Object Model) Maven项目的核心是pom.xml,它定义了项目的基本信息,用于描述项目如何构建,声明项目依赖 创建文件夹,名称为hello-world 创建 ...
- 006-接收键盘的输入(read)
read -ptns 变量名 -p 在等待read输入的时候,显示的提示信息 -t 秒数,read等待用户输入的时间 -n read接收用户输入的字符数,只接收指定字符数,就会执行 -s 隐藏输 ...