?? photoservlet.java
字號:
package com.yxq.servlet;
import java.io.IOException;
import java.util.Date;
import java.util.List;
import javax.servlet.RequestDispatcher;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import com.jspsmart.upload.File;
import com.jspsmart.upload.SmartUpload;
import com.jspsmart.upload.SmartUploadException;
import com.yxq.dao.PhotoDao;
import com.yxq.toolsbean.MyTools;
import com.yxq.valuebean.PhotoBean;
public class PhotoServlet extends HttpServlet {
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
this.doPost(request, response); }
public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
String action = request.getParameter("action");
if(action==null)
action="";
if (action.equals("upload"))
this.addPhoto(request, response); //上傳圖片
if (action.equals("delete"))
this.deletePhoto(request, response); //刪除圖片
if(action.equals("list"))
this.selectPhoto(request,response); //查詢所有圖片
if(action.equals("single"))
this.singlePhoto(request,response); //查看圖片詳細內容
if(action.equals("adminList"))
this.adminSelectPhoto(request,response); //查詢所有圖片
}
/**
* @功能 前臺-查詢所有圖片
*/
public void selectPhoto(HttpServletRequest request,
HttpServletResponse response) throws ServletException, IOException {
PhotoDao photoDao=new PhotoDao();
List photoList=photoDao.queryPhoto("all");
request.setAttribute("photoList", photoList);
RequestDispatcher rd=request.getRequestDispatcher("/front/photo/PhotoList.jsp");
rd.forward(request,response);
}
/**
* @功能 后臺-查詢所有圖片
*/
public void adminSelectPhoto(HttpServletRequest request,
HttpServletResponse response) throws ServletException, IOException {
PhotoDao photoDao=new PhotoDao();
List photoList=photoDao.queryPhoto("all");
request.setAttribute("photoList", photoList);
RequestDispatcher rd=request.getRequestDispatcher("/admin/photo/PhotoList.jsp");
rd.forward(request,response);
}
/**
* @功能 查看某個圖片詳細內容
*/
public void singlePhoto(HttpServletRequest request,
HttpServletResponse response) throws ServletException, IOException {
PhotoDao photoDao=new PhotoDao();
String strId=request.getParameter("id");
int id=MyTools.strToint(strId);
PhotoBean photoSingle=photoDao.queryPhoto(id);
request.setAttribute("photoSingle",photoSingle);
RequestDispatcher rd=request.getRequestDispatcher("/front/photo/PhotoSingle.jsp");
rd.forward(request,response);
}
/**
* @功能 刪除圖片
*/
public void deletePhoto(HttpServletRequest request,
HttpServletResponse response) throws ServletException, IOException {
String messages="";
String forward="";
String href="";
RequestDispatcher rd=null;
PhotoDao photoDao= new PhotoDao();
int id = MyTools.strToint(request.getParameter("id"));
String fileAddr=photoDao.queryPhoto(id).getPhotoAddr();
String photoDir=request.getSession().getServletContext().getRealPath("\\");
String delFile=photoDir+fileAddr;
java.io.File file = new java.io.File(delFile);
PhotoBean photoBean = new PhotoBean();
photoBean.setId(id);
if (photoDao.operationPhoto("delete", photoBean)) {
boolean result=file.delete();
if(result){
messages="<li>刪除照片成功!</li>";
forward="/admin/success.jsp";
href="<a href='PhotoServlet?action=adminList'>[繼續刪除其他照片]</a>";
}
else{
messages="<li>刪除照片失敗!</li>";
forward="/admin/error.jsp";
href="<a href='javascript:window.history.go(-1)'>[返回]</a>";
}
} else {
messages="<li>刪除照片失敗!</li>";
forward="/admin/error.jsp";
href="<a href='javascript:window.history.go(-1)'>[返回]</a>";
}
request.setAttribute("messages",messages);
request.setAttribute("href",href);
rd=request.getRequestDispatcher(forward);
rd.forward(request,response);
}
/**
* @功能 上傳圖片
*/
public void addPhoto(HttpServletRequest request,HttpServletResponse response) throws ServletException, IOException {
String filePath = "front\\photo\\pic\\";
String messages="";
String forward="";
String href="";
PhotoDao photoDao = new PhotoDao();
PhotoBean photoBean = new PhotoBean();
SmartUpload su = new SmartUpload();
long maxsize = 2 * 1024 * 1024; // 設置每個上傳文件的大小,為2MB
try {
su.initialize(this.getServletConfig(), request, response);
su.setMaxFileSize(maxsize); // 限制上傳文件的大小
su.setAllowedFilesList("jpg,gif,bmp"); // 設置允許上傳的文件類型
su.upload(); // 上傳文件
String photoInfo=su.getRequest().getParameter("info");
if(photoInfo==null||photoInfo.equals("")){ //驗證照片描述信息,若沒有輸入,則提示輸入照片描述信息
messages="請輸入照片描述信息!";
forward="/admin/error.jsp";
href="<a href='javascript:window.history.go(-1)'>[返回]</a>";
}
else{
File file = su.getFiles().getFile(0); // 獲取上傳的文件,因為只上傳了一個文件,所以可直接獲取
if (!file.isMissing()) { // 如果選擇了文件
String photoAddr=filePath+photoDao.queryMaxId()+"."+file.getFileExt(); //filePath值(front\\photo\\pic\\)+圖片信息在數據表中的id字段值+“.”+文件后綴名;最后生成例如“front\photo\pic\12.bmp”路徑
String now=MyTools.changeTime(new Date()); //獲取當前時間并格式化為字符串
photoBean.setPhotoAddr(photoAddr);
photoBean.setPhotoTime(now);
photoBean.setPhotoInfo(photoInfo);
boolean mark=photoDao.operationPhoto("upload",photoBean);
if(mark){
try {
file.saveAs(photoAddr,File.SAVEAS_VIRTUAL);
messages="上傳文件成功!";
forward="/admin/success.jsp";
href="<a href='admin/photo/PhotoUpload.jsp'>[繼續上傳]</a>";
} catch (SmartUploadException ee) {
messages="上傳文件失敗!";
forward="/admin/error.jsp";
href="<a href='javascript:window.history.go(-1)'>[返回]</a>";
ee.printStackTrace();
}
}
else{
messages="保存文件信息失敗!";
forward="/admin/error.jsp";
href="<a href='javascript:window.history.go(-1)'>[返回]</a>";
}
}
else{
messages="請選擇要上傳的文件!";
forward="/admin/error.jsp";
href="<a href='javascript:window.history.go(-1)'>[返回]</a>";
}
}
}catch (java.lang.SecurityException e){
messages="<li>上傳文件失敗!上傳的文件類型只允許為:jpg,gif,bmp</li>";
forward="/admin/error.jsp";
href="<a href='javascript:window.history.go(-1)'>[返回]</a>";
}catch (SmartUploadException e) {
messages="上傳文件失敗!";
forward="/admin/error.jsp";
href="<a href='javascript:window.history.go(-1)'>[返回]</a>";
e.printStackTrace();
}
request.setAttribute("messages",messages);
request.setAttribute("href",href);
RequestDispatcher requestDispatcher = request.getRequestDispatcher(forward);
requestDispatcher.forward(request, response);
}
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -