⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 adminservlet.java

📁 jsp+javabean写的论坛
💻 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 + -