📄 mainservlet.java
字号:
package action;
import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.http.*;
import dao.*;
import bean.*;
import java.sql.Date;
import java.sql.Timestamp;
import java.util.*;
import java.text.ParseException;
import java.text.SimpleDateFormat;
public class MainServlet extends HttpServlet {
PageBean pb = null;//此为分页类
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
String oper = request.getParameter("oper");//连接分发唯一标示
if("login".equals(oper)) {//用户登陆
this.login(pb,request,response);
return;
}
if("start".equals(oper)) {//进入BBS页面
pb = this.start(pb, request, response);
return;
}
if("addbbs".equals(oper)) {//添加BBS
this.addbbs(request, response);
return;
}
if("message".equals(oper)) {//分页
String ye = request.getParameter("command");
pb = this.message(pb,ye, request, response ,"right.jsp");
return;
}
if("view".equals(oper)) {//更新左侧BBS标题
String bid = request.getParameter("bid");
pb = this.view(pb,bid, request, response);
return;
}
if("addmsg".equals(oper)) {//帖子回复
pb = this.addmsg(pb,request, response);
return;
}
if("goedit".equals(oper)) {//跳转到编辑之前的业务处理
this.goedit(request, response);
return;
}
if("edit".equals(oper)) {//编辑帖子
pb = this.edit(pb, request, response);
return;
}
if("dele".equals(oper)) {//删除帖子
pb = this.dele(pb, request, response);
return;
}
if("exit".equals(oper)) {//用户退出释放资源
this.exit(request);
}
}
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
doGet(request,response);
}
//用户登陆
private void login(PageBean pb,HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException{
String name = request.getParameter("uname");
String pass = request.getParameter("upass");
ConDB db = new ConDB();
int grade = db.testUser(name, pass);
if( grade == 1 || grade == 0) {
List tlist = db.view();
HttpSession session = request.getSession();
session.setAttribute("user", new User(name,null,grade));
session.setAttribute("tlist", tlist);
response.sendRedirect("main.html");
} else {
//!!!!!!!!!!!登陆错误!!!!!!!!!!!!
this.error(request, response, "登陆错误--无此用户", "./index.html");
}
db.close();
}
//进入BBS页面
private PageBean start(PageBean pb,HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException{
ConDB db = new ConDB();
List tlist = db.view();
db.close();
HttpSession session = request.getSession();
session.setAttribute("tlist", tlist);
if(tlist.size() == 0 || tlist == null) {
pb = new PageBean(4,"");
} else {
pb = new PageBean(4,"where bid=" + ( (Bbs) tlist.get(0)).getBid());
}
pb = this.message(pb, "frist", request, response , "right.jsp");
return pb;
}
//添加bbs
private void addbbs(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException{
HttpSession session = request.getSession();
//------------业务操作对象的创建------------
User user = (User) session.getAttribute("user");
String title = request.getParameter("title");
String bdetail = request.getParameter("bdetail");
String author = ( (User) request.getSession().getAttribute("user") ).getUname();
Timestamp bdate = new Timestamp(new java.util.Date().getTime());
Bbs bbs = new Bbs(0, title, author, bdate);
Bdetail detail = new Bdetail(0,0,bdetail, user.getUname(), bdate);
//---------------------------------------
ConDB db = new ConDB();
if( db.addMessge(bbs, detail) ) {
session.setAttribute("tlist", db.view());
response.sendRedirect("right.jsp");
}
else {
//!!!!!!!!!!!!发帖错误!!!!!!!!!!!
this.error(request, response, "系统错误--发帖发生错误", "./right.jsp");
}
db.close();
}
//分页
private PageBean message(PageBean pb,String fenye,HttpServletRequest request, HttpServletResponse response,String path)
throws ServletException, IOException{
HttpSession session = request.getSession();
//------------------分页业务处理-------------------
int num = pb.getNum();
int ye = pb.getYe();
int yeshu = pb.getYeShu();
Message mess = null;
if("frist".equals(fenye)) {
List list = this.isBoos(pb, session);
mess = new Message(num,ye,yeshu,list,pb.isBool());
}
else if ("next".equals(fenye)) {
mess = new Message(num,ye,yeshu,pb.xiaYiYe(),pb.isBool());
}
else if("back".equals(fenye)) {
mess = new Message(num,ye,yeshu,pb.shangYiYe(),pb.isBool());
}
else if("last".equals(fenye)) {
mess = new Message(num,ye,yeshu,pb.weiYe(),pb.isBool());
}
//----------分楼层----------
mess.setStart(pb.getStart() + 1);
//------------------------------------------------
session.setAttribute("messages", mess);
response.sendRedirect(path);
return pb;
}
//分页转换bbs
private PageBean view(PageBean pb,String id,HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException{
HttpSession session = request.getSession();
pb = new PageBean(4,"where bid=" + id);
pb = this.message(pb, "frist", request, response,"right.jsp");
return pb;
}
//回帖
private PageBean addmsg(PageBean pb,HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException{
//------------业务操作对象的创建------------
String bid = request.getParameter("bid");
String resp = request.getParameter("resp");
String detail = request.getParameter("detail");
Timestamp date = new Timestamp(new java.util.Date().getTime());
Bdetail b = new Bdetail(0,Integer.parseInt(bid),detail,resp,date);
//---------------------------------------
ConDB db = new ConDB();
if( db.addResponse(b) ) {
pb = new PageBean(4,"where bid=" + bid);
pb = this.message(pb, "frist", request, response,"right.jsp");
}
else {
//!!!!!!!!!!!!!回帖错误!!!!!!!!!!!!!!!
this.error(request, response, "系统错误--回帖发生错误", "./right.jsp");
}
db.close();
return pb;
}
//跳转到编辑
private void goedit(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException{
String id = request.getParameter("id");
ConDB db = new ConDB();
List list = db.getDetail("select * from bdetail where id=" + id);
if( list == null || list.size() == 0) {
//!!!!!!!!!!!跳转编辑错误!!!!!!!!!!!
this.error(request, response, "系统错误--跳转到编辑发生错误", "./right.jsp");
return;
}
HttpSession session = request.getSession();
session.setAttribute("updatedetail",list.get(0));
response.sendRedirect("./bbs/edit.jsp");
}
//编辑
private PageBean edit(PageBean pb,HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException{
HttpSession session = request.getSession();
//-----------释放需要编辑信息------------
session.removeAttribute("updatedetail");
//--------------------------------------
//------------业务操作对象的创建------------
String detail = request.getParameter("detail");
String id = request.getParameter("id");
Bdetail b = new Bdetail(Integer.parseInt(id),0,detail,null,null);
//--------------------------------------
ConDB db = new ConDB();
if( db.updateMessge(b) ){
pb = this.message(pb, "frist", request, response, "right.jsp");
}
else {
//!!!!!!!!!!!!编辑错误!!!!!!!!!!!!!!
this.error(request, response, "系统错误--编辑发生错误", "./right.jsp");
}
return pb;
}
//删除帖子
private PageBean dele(PageBean pb,HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException{
HttpSession session = request.getSession();
//-----------时间格式转化-----------
SimpleDateFormat simple = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
java.util.Date date = null;
try {
date = simple.parse(request.getParameter("date"));
} catch (ParseException e) {
this.error(request, response, "系统错误--转化时间发生错误", "./right.jsp");
return pb;
}
Timestamp time = new Timestamp(date.getTime());
//--------------------------------
String bid = request.getParameter("bid");
Bdetail detail = new Bdetail(0,Integer.parseInt( bid ),null,null,time);
ConDB db = new ConDB();
int num = db.deleteMessge( detail );
if(num == 0) {
List list = db.view();
session.setAttribute("tlist",list );
pb = new PageBean(4,"where bid=" + ( (Bbs) list.get(0)).getBid());
} else if (num == 1) {
pb = new PageBean(4,"where bid=" + bid);
} else {
//!!!!!!!!!!!!!!删除错误!!!!!!!!!!!!!
this.error(request, response, "系统错误--删除发生错误", "./right.jsp");
}
db.close();
pb = this.message(pb, "frist", request, response, "right.jsp");
return pb;
}
//用户退出释放资源
private void exit(HttpServletRequest request){
HttpSession session = request.getSession();
session.invalidate();
}
//异常跳转
private void error(HttpServletRequest request,HttpServletResponse response,String msg,String path) throws ServletException, IOException {
request.setAttribute("msg", msg);
request.setAttribute("path", path);
request.getRequestDispatcher("error.jsp").forward(request, response);
}
//判断权限
private List isBoos(PageBean pb,HttpSession session) {
User user = (User) session.getAttribute("user");
String name = user.getUname();
int grade = user.getGrade();
List list = pb.shouYe();
if(list == null || list.size() == 0) {
return list;
}
String bbsname = ((Bdetail) list.get(0)).getResp();
if(bbsname.equals(name) || grade == 0) {
pb.setBool(true);
}
return list;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -