上传页面

上传学生信息

学号 

姓名 


密码 


性别 男 女


年龄 


身高 


学院 
计算机学院
软件学院

照片 


简历

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>上传学生信息</title>
</head>
<body>
    <form action="/lib/upload" method="post" enctype="multipart/form-data">
        学号&nbsp;<input type="text" name="xuehao" id="xuehao"/>
        <br/>
        姓名&nbsp;<input type="text" name="xingming" id="xingming">
        <br/>
        密码&nbsp;<input type="password" name="mima" id="mima">
        <br/>
        性别&nbsp;<input type="radio" name="xingbie" value="nan" checked>男 <input type="radio" name="xingbie" value="nv" >女
        <br/>
        年龄&nbsp;<input type="text" name="nianling" id="nianling">
        <br/>
        身高&nbsp;<input type="text" name="shengao" id="shengao">
        <br/>
        学院&nbsp;<select name="xueyuan">
        <option value="computer">计算机学院</option>
        <option value="software">软件学院</option>
    </select>
        <br/>
        照片&nbsp;<input type="file" name="zhaopian" id="zhaopian"/>
        <br/>
        简历&nbsp;<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上传与下载的更多相关文章

  1. servlet上传下载(任何格式的都可以)

    jar不能低于此版本,JDK1.6以上,否则户报错 <dependency> <groupId>commons-fileupload</groupId> <a ...

  2. java web学习总结(二十四) -------------------Servlet文件上传和下载的实现

    在Web应用系统开发中,文件上传和下载功能是非常常用的功能,今天来讲一下JavaWeb中的文件上传和下载功能的实现. 对于文件上传,浏览器在上传的过程中是将文件以流的形式提交到服务器端的,如果直接使用 ...

  3. 使用jsp/servlet简单实现文件上传与下载

    使用JSP/Servlet简单实现文件上传与下载    通过学习黑马jsp教学视频,我学会了使用jsp与servlet简单地实现web的文件的上传与下载,首先感谢黑马.好了,下面来简单了解如何通过使用 ...

  4. Servlet 实现文件的上传与下载

    这段时间尝试写了一个小web项目,其中涉及到文件上传与下载,虽然网上有很多成熟的框架供使用,但为了学习我还是选择了自己编写相关的代码.当中遇到了很多问题,所以在此这分享完整的上传与下载代码供大家借鉴. ...

  5. springmvc和servlet在上传和下载文件(保持文件夹和存储数据库Blob两种方式)

    参与该项目的文件上传和下载.一旦struts2下完成,今天springmvc再来一遍.发现springmvc特别好包,基本上不具备的几行代码即可完成,下面的代码贴: FileUpAndDown.jsp ...

  6. 【Demo Project】AjaxSubmit+Servlet表单文件上传和下载

    一.背景 前段时间公司要求我做一个上传和下载固件的页面,以备硬件产品在线升级,现在我把这部分功能抽取出来作为一个Demo Project给大家分享. 话不多说,先看项目演示 --> 演示  源码 ...

  7. jsp+servlet实现文件的上传和下载

    实现文件的上传和下载首先需要理解几个知识,这样才可以很好的完成文件的上传和下载: (1):上传文件是上传到服务器上,而保存到数据库是文件名 (2):上传文件是以文件转换为二进制流的形式上传的 (3): ...

  8. Servlet文件上传和下载的复习

    上传 使用Servlet完成上传和下载相较于使用Struts框架有点麻烦,毕竟更偏底层了 项目中主要使用的jar包: commons-io-2.2.jar  commons-fileupload-1. ...

  9. jsp/servlet实现简单上传和下载

    使用JSP/Servlet简单实现文件上传与下载 jsp上传页面代码: <%@ page language="java" import="java.util.*&q ...

随机推荐

  1. Redis Cluster集群搭建与应用

    1.redis-cluster设计 Redis集群搭建的方式有多种,例如使用zookeeper,但从redis 3.0之后版本支持redis-cluster集群,redis-cluster采用无中心结 ...

  2. dede后台登陆后一片空白的解决办法汇总

    dede后台登陆后一片空白的第一种解决办法: 找到:include/common.inc.php文件,打开,查找程序代码://error_reporting(E_ALL);error_reportin ...

  3. ASP.NET Core下发布网站

    一.windows下发布到IIS 1.前奏:IIS上的准备 (1)IIS 必须安装AspNetCoreModule 模块 下载地址:(DotNetCore.2.0.3-WindowsHosting-a ...

  4. Objective-C基础教程学习笔记(附录)从Java转向Objective-C

    Java接口与Objective- C正式协议类似,因为它们都需要实现一组方法.Java具有抽象类,但Objective-C没有.Java具有类变量,但在Objective-C中, 可以使用文件范围内 ...

  5. Java 几种动态代理实现及其性能比较

    原处出之于阿里liangf Interface: package com.sunchao.jdkdyproxy; public interface Subject { void request(); ...

  6. 详解javascript中的闭包

    全局变量与局部变量 在说闭包之前先说明全局变量与局部变量 全局变量:变量声明时如果不使用 var 关键字,那么它就是一个全局变量,即便它在函数内定义. 局部变量:使用var关键字定义 全局变量/局部变 ...

  7. php实现监控在线服务应用程序小栗子

    下面我就给大家举个栗子(例子) 某单位需要实现监控服务器状态,和监控服务器应用网站,还有需要监控服务器的中间件,数据库状态监控.听到这个任务是不是恨透头疼,这想起来是不是头疼.还好有系统可用,但是我现 ...

  8. Oracle Sqlload 导入数据

    sqlload导入数据具有快,简单,无需校验等方便,多说无益 1 首先,oracle数据库要有这么个表,用来接收数据.我这里这个uuid是序列生成的,当然也可以sqlload导入时候分配uuid -- ...

  9. linkin大话面向对象--多态

    java引用变量有2个类型,一个是编译时类型,一个是运行时类型: 编译时类型:声明的类型,把它看做是什么东西 运行时类型:真正的类型,实际上指的是什么东西 如果编译时类型和运行时类型不同,就出现多态. ...

  10. CSS<img>与<a href>字体同行显示方法与对齐

    1.一开始使用php的volist标签conding了这样一段代码: <volist name="result['list']" id="temp"> ...