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

📄 reqform.java

📁 一个小型的BBS系统
💻 JAVA
字号:
package com.servlet;

import java.io.IOException;
import java.io.PrintWriter;
import java.util.StringTokenizer;
import bean.deleteDB.*;
import bean.condb.*;
import bean.dbwrite.*;
import bean.readdb.DBRead;
import java.util.*;
import javax.servlet.RequestDispatcher;
import javax.servlet.ServletConfig;
import javax.servlet.ServletContext;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;

import com.jspsmart.upload.SmartUpload;



/**
 * Servlet implementation class for Servlet: ReqForm
 *
 */
 public class ReqForm extends javax.servlet.http.HttpServlet implements javax.servlet.Servlet {
   static final long serialVersionUID = 1L;
   
    /* (non-Java-doc)
	 * @see javax.servlet.http.HttpServlet#HttpServlet()
	 */
	public ReqForm() {
		super();
	}   	
	
	/* (non-Java-doc)
	 * @see javax.servlet.http.HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
	 */
	protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		// TODO Auto-generated method stub
		
		String action = request.getParameter("action");
		String url;
		ServletContext sc = getServletContext();
		
		if(action.equals("write")){
			url="/writepost.jsp"; 
			RequestDispatcher rd = sc.getRequestDispatcher(url);
			rd.forward(request, response);
		}
		//发表主题
		else if(action.equals("writedb")){
			DBFormWrite DBFW = new DBFormWrite();
			DBContentWrite DBCW = new DBContentWrite();
			String id;//帖子的主码
			String author;//帖子的作者
			String title;//题目	
			int floor;//楼层
			String content;//内容
			
			//获取lv
			HttpSession session = request.getSession();
			String lv = (String)session.getAttribute("lv");
			String userid = new String(request.getParameter("useid").getBytes("iso-8859-1"),"GB2312");
			author=new String(request.getParameter("author").getBytes("iso-8859-1"),"GB2312");
			title=new String(request.getParameter("title").getBytes("iso-8859-1"),"GB2312");
			//获取所在版块
			String bbsstate =new String(request.getParameter("bbsstate").getBytes("iso-8859-1"),"GB2312");
			floor=0;
			content=new String(request.getParameter("content").getBytes("iso-8859-1"),"GB2312");
			//计算ID
			id = DBFW.getID(author);
			Date date =new Date();
			String time =date.toLocaleString();
			if(id.equals("-1")){
				id = userid+"*1";
				DBFW.DBFW(title,id, author, author, 1,bbsstate);//将主题写入bbsform1中 
				DBCW.DBCW(id, author, title, floor, content,bbsstate,time);//将内容写入formcontent中 
				DBFW.SortPost(id,bbsstate,lv);//将帖子置顶
				DBFW.UpdateStateNum(bbsstate);//更新帖子数量
			}
			else{
				//重新分配ID
				StringTokenizer t = new StringTokenizer(id, "*");
				userid = t.nextToken();
				String temp = t.nextToken();
				String res = String.valueOf(Integer.parseInt(temp)+1);
				id = userid + "*"+res;
				DBFW.DBFW(title,id, author, author, 1,bbsstate);//将主题写入bbsform1中 
				DBCW.DBCW(id, author, title, floor, content,bbsstate,time);//将内容写入formcontent中
				
				DBFW.SortPost(id,bbsstate,lv);//将帖子置顶
				DBFW.UpdateStateNum(bbsstate);//更新帖子数量
			}
			DBWrite dbw = new DBWrite();
			dbw.UserAddScore(author,1);//加分
			dbw.UpdateUserPost(author);//发帖数+1
			System.out.println("发贴成功"+id);
			request.setAttribute("bbsstate", bbsstate);
			
			
			url="/postsucessful.jsp?url="+id+"&pageview=1&currauthor="+ java.net.URLEncoder.encode(author,"gb2312")+"&lv="+lv+"&title="+java.net.URLEncoder.encode(title,"gb2312");
			RequestDispatcher rd = sc.getRequestDispatcher(url);
			rd.forward(request, response);
		}
		//回帖处理
		else if(action.equals("repost")){
			DBWrite dbw = new DBWrite();
			DBContentWrite dbcw = new DBContentWrite();
			DBFormWrite DBFW = new DBFormWrite();
			HttpSession session = request.getSession();
			String lv = (String)session.getAttribute("lv");
			String bbsstate = new String(request.getParameter("bbsstate").getBytes("iso-8859-1"),"GB2312");
			String author = new String(request.getParameter("author").getBytes("iso-8859-1"),"GB2312");
			
			String title = new String(request.getParameter("title").getBytes("iso-8859-1"),"GB2312");
			String content = new String(request.getParameter("recontent").getBytes("iso-8859-1"),"GB2312");
			System.out.println(author+"  "+title);//测试传递
			String id = new String(request.getParameter("postid").getBytes("iso-8859-1"),"GB2312");
			
			int floor = dbcw.FindFloor(id);
			floor +=1;//得到当前回帖处floor
			if(floor==1)
				title = "回复"+title;
			Date date =new Date();
			String time =date.toLocaleString();
			dbcw.DBCW(id, author, title, floor, content,bbsstate,time);//将内容写入formcontent中
			int n = DBFW.getNumber(id);//获得该贴当前位置
			if(n!=1)
				DBFW.SortPost(id,bbsstate,lv);//将帖子置顶
			DBFW.UpdateFormLastupdate(id, author);//修改最后更新字段
			DBFW.UpdateReCount(id);//更新回帖数
			
			dbw.UserAddScore(author,1);//加分
			dbw.UpdateUserPost(author);//发帖数+1
			
			int pageview =1;
			pageview = (floor+5)/5;
			
			request.setAttribute("bbsstate", bbsstate);
			url="/postsucessful.jsp?url="+id+"&pageview="+pageview+"&currauthor="+ java.net.URLEncoder.encode(author,"gb2312")+"&lv="+lv+"&title="+java.net.URLEncoder.encode(title,"gb2312");
			RequestDispatcher rd = sc.getRequestDispatcher(url);
			rd.forward(request, response);
		}
		else if(action.equals("deletedb")){
			DeleteDB ddb =new DeleteDB();
			ddb.DDB();
			url="/deletedbsucessful.jsp";
			RequestDispatcher rd = sc.getRequestDispatcher(url);
			rd.forward(request, response);
		}
		else if(action.equals("modify")){
			String id =new String(request.getParameter("postid").getBytes("iso-8859-1"),"GB2312");
			String floor =request.getParameter("floor");
			String face = request.getParameter("face");
			DBRead dbr = new DBRead();
			Vector post = dbr.DBReader_OnePost(id, floor);
	
			
			
			//存储对象
			request.setAttribute("postcontent", post);
			String bbsstate = new String(request.getParameter("bbsstate").getBytes("iso-8859-1"),"GB2312");
			request.setAttribute("bbsstate", bbsstate);
	
			System.out.println("ReqForm传递state参数(修改模块):"+bbsstate);
			url="/repost.jsp";
			RequestDispatcher rd = sc.getRequestDispatcher(url);
			rd.forward(request, response);
		}
		else if(action.equals("delpost")){
			DeleteDB ddb = new DeleteDB();
			String id= new String(request.getParameter("postid").getBytes("iso-8859-1"),"GB2312");
			String floor = request.getParameter("floor");
		
			
			ddb.UpdateDel(id,floor);//相应帖子DEL位置1
			String bbsstate = new String(request.getParameter("bbsstate").getBytes("iso-8859-1"),"GB2312");
			request.setAttribute("bbsstate", bbsstate);
			System.out.println("ReqForm传递state参数(删除模块):"+bbsstate);
			url="/delpostsucessful.jsp";
			RequestDispatcher rd = sc.getRequestDispatcher(url);
			rd.forward(request, response);
		}
		else if(action.equals("undelpost")){
			DeleteDB ddb = new DeleteDB();
			String id= new String(request.getParameter("postid").getBytes("iso-8859-1"),"GB2312");
			String floor = request.getParameter("floor");
			ddb.UpdateUnDel(id, floor);//恢复相应帖子del位
			
			String bbsstate = new String(request.getParameter("bbsstate").getBytes("iso-8859-1"),"GB2312");
			request.setAttribute("bbsstate", bbsstate);
			System.out.println("ReqForm传递state参数(解封模块):"+bbsstate);
			url="/delpostsucessful.jsp";
			RequestDispatcher rd = sc.getRequestDispatcher(url);
			rd.forward(request, response);
		}
		else if(action.equals("updatepost")){
			String id = new String(request.getParameter("postid").getBytes("iso-8859-1"),"GB2312");
			String floor = new String(request.getParameter("floor").getBytes("iso-8859-1"),"GB2312");
			String content = new String(request.getParameter("recontent").getBytes("iso-8859-1"),"GB2312");
			DBContentWrite dbcw = new DBContentWrite();
			dbcw.UpdatePost(id, floor, content);//更新编辑帖子
			
			String bbsstate = new String(request.getParameter("bbsstate").getBytes("iso-8859-1"),"GB2312");
			request.setAttribute("bbsstate", bbsstate);
			System.out.println("ReqForm传递state参数(修改模块):"+bbsstate);
			url="/updatepostsucessful.jsp";
			RequestDispatcher rd = sc.getRequestDispatcher(url);
			rd.forward(request, response);
		}
		else if(action.equals("closepost")){
			String bbsstate = new String(request.getParameter("bbsstate").getBytes("iso-8859-1"),"GB2312");
			String closenum = new String(request.getParameter("closenum").getBytes("iso-8859-1"),"GB2312");
			DeleteDB ddb = new DeleteDB();
			ddb.UpdateDelForm(closenum);
			request.setAttribute("bbsstate", bbsstate);
			System.out.println("ReqForm传递state参数(封贴):"+bbsstate);
			url="/closepostsucessful.jsp";
			RequestDispatcher rd = sc.getRequestDispatcher(url);
			rd.forward(request, response);
		}
		else if(action.equals("unclosepost")){
			String bbsstate = new String(request.getParameter("bbsstate").getBytes("iso-8859-1"),"GB2312");
			String closenum = new String(request.getParameter("closenum").getBytes("iso-8859-1"),"GB2312");
			DeleteDB ddb = new DeleteDB();
			ddb.UpdateUnDelForm(closenum);
			request.setAttribute("bbsstate", bbsstate);
			System.out.println("ReqForm传递state参数(封贴):"+bbsstate);
			url="/closepostsucessful.jsp";
			RequestDispatcher rd = sc.getRequestDispatcher(url);
			rd.forward(request, response);
		}
		else if(action.equals("addscore")){
			String author = new String(request.getParameter("postauthor").getBytes("iso-8859-1"),"GB2312");
			String bbsstate = new String(request.getParameter("bbsstate").getBytes("iso-8859-1"),"GB2312");
			DBWrite dbw = new DBWrite();
			dbw.UserAddScore(author,2);//加分
			
			request.setAttribute("bbsstate", bbsstate);
			System.out.println("ReqForm传递state参数(加分):"+bbsstate);
			url="/addscoresucessful.jsp";
			RequestDispatcher rd = sc.getRequestDispatcher(url);
			rd.forward(request, response);
		}
		else if(action.equals("top")){
			String bbsstate = new String(request.getParameter("bbsstate").getBytes("iso-8859-1"),"GB2312");
			String id = new String(request.getParameter("postid").getBytes("iso-8859-1"),"GB2312");
			String lv = request.getParameter("posttop");
			DBTopWrite dbtw = new DBTopWrite();
			//获取top表中该贴位置
			int n = 0;
			n = dbtw.getNumber(lv);
			n +=1;
			System.out.println("待置顶帖子分配number="+n);
		    //置顶
			dbtw.Top_level(id,lv,String.valueOf(n));//将bbsform1中帖子level位置为lv 表示已经置顶 不再载入
			dbtw.ModifyNum(id, bbsstate);//修改其余帖子number
			request.setAttribute("bbsstate", bbsstate);
			System.out.println("ReqForm传递state参数(置顶):"+bbsstate);
			url="/topsucessful.jsp";
			RequestDispatcher rd = sc.getRequestDispatcher(url);
			rd.forward(request, response);
		}
		else if(action.equals("canceltop")){
			String bbsstate = new String(request.getParameter("bbsstate").getBytes("iso-8859-1"),"GB2312");
			String lv = request.getParameter("posttop");
			String id = new String(request.getParameter("topid").getBytes("iso-8859-1"),"GB2312");
			System.out.println("准备执行取消置顶");
			
			DBTopWrite dbtw = new DBTopWrite();
			dbtw.cancelTop(id,bbsstate); 
			
			request.setAttribute("bbsstate", bbsstate);
			System.out.println("ReqForm传递state参数(置顶):"+bbsstate);
			url="/topsucessful.jsp";
			RequestDispatcher rd = sc.getRequestDispatcher(url);
			rd.forward(request, response);
		}
		
	}  	
	
	/* (non-Java-doc)
	 * @see javax.servlet.http.HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
	 */
	protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		// TODO Auto-generated method stub
		
		
	}   	  	    
}

⌨️ 快捷键说明

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