您的位置:首页 > 其它

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

2020-01-15 11:54 711 查看

下线注销的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 {

}

}

}
}
  • 点赞
  • 收藏
  • 分享
  • 文章举报
一梦如意 发布了92 篇原创文章 · 获赞 1 · 访问量 1027 私信 关注
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐