📄 adminservlet.java
字号:
package com.alumni.servlet;
import java.io.*;
import java.sql.*;
import javax.servlet.jsp.*;
import javax.servlet.*;
import javax.servlet.http.*;
import java.util.*;
import com.alumni.bean.*;
public class AdminServlet extends HttpServlet
{
ServletConfig config;
//初始化
public void init(ServletConfig config) throws ServletException
{
super.init(config);
this.config=config;
}
//调用doPost方法
public void doGet(HttpServletRequest request,HttpServletResponse response) throws ServletException,IOException
{
this.doPost(request,response);
}
//doPost核心方法
public void doPost(HttpServletRequest request,HttpServletResponse response) throws ServletException,IOException
{
DBConnection dbConn=null;
Connection conn=null;
Statement stmt=null;
String serverUrl=null;
String[] delete=null;
String[] top=null;
String[] cancelTop=null;
String currentPage=null;
//session
HttpSession session=request.getSession();
//out
PrintWriter out=response.getWriter();
//application
ServletContext application=this.getServletConfig().getServletContext();
//取得服务器路径
serverUrl=application.getRealPath("/upload/uploadPic/");
//判断是否登陆过
Boolean hasLogin=(Boolean)session.getAttribute("hasLogin");
if(hasLogin!=null&&hasLogin.booleanValue()==true)
{
try
{
//接收参数
delete=request.getParameterValues("canDelete");
top=request.getParameterValues("canTop");
cancelTop=request.getParameterValues("cancelTop");
//记录当前页,默认为1
currentPage=request.getParameter("pageID");
if(currentPage==null||currentPage.equals(""))
{
currentPage="1";
}
//全部为null时返回
if(delete==null&&top==null&&cancelTop==null)
{
if(dbConn!=null)
{
dbConn.close();
}
response.sendRedirect("/index.jsp?page="+currentPage);
}
//连接到数据库
dbConn=new DBConnection();
conn=dbConn.getConnectionToAccess(application.getRealPath("db/alumni.mdb"));
stmt=conn.createStatement();
//处理取消置顶
if(cancelTop!=null)
{
StringBuffer cancelTopString=new StringBuffer();
for(int i=0;i<cancelTop.length;i++)
{
cancelTopString.append(cancelTop[i]);
if(i!=cancelTop.length-1)
{
cancelTopString.append(",");
}
}
String cancelSql="UPDATE SUBJECT SET STATE=1 WHERE ID IN("+cancelTopString.toString()+")";
stmt.executeUpdate(cancelSql);
}
//处理帖子置顶
if(top!=null)
{
StringBuffer makeTop=new StringBuffer();
for(int i=0;i<top.length;i++)
{
makeTop.append(top[i]);
if(i!=top.length-1)
{
makeTop.append(",");
}
}
String toTopSql="UPDATE SUBJECT SET STATE=0 WHERE ID IN("+makeTop.toString()+")";
stmt.executeUpdate(toTopSql);
}
//处理删除帖子
if(delete!=null)
{
//删除上传的图片文件
for(int i=0;i<delete.length;i++)
{
String search="SELECT PIC_NAME FROM UPLOADPIC WHERE SUBJECT_ID="+delete[i];
ResultSet tempRs=stmt.executeQuery(search);
while(tempRs.next())
{
String fileUrl=serverUrl+"\\"+tempRs.getString("PIC_NAME");
File deleteFile=new File(fileUrl);
if(deleteFile.exists())
{
//如果文件存在就删除它
deleteFile.delete();
}
else
{
if(dbConn!=null)
{
dbConn.close();
}
out.println(deleteFile);
}
}
}
//删除数据库中有图片的记录
StringBuffer makeDelete=new StringBuffer();
for(int i=0;i<delete.length;i++)
{
makeDelete.append(delete[i]);
if(i!=delete.length-1)
{
makeDelete.append(",");
}
}
String deleteSql="DELETE FROM SUBJECT WHERE ID IN("+makeDelete.toString()+")";
stmt.executeUpdate(deleteSql);
//查找该帖子是否有图片,如果有的话也删除它们
String deletePicSql="DELETE FROM UPLOADPIC WHERE SUBJECT_ID IN("+makeDelete.toString()+")";
stmt.executeUpdate(deletePicSql);
}
//关闭数据库
if(dbConn!=null)
{
dbConn.close();
}
//全部处理完后成功返回
response.sendRedirect("/index.jsp?page="+currentPage);
}
catch(SQLException sqle)
{
if(dbConn!=null)
{
dbConn.close();
}
response.sendRedirect("/error.jsp?code=SQLException");
}
catch(Exception e)
{
if(dbConn!=null)
{
dbConn.close();
}
response.sendRedirect("/error.jsp?code=Exception");
}
}
else
{
//未登陆
if(dbConn!=null)
{
dbConn.close();
}
response.sendRedirect("/login.jsp");
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -