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

📄 forumhandler.java~5~

📁 一个自己做的公司网站和办公职员管理系统。
💻 JAVA~5~
字号:
package ws.woa.forum;

import java.sql.Connection;

import ws.woa.core.ModuleAbstractHandler;
import ws.woa.core.ApplicationException;
import ws.woa.core.Constants;
import ws.woa.core.Request;
import ws.woa.core.Response;
import ws.woa.core.UserInfo;
import ws.woa.util.DefaultValidator;
import ws.woa.util.PageLink;
import ws.woa.util.ValidatorSet;

/**
 * 僼僅乕儔儉儌僕儏乕儖偺儌僕儏乕儖僴儞僪儔丅
 *
 * @author Wang
 */
public class ForumHandler extends ModuleAbstractHandler {

    /**
     * @see ws.woa.core.ModuleHandler#doProcess(Request, Response)
     */
    public void doProcess(Request request, Response response) throws Exception {

        String action = request.getParameter("Action");

        if(action!=null && action.equals("FORUM")){
            titleList(request,response);

        } else if(action!=null && action.equals("REGIST")){
            regist(request,response);
            titleList(request,response);

        } else if(action!=null && action.equals("MSG")){
            showMessage(request,response);

        } else {
            forumList(request,response);
        }

    }

    /**
     * 僷儔儊乕僞偺擖椡僠僃僢僋丅
     */
    private void validate(Request request) throws ApplicationException {
        String subject   = request.getParameter("Subject");
        String content   = request.getParameter("Content");
        String forumID   = request.getParameter("ForumID");
        String parentID  = request.getParameter("ParentID");
        String contentID = request.getParameter("ContentID");

        String action = request.getParameter("Action");

        ValidatorSet validator = new ValidatorSet();

        if(action!=null && action.equals("REGIST")){
            validator.add(new DefaultValidator(DefaultValidator.NUMERIC, 10,true),forumID);
            validator.add(new DefaultValidator(DefaultValidator.STRING ,100,true),subject);
            validator.add(new DefaultValidator(DefaultValidator.STRING ,    true),content);
            validator.add(new DefaultValidator(DefaultValidator.NUMERIC, 10,true),parentID);

        } else if(action!=null && action.equals("FORUM")){
            validator.add(new DefaultValidator(DefaultValidator.NUMERIC, 10,true),forumID);

        } else if(action!=null && action.equals("MSG")){
            validator.add(new DefaultValidator(DefaultValidator.NUMERIC, 10,true),forumID);
            validator.add(new DefaultValidator(DefaultValidator.NUMERIC, 10,true),contentID);
        }

        validator.doValidate();
    }

    /**
     * 僼僅乕儔儉堦棗
     */
    private void forumList(Request request, Response response) throws Exception {

        validate(request);

        Connection conn = getSystemContext().getConnection("system");
        try {
            UserInfo user = getSystemContext().getUserInfo();
            ForumBean[] forumList = ForumDBAccessor.getForumList(conn,user.getGroupID(),user.getUserID());
            request.setAttribute("forumList",forumList);

        } catch(Exception ex){
            throw ex;
        } finally {
            conn.close();
        }

        includeJSP(ForumConstants.JSP_USER_FORUM_LIST,request,response);
    }

    /**
     * 婰帠堦棗
     */
    private void titleList(Request request, Response response) throws Exception {

        validate(request);

        long forumID = Long.parseLong(request.getParameter("ForumID"));
        int page = 1;
        if(request.getParameter("Page")!=null){
            page = Integer.parseInt(request.getParameter("Page"));
        }
        if(page<1){ page = 1; }

        Connection conn = getSystemContext().getConnection("system");
        try {
            // 墈棗尃尷偺僠僃僢僋
            UserInfo userInfo = getSystemContext().getUserInfo();
            if(!ForumDBAccessor.getCanShowForum(conn,forumID,
                                                userInfo.getUserID(),userInfo.getGroupID())){
                throw new ApplicationException(Constants.ERR_PERMISSION);
            }

            ForumBean forum = ForumDBAccessor.getForum(conn,forumID);
            request.setAttribute("forum",forum);

            ForumContentBean[] contents = ForumDBAccessor.getContentList(conn,forumID,
                (page-1)*ForumConstants.ONE_PAGE_TREE);
            request.setAttribute("contents",contents);

            //ForumPageLink pageLink = new ForumPageLink(page,
            //    ForumDBAccessor.getArticleCount(conn,forumID),"forum.module",forumID);
            PageLink pageLink = new PageLink("forum.module?Action=FORUM&ForumID="+forumID,page,
                                             ForumDBAccessor.getArticleCount(conn,forumID),
                                             ForumConstants.ONE_PAGE_TREE);
            request.setAttribute("pageLink",pageLink);

        } catch(Exception ex){
            throw ex;
        } finally {
            conn.close();
        }

        includeJSP(ForumConstants.JSP_USER_TITLES,request,response);
    }

    /**
     * 婰帠偺搳峞
     */
    private void regist(Request request, Response response) throws Exception {

        validate(request);

        long forumID  = Long.parseLong(request.getParameter("ForumID"));
        long parentID = Long.parseLong(request.getParameter("ParentID"));
        String subject = request.getParameter("Subject");
        String content = request.getParameter("Content");
        long userID = getSystemContext().getUserInfo().getUserID();

        Connection conn = getSystemContext().getConnection("system");
        try {
            // 墈棗尃尷偺僠僃僢僋
            UserInfo userInfo = getSystemContext().getUserInfo();
            if(!ForumDBAccessor.getCanShowForum(conn,forumID,
                                                userInfo.getUserID(),userInfo.getGroupID())){
                throw new ApplicationException(Constants.ERR_PERMISSION);
            }

            ForumDBAccessor.registContent(conn,forumID,parentID,userID,subject,content);

        } catch(Exception ex){
            conn.rollback();
            throw ex;
        } finally {
            conn.commit();
            conn.close();
        }

    }

    /**
     * 婰帠偺墈棗
     */
    private void showMessage(Request request, Response response) throws Exception {

        validate(request);

        long forumID   = Long.parseLong(request.getParameter("ForumID"));
        long contentID = Long.parseLong(request.getParameter("ContentID"));

        Connection conn = getSystemContext().getConnection("system");
        try {
            // 墈棗尃尷偺僠僃僢僋
            UserInfo userInfo = getSystemContext().getUserInfo();
            if(!ForumDBAccessor.getCanShowForum(conn,forumID,
                                                userInfo.getUserID(),userInfo.getGroupID())){
                throw new ApplicationException(Constants.ERR_PERMISSION);
            }

            ForumContentBean content = ForumDBAccessor.getContent(conn,forumID,contentID);
            request.setAttribute("content",content);

            ForumBean forum = ForumDBAccessor.getForum(conn,forumID);
            request.setAttribute("forum",forum);

        } catch(Exception ex){
            throw ex;
        } finally {
            conn.close();
        }

        includeJSP(ForumConstants.JSP_USER_MESSAGE,request,response);
    }

}

⌨️ 快捷键说明

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