📄 servletdetailpage.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 + -