栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

Java doGet, doPost方法和文件上传实例代码

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Java doGet, doPost方法和文件上传实例代码

Java doGet, doPost方法和文件上传

index.html




  
  Title






TestServlet.Java

import org.apache.commons.fileupload.FileItem;
import org.apache.commons.fileupload.FileUploadException;
import org.apache.commons.fileupload.disk.DiskFileItemFactory;
import org.apache.commons.fileupload.servlet.ServletFileUpload;

import javax.servlet.ServletException;
import javax.servlet.ServletInputStream;
import javax.servlet.ServletOutputStream;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.ByteArrayOutputStream;
import java.io.File;
import java.io.IOException;
import java.net.URLDecoder;
import java.net.URLEncoder;
import java.util.Enumeration;
import java.util.List;


@WebServlet(name = "TestServlet")
public class TestServlet extends HttpServlet {
  private File root_upload;
  public TestServlet() {
    root_upload = new File("C:/temp");
    if (!root_upload.exists()) {
      root_upload.mkdirs();
    }
  }


  //两种链接方式 doPost doGet
  protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

    response.setCharacterEncoding("UTF-8");
    request.setCharacterEncoding("UTF-8");
    ServletOutputStream os = response.getOutputStream();
    StringBuilder builder = new StringBuilder();

    builder.append("");
    builder.append("");
    builder.append("  ");
    builder.append("  测试Servlet");
    builder.append("");
    builder.append("");

    Enumeration names = request.getHeaderNames();
    while (names.hasMoreElements()) {
      String name = names.nextElement();
      builder.append(name)
   .append(":")
   .append(request.getHeader(name))
   .append("
"); } DiskFileItemFactory factory = new DiskFileItemFactory(); factory.setSizeThreshold(10);//设置未保存在临时路径的最大值 factory.setRepository(new File("C:/temp/temp"));//超过上述最大值后保存的临时路径 ServletFileUpload upload = new ServletFileUpload(factory); try { List list = upload.parseRequest(request);//上传的文件列表 for (FileItem item : list) { builder.append(item.getFieldName()) .append(":") .append(item.isFormField() ? item.getString() : item.getName())//判断是不是属性, 如果是属性, 就 .append("
"); if (!item.isFormField()) { File file = new File(root_upload, item.getName()); builder.append(file.getAbsolutePath()).append("
"); item.write(file); } } } catch (FileUploadException e) { e.printStackTrace(); } catch (Exception e) { e.printStackTrace(); } //可以从输入流中读取数据 // ServletInputStream is = request.getInputStream(); // byte[] buffer = new byte[8192]; // int len ; // ByteArrayOutputStream bos= new ByteArrayOutputStream(); // while ((len = is.read(buffer)) != -1) { // bos.write(buffer, 0, len); // } // builder.append("InputStream: ") // .append(bos.toString("UTF-8")) // .append("
"); // builder.append("Post的请求参数").append("
"); // // Enumeration parameterNames = request.getParameterNames(); // while (parameterNames.hasMoreElements()) { // String name = parameterNames.nextElement(); // builder.append(name) // .append(":") // .append(request.getParameter(name)) // .append("
"); // } //接收来自浏览器的文件, os.write(builder.toString().getBytes("UTF-8")); //参数列表: 待转码的字符串, 字符编码 URLEncoder.encode("&", "UTF-8"); URLDecoder.decode("%26", "UTF-8"); builder.append(""); builder.append(""); } protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { doPost(request, response); } }

web.xml



  
    TestServlet
    org.lulu.learn.TestServlet
  
  
    TestServlet
    /test
  


感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/148778.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号