web项目,文件上传的servlet和下线注销登录的servlet实例。

下线注销的servlet

需要删除session中的元素

package com.web.servlet;

import java.io.IOException;

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 javax.servlet.http.HttpSession;

/**
 * 删除Sesseion的Servlet
 * @title OffLineServlet.java
 */
@WebServlet("/offline")
public class OffLineServlet extends HttpServlet {
	private static final long serialVersionUID = -5650668628983715930L;

	@Override
	protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
		HttpSession session = req.getSession();
		session.invalidate();// 消毁Session对象
	}
}

文件上传的servlet1

package com.web.servlet;

import java.io.File;
import java.io.IOException;
import java.util.Collection;

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;

/**
 * 使用Servlet3.0的方式来实现文件上传
 * @title FileUploadServlet2.java
 */
@WebServlet("/upload2")
@MultipartConfig // 文件上传时,必须加此注解
public class FileUploadServlet2 extends HttpServlet {
	private static final long serialVersionUID = -521774852308829697L;

	@Override
	protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		String username = request.getParameter("username");
		System.out.println("username = " + username);
		
		String path = this.getServletContext().getRealPath("/upload");
		File dir = new File(path);
		if (!dir.exists()) {
			dir.mkdirs();
		}
		
		Part part = request.getPart("file");
		
		String contentType = part.getContentType();
		System.out.println("contentType = " + contentType);
		
		long size = part.getSize();
		System.out.println("size = " + size);
		
		String name = part.getName();
		System.out.println("name = " + name);
		
		String header = part.getHeader("Content-Type");
		System.out.println("header = " + header);
		
		System.out.println("-------------");
		
		Collection<String> names = part.getHeaderNames();
		for (String name1 : names) {
			//System.out.println("name1 = " + name1);
			//String header2 = part.getHeader(name1);
			///System.out.println("header2 = " + header2);
			System.out.println(name1 + " : " + part.getHeader(name1));
		}
		
		String header2 = part.getHeader("content-disposition");
		System.out.println("" + header2);
		
		part.write(path + "/aa.jpg");
		
	}
}

文件上传2

package com.web.servlet;

import java.io.File;
import java.io.IOException;
import java.util.List;

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 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 com.bean.User;
import com.util.FileUtil;

/**
 * 实现文件上传
 * @title FileUploadServlet.java
 */
@WebServlet("/upload")
public class FileUploadServlet extends HttpServlet {
	private static final long serialVersionUID = 7217537648094673097L;

	@Override
	protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		User user = new User();
		
		// 判断是否为文件上传
		if (ServletFileUpload.isMultipartContent(request)) {// 如果是
			
			// 创建DiskFileItemsFactory对象
			DiskFileItemFactory factory = new DiskFileItemFactory();
			
			// 创建ServletFileUpload处理文件上传对象
			ServletFileUpload upload = new ServletFileUpload(factory);
			
			try {
				// 通过ServletFileUpload对象来获取request对象
				List<FileItem> items = upload.parseRequest(request);
				if (items == null || items.size() == 0) {
					return;
				} else {
					// 循环处理
					for (FileItem item : items) {
						// 判断是否为普通表单项
						if (item.isFormField()) { // 普通表单项
							//String username = item.getFieldName();
							String value = item.getString();
							//System.out.println(username + " = " + value);
							user.setUsername(value);
						} else {// 文件项
							// 获取要上传的表单项
							//String _file = item.getFieldName();
							String fileName = item.getName();
							//String value = item.getString();
							//String contentType = item.getContentType();
							//System.out.println(contentType);
							//System.out.println(_file + " = " + FileUtil.getFileExt(fileName));
							
							// 获取存放上传文件的目录路径
							String path = this.getServletContext().getRealPath("/upload");
							File dir = new File(path);
							if (!dir.exists()) {
								dir.mkdirs(); // 如果目录不存在,则创建
							}
							
							// 重新生成一个新文件名称
							String name1 = FileUtil.buildFileName(FileUtil.getFileExt(fileName));
							System.out.println("name1=" + name1);
							
							//String name2 = FileUtil.buildFileNameByUUID(FileUtil.getFileExt(fileName));
							//System.out.println("name2=" + name2);
							
							// 保存文件
							item.write(new File(path, name1));
							
							// 删除临时文件
							item.delete();
							
							user.setAvtar("upload/" + name1);
							
							user.setSrcImage(fileName);
						}
						
					}
				}
				
				System.out.println(user);
				// userService.save(user);
			} catch (FileUploadException e) {
				e.printStackTrace();
			} catch (Exception e) {
				e.printStackTrace();
			} finally {
				
			}
			
		}
		
	}
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值