package com.yibin.cn.servlet;
import java.io.File;
import java.io.IOException;
import java.io.PrintWriter;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import java.util.UUID;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import javax.websocket.Session;
import org.apache.commons.fileupload.FileItem;
import org.apache.commons.fileupload.FileItemFactory;
import org.apache.commons.fileupload.FileUploadException;
import org.apache.commons.fileupload.disk.DiskFileItemFactory;
import org.apache.commons.fileupload.servlet.ServletFileUpload;
import utils.Page;
import com.yibin.cn.dao.entity.User;
import com.yibin.cn.service.IUserService;
import com.yibin.cn.service.impl.UserServiceImpl;
public class UserServlet extends BaseServlet {
// 登录
public void login(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
System.out.println("login方法被调用");
// 1、获取数据
String username = request.getParameter("username");
String password = request.getParameter("password");
// 2、封装数据
User user = new User();
user.setName(username);
user.setPassword(password);
// IUserDao iUserDao = new UserDaoImpl();
IUserService iUserService = new UserServiceImpl();
// 3、调用API
User resUser = iUserService.getUserByNameAndPassword(user);
// 4、控制跳转
if (resUser != null) {
if (resUser.getName().equals(username)
&& resUser.getPassword().equals(password)) {
List<User> users = new ArrayList<User>();
users = iUserService.listAll();
HttpSession session = request.getSession();
session.setAttribute("users", users);
session = request.getSession();
session.setAttribute("username", username);
PrintWriter out = response.getWriter();
// out.print("登录成功!");
request.getRequestDispatcher("showPage.jsp").forward(request,
response);
}
} else {
/*
* PrintWriter out = response.getWriter(); out.print("登录失败!");
* out.print("<script type='text/javascript'>");
* out.print("alert('用户名或密码错误,请重新登录!');");
* out.print("window.location.href='login.jsp';");
* out.print("</script>"); //response.sendRedirect("login.jsp");
*/
HttpSession session = request.getSession();
session.setAttribute("loginFlag", "fail");
response.sendRedirect("login.jsp");
}
}
// 增
public void add(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
System.out.println("add方法被调用");
// 获取数据
int id = 0;
String username = null;
String password = null;
String sex = null;
Date birthday = null;
String address = null;
String saveFileName = null;
String picturePath = null;
// 得到表单是否以enctype="multipart/form-data"方式提交
boolean isMulti = ServletFileUpload.isMultipartContent(request);
if (isMulti) {
// 通过FileItemFactory得到文件上传的对象
FileItemFactory fif = new DiskFileItemFactory();
ServletFileUpload upload = new ServletFileUpload(fif);
try {
List<FileItem> items = upload.parseRequest(request);
for (FileItem item : items) {
// 判断是否是普通表单控件,或者是文件上传表单控件
boolean isForm = item.isFormField();
if (isForm) {// 是普通表单控件
String name = item.getFieldName();
if ("id".equals(name)) {
id = Integer.parseInt(item.getString("utf-8"));
System.out.println(id);
}
if ("sex".equals(name)) {
sex = item.getString("utf-8");
System.out.println(sex);
}
if ("username".equals(name)) {
username = item.getString("utf-8");
System.out.println(username);
}
if ("password".equals(name)) {
password = item.getString("utf-8");
System.out.println(password);
}
if ("birthday".equals(name)) {
String birthdayStr = item.getString("utf-8");
SimpleDateFormat sdf = new SimpleDateFormat(
"yyyy-MM-dd");
try {
birthday = sdf.parse(birthdayStr);
} catch (ParseException e) {
e.printStackTrace();
}
System.out.println(birthday);
}
if ("address".equals(name)) {
address = item.getString("utf-8");
System.out.println(address);
}
if ("picturePath".equals(name)) {
picturePath = item.getString("utf-8");
System.out.println(picturePath);
}
} else {// 是文件上传表单控件
// 得到文件名 xxx.jpg
String sourceFileName = item.getName();
// 得到文件名的扩展名:.jpg
String extendedName = sourceFileName.substring(
sourceFileName.lastIndexOf("."),
sourceFileName.length());
// 把文件名称重命名为全球唯一的文件名
String uniqueName = UUID.randomUUID().toString();
saveFileName = uniqueName + extendedName;
// 得到上传到服务器上的文件路径
// C:\\apache-tomcat-7.0.47\\webapps\\taobaoServlet4\\upload\\xx.jpg
String uploadFilePath = request.getSession()
.getServletContext().getRealPath("upload/");
File saveFile = new File(uploadFilePath, saveFileName);
// 把保存的文件写出到服务器硬盘上
try {
item.write(saveFile);
} catch (Exception e) {
e.printStackTrace();
}
}
}
} catch (NumberFormatException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (FileUploadException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
// int id = Integer.parseInt(request.getParameter("id"));
// String username = request.getParameter("username");
// String password = request.getParameter("password");
// String sex = request.getParameter("sex");
// String birthday = request.getParameter("birthday");
// String address = request.getParameter("address");
// String picturePath = request.getParameter("picturePath");
// HttpSession session = request.getSession();
// 2、封装数据
User user = new User(id, username, password, sex, birthday, address,
saveFileName);
// 3、调用逻辑层API
IUserService iUserService = new UserServiceImpl();
// 4、控制跳转
HttpSession session = request.getSession();
if (iUserService.save(user) > 0) {
System.out.println("添加新用户成功!");
List<User> users = new ArrayList<User>();
users = iUserService.listAll();
session.setAttribute("users", users);
response.sendRedirect("UserServlet?action=getPage");
} else {
System.out.println("添加新用户失败!");
PrintWriter out = response.getWriter();
out.print("<script type='text/javascript'>");
out.print("alert('添加新用户失败!请重试!');");
out.print("</script>");
}
}
// 删
public void delete(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
System.out.println("delete方法被调用");
HttpSession session = request.getSession();
int id = 0;
if (session.getAttribute("id") != null) {
id = (int) session.getAttribute("id");
}
User user = new User();
user.setId(id);
String uploadFilePath = request.getSession()
.getServletContext().getRealPath("upload/");
IUserService iUserService = new UserServiceImpl();
//获取图片路径并删除
String picPath = uploadFilePath+"\\"+iUserService.getUserById(id).getPicturePath();
File oldPicTodelete = new File(picPath);
oldPicTodelete.delete();// 删除图片
if (iUserService.delete(user) > 0) {
System.out.println("删除成功!");
List<User> users = new ArrayList<User>();
users = iUserService.listAll();
session.setAttribute("users", users);
response.sendRedirect("UserServlet?action=g
没有合适的资源?快使用搜索试试~ 我知道了~
jsp+servlet小项目(实现图片上传功能)
需积分: 33 2.0k 浏览量
2017-07-21
21:54:01
上传
评论
收藏 948KB RAR 举报
基于jsp+servlet实现的小项目(实现图片上传功能)
资源推荐
资源详情
资源评论















收起资源包目录














































































共 43 条
- 1
- 2
- 3
- 4
- 5
- 6
- 9
资源评论

yibin94
- 粉丝: 79
- 资源: 12

上传资源 快速赚钱
我的内容管理 收起
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助

会员权益专享
安全验证
文档复制为VIP权益,开通VIP直接复制
