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

网友投稿 243 2023-07-01


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

java doGet, doPost方法和文件上传

index.html

用户名:

密&nbsp&nbsp码:

TestServlet.Java

import org.apache.commons.fileuploadznzbv.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;

/**

* Project: Day15_Web

* Created: Lulu

* Date: 2016/8/16

*/

@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("

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("

//

// Enumeration parameterNames = request.getParameterNames();

// while (parameterNames.hasMoreElements()) {

// String name = parameterNames.nextElement();

// builder.append(name)

// .append(":")

// .append(request.getParameter(name))

// .append("
");

// }

//接收来自浏览器的文件,

http:// 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

xmlns:xsi="http://w3.org/2001/XMLSchema-instance"

xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd"

version="3.1">

TestServlet

org.lulu.learn.TestServlet

TestServlet

/test

xmlns:xsi="http://w3.org/2001/XMLSchema-instance"

xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd"

version="3.1">

TestServlet

org.lulu.learn.TestServlet

TestServlet

/test

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


版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:Java中JDBC事务与JTA分布式事务总结与区别
下一篇:java ArrayList和Vector的区别详解
相关文章

 发表评论

暂时没有评论,来抢沙发吧~