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

📄 servletdetailpage.java

📁 北大青鸟ACCP5.0课程项目 青鸟论坛
💻 JAVA
字号:
/*
Author:青鸟学子
QQ:64578820
Msn:foart@hotmail.com
*/
package com.servlet;

import java.io.IOException;
import java.io.PrintWriter;
import java.util.List;

import javax.servlet.ServletConfig;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import com.dao.*;
import com.entity.*;
import com.match.CheckDAO;
import com.page.*;

public class servletDetailPage extends HttpServlet {

	private ServletConfig config = null;
	private ReplyInfoDAO replyinfo_dao = new ReplyInfoDAO();
	private TopicInfoDAO topicinfo_dao = new TopicInfoDAO();
	private CheckDAO check_dao = new CheckDAO();

	public void doGet(HttpServletRequest request, HttpServletResponse response)
			throws ServletException, IOException {
		//
		String s = config.getInitParameter("character");
		request.setCharacterEncoding(s);
		response.setCharacterEncoding(s);
		response.setContentType("text/html");
		PrintWriter out = response.getWriter();
		// 获得action参数
		String action = (String) request.getParameter("action");

		// 初始化id
		Integer tid = -1;
		Integer sid = -1;
		Integer rid = -1;
		Integer uid = -1;

		//
		if ("showdetail".equals(action.toLowerCase())
				|| "showpage".equals(action.toLowerCase())) {// 【显示主帖和跟帖】
			// 获得参数
			tid = Integer.parseInt(request.getParameter("tid"));
			sid = Integer.parseInt(request.getParameter("sid"));
			List<DetailPage> replyList = replyinfo_dao
					.getReplyInfoAndUserInfoById(tid);
			DetailPage topicObj = topicinfo_dao
					.getTopicInfoAndUserInfoById(tid);
			// 设置request对象的属性
			request.setAttribute("sid", sid);
			request.setAttribute("tid", tid);
			request.setAttribute("replyListDetailPage", replyList);
			request.setAttribute("topicListDetailPage", topicObj);

			// 转发
			request.getRequestDispatcher("detail.jsp").forward(request,
					response);

		} else if ("edittopic".equals(action.toLowerCase())) {// 【获得修改主帖的内容】
			// 获得参数
			tid = Integer.parseInt(request.getParameter("tid"));
			sid = Integer.parseInt(request.getParameter("sid"));
			TopicInfo edittopic = topicinfo_dao.getEditTopicInfoById(tid);
			// 设置request对象的属性
			request.setAttribute("tid", tid);
			request.setAttribute("sid", sid);
			request.setAttribute("action", action);
			request.setAttribute("edittopic", edittopic);
			// 转发
			request.getRequestDispatcher("update.jsp").forward(request,
					response);

		} else if ("updatetopic".equals(action.toLowerCase())) {// 【修改主帖的内容】
			// 获得参数
			tid = Integer.parseInt(request.getParameter("tid"));
			sid = Integer.parseInt(request.getParameter("sid"));
			String title = (String) request.getParameter("title");
			String content = (String) request.getParameter("content");
			if (!check_dao.checkTopic(title)) {
				out.print("<script>" + "alert('标题不能为空,长度在4-20');"
						+ "window.history.back();" + "</script>");
			} else if (!check_dao.checContents(content)) {
				out.print("<script>" + "alert('内容不能为空,并且长度不大于100');"
						+ "window.history.back();" + "</script>");
			} else {
				Boolean result = topicinfo_dao.updateTopicInfoById(title,
						content, tid);
				// 判断修改成功与否
				if (result) {
					// 设置request对象的属性
					request.setAttribute("tid", tid);
					request.setAttribute("sid", sid);
					// 转发
					request.getRequestDispatcher(
							"servletDetailPage?tid=" + tid + "&sid=" + sid
									+ "&action=showDetail").forward(request,
							response);
				} else {
					out.print("<script>" + "alert('服务器忙!');"
							+ "window.history.back();" + "</script>");
				}
			}

		} else if ("editreply".equals(action.toLowerCase())) {// 【获得修改跟帖的内容】
			// 获得参数
			tid = Integer.parseInt(request.getParameter("tid"));
			sid = Integer.parseInt(request.getParameter("sid"));
			rid = Integer.parseInt(request.getParameter("rid"));
			ReplyInfo editreply = replyinfo_dao.getEditReplyInfoById(rid);
			// 设置request对象的属性
			request.setAttribute("tid", tid);
			request.setAttribute("sid", sid);
			request.setAttribute("rid", rid);
			request.setAttribute("action", action);
			request.setAttribute("editreply", editreply);
			// 转发
			request.getRequestDispatcher("update.jsp").forward(request,
					response);

		} else if ("updatereply".equals(action.toLowerCase())) {// 【修改跟帖的内容】
			// 获得参数
			tid = Integer.parseInt(request.getParameter("tid"));
			sid = Integer.parseInt(request.getParameter("sid"));
			rid = Integer.parseInt(request.getParameter("rid"));
			String title = (String) request.getParameter("title");
			String content = (String) request.getParameter("content");
			if (!check_dao.checContents(content)) {
				out.print("<script>" + "alert('内容不能为空,并且长度不大于100');"
						+ "window.history.back();" + "</script>");
			} else {
				Boolean result = replyinfo_dao.updateReplyInfoById(title,
						content, rid);
				// 判断修改成功与否
				if (result) {
					// 设置request对象的属性
					request.setAttribute("tid", tid);
					request.setAttribute("sid", sid);
					// 转发
					request.getRequestDispatcher(
							"servletDetailPage?tid=" + tid + "&sid=" + sid
									+ "&action=showDetail").forward(request,
							response);
				} else {
					out.print("<script>" + "alert('服务器忙!');"
							+ "window.history.back();" + "</script>");
				}
			}

		} else if ("deltopic".equals(action.toLowerCase())) {// 【把整个帖子删除,包含跟帖】
			// 获得参数
			sid = Integer.parseInt(request.getParameter("sid"));
			tid = Integer.parseInt(request.getParameter("tid"));
			Boolean result = topicinfo_dao.delTopicInfoById(tid);
			// 判断删除成功与否
			if (result) {
				// 设置request对象的属性
				request.setAttribute("tid", tid);
				request.setAttribute("sid", sid);
				// 转发
				request.getRequestDispatcher(
						"servletListPage?sid=" + sid + "&action=showDetail")
						.forward(request, response);
			} else {
				out.print("<script>" + "alert('服务器忙!');"
						+ "window.history.back();" + "</script>");
			}

		} else if ("delreply".equals(action.toLowerCase())) {// 【删除单个跟帖】
			// 获得参数
			sid = Integer.parseInt(request.getParameter("sid"));
			tid = Integer.parseInt(request.getParameter("tid"));
			rid = Integer.parseInt(request.getParameter("rid"));
			Boolean result = replyinfo_dao.delReplyInfoById(rid);
			// 判断删除成功与否
			if (result) {
				// 设置request对象的属性
				request.setAttribute("tid", tid);
				request.setAttribute("sid", sid);
				replyinfo_dao.getReplyCountById(tid, sid);
				// 转发
				request.getRequestDispatcher(
						"servletDetailPage?tid=" + tid + "&sid=" + sid
								+ "&action=showDetail").forward(request,
						response);
			} else {
				out.print("<script>" + "alert('服务器忙!');"
						+ "window.history.back();" + "</script>");
			}

		} else if ("reply".equals(action.toLowerCase())) {// 【回复帖子】
			// 获得参数
			sid = Integer.parseInt(request.getParameter("sid"));
			tid = Integer.parseInt(request.getParameter("tid"));
			uid = Integer.parseInt(request.getParameter("uid"));
			String title = (String) request.getParameter("title");
			String content = (String) request.getParameter("content");
			if (!check_dao.checContents(content)) {
				out.print("<script>" + "alert('内容不能为空,并且长度不大于100');"
						+ "window.history.back();" + "</script>");
			} else {
				Boolean result = replyinfo_dao.insertReplyInfo(title, content,
						tid, sid, uid);
				// 判断插入成功与否
				if (result) {
					// 设置request对象的属性
					request.setAttribute("tid", tid);
					request.setAttribute("sid", sid);
					replyinfo_dao.getReplyCountById(tid, sid);
					// 转发
					request.getRequestDispatcher(
							"servletDetailPage?tid=" + tid + "&sid=" + sid
									+ "&action=showDetail").forward(request,
							response);
				} else {
					out.print("<script>" + "alert('服务器忙!');"
							+ "window.history.back();" + "</script>");
				}
			}
		} else if ("post".equals(action.toLowerCase())) {// 【发表新帖子】
			// 获得参数
			sid = Integer.parseInt(request.getParameter("sid"));
			uid = Integer.parseInt(request.getParameter("uid"));
			String title = (String) request.getParameter("title");
			String content = (String) request.getParameter("content");
			if (!check_dao.checkTopic(title)) {
				out.print("<script>" + "alert('标题不能为空,长度在4-20');"
						+ "window.history.back();" + "</script>");
			} else if (!check_dao.checContents(content)) {
				out.print("<script>" + "alert('内容不能为空,并且长度不大于100');"
						+ "window.history.back();" + "</script>");
			} else {
				Boolean result = topicinfo_dao.insertTopicInfo(title, content,
						sid, uid);
				// 判断插入成功与否
				if (result) {
					// 设置request对象的属性
					request.setAttribute("sid", sid);
					topicinfo_dao.getTopicCountById(sid);
					// 转发
					request.getRequestDispatcher("servletListPage?sid=" + sid)
							.forward(request, response);
				} else {
					out.print("<script>" + "alert('服务器忙!');"
							+ "window.history.back();" + "</script>");
				}
			}
		}
	}

	public void doPost(HttpServletRequest request, HttpServletResponse response)
			throws ServletException, IOException {
		this.doGet(request, response);
	}

	public void init(ServletConfig config) throws ServletException {
		this.config = config;
	}
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -