package com.ea.web;
import java.io.IOException;
import java.sql.Connection;
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;
import com.ea.dao.PhotoDao;
import com.ea.model.Photo;
import com.ea.model.User;
import com.ea.util.DbUtil;
import com.jspsmart.upload.File;
import com.jspsmart.upload.Files;
import com.jspsmart.upload.SmartUpload;
/**
* Servlet implementation class PhotoServlet
*/
@WebServlet("/PhotoServlet")
public class PhotoServlet extends HttpServlet {
private static final long serialVersionUID = 1L;
PhotoDao photoDao= new PhotoDao();
Photo photo= new Photo();
DbUtil dbUtil=new DbUtil();
Connection con=null;
/**
* @see HttpServlet#HttpServlet()
*/
public PhotoServlet() {
super();
}
/**
* @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
*/
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
this.doPost(request, response);
}
/**
* @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
*/
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
//response.setContentType("text/html;charset=utf-8");
//response.setCharacterEncoding("utf-8");
String method=request.getParameter("method");
if("add".equals(method)){
try {
addPhoto(request,response);
} catch (Exception e) {
e.printStackTrace();
}
}
if("delete".equals(method)){
try {
deletePhoto(request,response);
} catch (Exception e) {
e.printStackTrace();
}
}
}
public void addPhoto(HttpServletRequest request, HttpServletResponse response) throws Exception {
response.setCharacterEncoding("utf-8");
SmartUpload su = new SmartUpload();
con=dbUtil.getCon();
su.initialize(this.getServletConfig(), request, response);
long maxsize = 2 * 1024 * 1024; // 设置每个上传文件的大小,为2MB int虽然够用,但是下边的setMaxFileSize参数是long
su.setMaxFileSize(maxsize); // 限制上传文件的大小
String result = "上传的照片格式或大小有问题,上传照片失败!";
String type = null;
String imageType[] = { "jpg","JPG", "gif", "bmp", "BMP" };
String filedir = "file/";
su.upload(); // 上传文件
Files files = su.getFiles(); // 获取所有的上传文件
for (int i = 0; i < files.getCount(); i++) { // 逐个获取上传的文件
File singlefile = (File)files.getFile(i);
type = singlefile.getFileExt();
for (int ii = 0; ii < imageType.length; ii++) {
if (imageType[ii].equals(type)) {
if (!singlefile.isMissing()) { // 如果选择了文件
String photoTime =su.getRequest().getParameter("photoTime");
String photoDescription =su.getRequest().getParameter("photoDescription");
photo.setPhtoTime(photoTime);
photo.setPhotoDescription(photoDescription);
int maxID = photoDao.MaxQueryID(con)+1;
filedir = filedir + maxID + "."
+ singlefile.getFileExt();
photo.setPhotoAddress(filedir);
HttpSession session=request.getSession();
User currentUser=(User)((Object)session.getAttribute("currentUser"));
int u_id=currentUser.getUserId();
photo.setU_id(u_id);
int num=photoDao.photoAdd(con, photo);
if (num!=0) {
singlefile.saveAs(filedir, File.SAVEAS_VIRTUAL);
result = "上传照片成功!";
}
}
}
}
}
request.setAttribute("result", result);
request.getRequestDispatcher("photoAdd.jsp?mark=java1234").forward(request, response);
}
// 删除图片
public void deletePhoto(HttpServletRequest request, HttpServletResponse response) throws Exception {
//response.setContentType("text/html;charset=utf-8");
int id = Integer.valueOf(request.getParameter("id"));
con=dbUtil.getCon();
Photo photo = photoDao.queryPhoto(con, id);
String photoDir = request.getRealPath(photo.getPhotoAddress());
java.io.File file = new java.io.File(photoDir);
int num=photoDao.photoDelete(con, photo);
if (num!=0) {
file.delete();
}
//request.getRequestDispatcher("photoOpt.jsp").forward(request, response); //这种由于会出现iframe缓存问题。。导致删除图片后第一页后面的页数图片无法显示
response.sendRedirect("photoOpt.jsp?mark=java1234");
}
}
没有合适的资源?快使用搜索试试~ 我知道了~
电子相册Javaweb项目源码及数据库
共103个文件
jpg:45个
class:14个
java:14个
3星 · 超过75%的资源 需积分: 15 32 下载量 112 浏览量
2014-07-23
10:08:52
上传
评论 8
收藏 1.52MB ZIP 举报
温馨提示
这是一个电子相册,可实现用户注册,登录,验证码验证,本地图片上传在线浏览等功能
资源推荐
资源详情
资源评论
收起资源包目录
电子相册Javaweb项目源码及数据库 (103个子文件)
PhotoServlet.class 6KB
LoginAction.class 4KB
PhotoDao.class 4KB
Register.class 3KB
MyPagination.class 3KB
User.class 2KB
UserDao.class 2KB
ScanPagination.class 2KB
LinkUrl.class 2KB
DbUtil.class 2KB
Photo.class 1KB
Validate.class 1KB
CountTime.class 647B
StringUtil.class 518B
.classpath 723B
org.eclipse.wst.common.component 475B
org.eclipse.wst.jsdt.ui.superType.container 49B
style.css 691B
40.gif 17KB
39.gif 11KB
front_back.gif 6KB
start.gif 6KB
mysql-connector-java-5.1.25-bin.jar 829KB
jspsmartupload.jar 12KB
PhotoServlet.java 5KB
LoginAction.java 3KB
PhotoDao.java 2KB
Register.java 2KB
MyPagination.java 2KB
User.java 2KB
LinkUrl.java 2KB
UserDao.java 1KB
Validate.java 1KB
ScanPagination.java 1KB
DbUtil.java 1KB
Photo.java 960B
CountTime.java 318B
StringUtil.java 265B
37.jpg 72KB
7.jpg 64KB
head.jpg 59KB
21.jpg 36KB
1.jpg 25KB
9.jpg 25KB
24.jpg 22KB
27.jpg 22KB
bottom.jpg 19KB
32.jpg 19KB
6.jpg 18KB
34.jpg 15KB
13.jpg 14KB
26.jpg 14KB
18.jpg 13KB
23.jpg 12KB
33.jpg 12KB
25.jpg 11KB
20.jpg 11KB
11.jpg 10KB
16.jpg 10KB
19.jpg 10KB
36.jpg 10KB
12.jpg 10KB
17.jpg 10KB
35.jpg 10KB
30.jpg 10KB
28.jpg 10KB
15.jpg 10KB
22.jpg 9KB
e_time.jpg 9KB
14.jpg 9KB
2.jpg 9KB
38.jpg 8KB
10.jpg 8KB
love.jpg 8KB
31.jpg 7KB
29.jpg 7KB
4.jpg 7KB
5.jpg 6KB
white.jpg 2KB
registerBut.jpg 2KB
registerButton.jpg 2KB
mainback.jpg 1KB
blue.jpg 701B
validate.js 5KB
.jsdtscope 503B
photoOpt.jsp 5KB
main.jsp 3KB
about.jsp 3KB
register.jsp 3KB
index.jsp 3KB
photoAdd.jsp 3KB
image.jsp 1KB
First.jsp 1KB
photoScan.jsp 1KB
dealwith.jsp 613B
MANIFEST.MF 39B
org.eclipse.wst.jsdt.ui.superType.name 6B
org.eclipse.jdt.core.prefs 395B
org.eclipse.core.resources.prefs 105B
.project 1KB
共 103 条
- 1
- 2
资源评论
- bravecaicai2015-03-16不能运行。。。
i时光会咬人i
- 粉丝: 0
- 资源: 2
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功