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

📄 newsadminhandler.java~8~

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

import java.sql.Connection;

import ws.woa.core.AbstractModuleHandler;
import ws.woa.core.ApplicationException;
import ws.woa.core.GroupInfo;
import ws.woa.core.Request;
import ws.woa.core.Response;
import ws.woa.core.UserInfo;
import ws.woa.util.ArrayUtil;
import ws.woa.util.PageLink;
import ws.woa.util.ValidatorSet;
import ws.woa.util.DefaultValidator;
import ws.woa.util.CheckUtil;

/**
 * 僯儏乕僗娗棟儌僕儏乕儖偺僴儞僪儔丅
 *
 * @author Wang
 */
public class NewsAdminHandler extends AbstractModuleHandler {

    /**
     * @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("REG_FORM")){
            registForm(request,response);

        // 峏怴僼僅乕儉
        } else if(action!=null && action.equals("UPD_FORM")){
            updateForm(request,response);

        // 嶍彍妋擣
        } else if(action!=null && action.equals("DEL_CONF")){
            deleteConfirm(request,response);

        // 搊榐幚峴
        } else if(action!=null && action.equals("REG_EXEC")){
            registExecute(request,response);
            newsList(request,response);

        // 峏怴幚峴
        } else if(action!=null && action.equals("UPD_EXEC")){
            updateExecute(request,response);
            newsList(request,response);

        // 嶍彍幚峴
        } else if(action!=null && action.equals("DEL_EXEC")){
            deleteExecute(request,response);
            newsList(request,response);

        // 僯儏乕僗堦棗
        } else {
            newsList(request,response);
        }
    }

    /**
     * 搊榐夋柺
     */
    private void registForm(Request request,Response response) throws Exception {
        UserInfo[]  users  = getSystemContext().getAllUserInfo();
        GroupInfo[] groups = getSystemContext().getAllGroupInfo();
        request.setAttribute("users",users);
        request.setAttribute("groups",groups);

        includeJSP(NewsConstants.JSP_FORM,request,response);
    }

    /**
     * 峏怴夋柺
     */
    private void updateForm(Request request,Response response) throws Exception {

        idValidate(request);

        UserInfo[]  users  = getSystemContext().getAllUserInfo();
        GroupInfo[] groups = getSystemContext().getAllGroupInfo();
        request.setAttribute("users",users);
        request.setAttribute("groups",groups);

        Connection conn = getSystemContext().getConnection();
        try {
            NewsBean news = NewsDBAccessor.getNews(
                          Long.parseLong(request.getParameter("NewsID")),conn);
            request.setAttribute("news",news);
        } catch(Exception ex){
            throw ex;
        } finally {
            //conn.close();
            getSystemContext().releaseConnection(conn);
        }

        includeJSP(NewsConstants.JSP_FORM,request,response);
    }

    /**
     * 嶍彍夋柺
     */
    private void deleteConfirm(Request request,Response response) throws Exception {

        idValidate(request);

        Connection conn = getSystemContext().getConnection();
        try {
            NewsBean news = NewsDBAccessor.getNews(
            Long.parseLong(request.getParameter("NewsID")),conn);
            request.setAttribute("news",news);
        } catch(Exception ex){
            throw ex;
        } finally {
            //conn.close();
            getSystemContext().releaseConnection(conn);
        }
        includeJSP(NewsConstants.JSP_DELETE,request,response);
    }

    /**
     * 搊榐幚峴
     */
    private void registExecute(Request request,Response response) throws Exception {

        // 擖椡僠僃僢僋
        validate(request);

        String subject    = request.getParameter("Subject");
        String content    = request.getParameter("Content");
        int    acceptFlag = Integer.parseInt(request.getParameter("AcceptFlag"));

        Connection conn = getSystemContext().getConnection();
        try {
            if(acceptFlag==0){
                NewsDBAccessor.registNews(subject,content,acceptFlag,
                    ArrayUtil.toLongArray(request.getParameterValues("GroupID")),conn);
            } else if(acceptFlag==1){
                NewsDBAccessor.registNews(subject,content,acceptFlag,
                    ArrayUtil.toLongArray(request.getParameterValues("UserID")),conn);
            } else {
                NewsDBAccessor.registNews(subject,content,acceptFlag,new long[0],conn);
            }
        } catch(Exception ex){
            conn.rollback();
            throw ex;
        } finally {
            conn.commit();
            //conn.close();
            getSystemContext().releaseConnection(conn);
        }
    }

    /**
     * 峏怴幚峴
     */
    private void updateExecute(Request request,Response response) throws Exception {

        // 擖椡僠僃僢僋
        validate(request);

        long   newsID     = Long.parseLong(request.getParameter("NewsID"));
        String subject    = request.getParameter("Subject");
        String content    = request.getParameter("Content");
        int    acceptFlag = Integer.parseInt(request.getParameter("AcceptFlag"));

        Connection conn = getSystemContext().getConnection();
        try {
            if(acceptFlag==0){
                NewsDBAccessor.updateNews(newsID,subject,content,acceptFlag,
                    ArrayUtil.toLongArray(request.getParameterValues("GroupID")),conn);
            } else if(acceptFlag==1){
                NewsDBAccessor.updateNews(newsID,subject,content,acceptFlag,
                    ArrayUtil.toLongArray(request.getParameterValues("UserID")),conn);
            } else {
                NewsDBAccessor.updateNews(newsID,subject,content,acceptFlag,new long[0],conn);
            }
        } catch(Exception ex){
            conn.rollback();
            throw ex;
        } finally {
            conn.commit();
            //conn.close();
            getSystemContext().releaseConnection(conn);
        }
    }

    /**
     * 嶍彍幚峴
     */
    private void deleteExecute(Request request,Response response) throws Exception {

        idValidate(request);

        long newsID = Long.parseLong(request.getParameter("NewsID"));

        Connection conn = getSystemContext().getConnection();
        try {
            NewsDBAccessor.deleteNews(newsID,conn);
        } catch(Exception ex){
            conn.rollback();
            throw ex;
        } finally {
            conn.commit();
            //conn.close();
            getSystemContext().releaseConnection(conn);
        }
    }

    /**
     * 僯儏乕僗堦棗夋柺
     */
    private void newsList(Request request,Response response) throws Exception {

        // 儁乕僕斣崋傪庢摼
        int page = 1;
        if(request.getParameter("Page")!=null && CheckUtil.numericCheck
                                               (request.getParameter("Page"))){
            page = Integer.parseInt(request.getParameter("Page"));
        }
        if(page<1){ page = 1; }

        Connection conn = getSystemContext().getConnection();
        try {
            // 審悢傪庢摼
            int count = NewsDBAccessor.getNewsCount(conn);
            // 儁乕僕斣崋傪曗惓
            if((page-1)*NewsConstants.PAGE_ROW_COUNT>=count){
                page = page - 1;
            }

            UserInfo userInfo = getSystemContext().getUserInfo();
            NewsBean[] newsList = NewsDBAccessor.getNewsList(
                                         (page-1)*NewsConstants.PAGE_ROW_COUNT,
                                         NewsConstants.PAGE_ROW_COUNT,conn);
            request.setAttribute("newsList",newsList);

            PageLink pageLink = new PageLink("newsadmin.module",
                                      page,count,NewsConstants.PAGE_ROW_COUNT);
            request.setAttribute("pageLink",pageLink);

            includeJSP(NewsConstants.JSP_LIST,request,response);
        } catch(Exception ex){
            throw ex;
        } finally {
            //conn.close();
            getSystemContext().releaseConnection(conn);
        }
    }

    /**
     * 擖椡僠僃僢僋傪峴偄傑偡丅
     *
     * @exception ApplicationException 擖椡僄儔乕偑偁偭偨応崌
     */
    private static void validate(Request request) throws ApplicationException {

        String subject    = request.getParameter("Subject");
        String content    = request.getParameter("Content");
        String acceptFlag = request.getParameter("AcceptFlag");
        String newsID     = request.getParameter("NewsID");

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

        ValidatorSet validator = new ValidatorSet();

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

        validator.add(new DefaultValidator(DefaultValidator.STRING ,200,true),subject);
        validator.add(new DefaultValidator(DefaultValidator.STRING ,    true),content);
        validator.add(new DefaultValidator(DefaultValidator.NUMERIC,  1,true),acceptFlag);

        validator.doValidate();
    }

    /**
     * NewsID僷儔儊乕僞偺傒偺専徹
     */
    private static void idValidate(Request request) throws ApplicationException {
        ValidatorSet validator = new ValidatorSet();
        validator.add(new DefaultValidator(DefaultValidator.NUMERIC,10,true),
                      request.getParameter("NewsID"));
        validator.doValidate();
    }
}

⌨️ 快捷键说明

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