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 ...
随机推荐
- 十二个 ASP.NET Core 例子——1.1版本 EF MySql快速搭建
core1.0的时候搭建过一次mysql EF. 一大推问题.最近在core1.1 又重新搭了一次.简单搭建还挺快,没出现什么幺蛾子.总结下步骤 建立项目,例如ASP.NET Core1.1 WebA ...
- 解决spring定时任务执行2次和tomcat部署缓慢的问题
spring定时任务执行2次 问题重现和解析 最近使用quartz定时任务框架,结果发现开发环境执行无任何问题,部署到服务器上后,发现同一时间任务执行了多次.经过搜索发现是服务器上tomcat的配置文 ...
- phpMyAdmin访问远程MySQL数据库的方法
本地phpmyadmin远程连接服务器端MySQL 首先要确定你的mysql远程连接已开启,如果没有开启按照下面的二个方法操作: 方法一:改表法 因为在linux环境下,默认是关闭3306端口远程连接 ...
- 虚拟主机、VPS以及云主机的区别和对比
对于很多需要建网站的朋友来说,虚拟主机是必须要了解的基础知识.虚拟主机相对于VPS与云主机来说出现的较早,也是被大多数站长所了解的主机.很多人容易将这三者混淆,弄不清楚三者的联系与区别.那么虚拟主机. ...
- Ajax beforeSend和complete 方法
http://blog.csdn.net/chenjianandiyi/article/details/52274591 .ajax({ beforeSend: function(){ // Hand ...
- php-cli和php-fpm的关系是什么?
CLI是命令行版本.FPM是作为Apache或者Nginx等服务器软件处理PHP文件的扩展. PHP的默认版本是不支持线程安全的,这个线程安全问题可以去了解PHP扩展开发方面的相关知识,这是因为C语言 ...
- [field:softlinks/]逻辑过程
在plus/download.php 在dededln\include\taglib\channel\softlinks.lib.php
- Mysql Index extends优化
Innodb通过自动把主键列添加到每个二级索引来扩展它们: CREATE TABLE t1 ( i1 , i2 , d DATE DEFAULT NULL, PRIMARY KEY (i1, i2), ...
- JS获取父、兄、子节点
一.jQuery的父节点查找方法 $(selector).parent(selector):获取父节点 $(selector).parentNode:以node[]的形式存放父节点,如果没有父节点,则 ...
- python_14_生成器
什么是生成器? -- 动态的生成有规律的列表和元组,查询多少才会生成多少数据,不需要时数据不存在 - 大到10几万数据,就省空间了 什么是列表生成式? -- [ handle_i_result for ...