如何把jsp文件传到服务器,java – 如何使用jsp 在服务器文件夹上上传文件

以下代码正在我的实时服务器以及我自己的Lapy中.

注意:

请在WebContent中创建数据文件夹,并放入任何单个图像或任何文件(jsp或html文件).

公地集合-3.1.jar

公地文件上传-1.2.2.jar

公地IO-2.1.jar

共享记录-1.0.4.jar

upload.jsp

pageEncoding="ISO-8859-1"%>

File Upload

Select file to upload:

UploadServlet.java

package com.servlet;

import java.io.File;

import java.io.IOException;

import java.util.Iterator;

import java.util.List;

import javax.servlet.ServletException;

import javax.servlet.http.HttpServlet;

import javax.servlet.http.HttpServletRequest;

import javax.servlet.http.HttpServletResponse;

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;

/**

* Servlet implementation class UploadServlet

*/

public class UploadServlet extends HttpServlet {

private static final long serialVersionUID = 1L;

private static final String DATA_DIRECTORY = "data";

private static final int MAX_MEMORY_SIZE = 1024 * 1024 * 2;

private static final int MAX_REQUEST_SIZE = 1024 * 1024;

protected void doPost(HttpServletRequest request,HttpServletResponse response) throws ServletException,IOException {

// Check that we have a file upload request

boolean isMultipart = ServletFileUpload.isMultipartContent(request);

if (!isMultipart) {

return;

}

// Create a factory for disk-based file items

DiskFileItemFactory factory = new DiskFileItemFactory();

// Sets the size threshold beyond which files are written directly to

// disk.

factory.setSizeThreshold(MAX_MEMORY_SIZE);

// Sets the directory used to temporarily store files that are larger

// than the configured size threshold. We use temporary directory for

// java

factory.setRepository(new File(System.getProperty("java.io.tmpdir")));

// constructs the folder where uploaded file will be stored

String uploadFolder = getServletContext().getRealPath("")

+ File.separator + DATA_DIRECTORY;

// Create a new file upload handler

ServletFileUpload upload = new ServletFileUpload(factory);

// Set overall request size constraint

upload.setSizeMax(MAX_REQUEST_SIZE);

try {

// Parse the request

List items = upload.parseRequest(request);

Iterator iter = items.iterator();

while (iter.hasNext()) {

FileItem item = (FileItem) iter.next();

if (!item.isFormField()) {

String fileName = new File(item.getName()).getName();

String filePath = uploadFolder + File.separator + fileName;

File uploadedFile = new File(filePath);

System.out.println(filePath);

// saves the file to upload directory

item.write(uploadedFile);

}

}

// displays done.jsp page after upload finished

getServletContext().getRequestDispatcher("/done.jsp").forward(

request,response);

} catch (FileUploadException ex) {

throw new ServletException(ex);

} catch (Exception ex) {

throw new ServletException(ex);

}

}

}

web.xml中

UploadServlet

UploadServlet

com.servlet.UploadServlet

UploadServlet

/UploadServlet

done.jsp

pageEncoding="ISO-8859-1"%>

Upload Done

Your file has been uploaded!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值