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

📄 messageprocessingcommand.java

📁 该留言板使用JSP/servlet+hibernate+MySQL制作而成!详细内容内容请看JAVADOC说明文档.
💻 JAVA
字号:
/*
 * MessageProcessingCommand.java
 *
 * Created on 2007年5月28日, 下午9:36
 *
 * To change this template, choose Tools | Template Manager
 * and open the template in the editor.
 */

/**
 *
 * @author abc
 */
package message_board;

import java.io.IOException;
import java.sql.SQLException;
import java.util.List;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;



public class MessageProcessingCommand extends AbstractProcessingCommand 
{
     
    private static final String MESSAGE_PAGE       = "index.jsp";
    private static final String MESSAGE_ADMINPAGE  = "admin.jsp";
    private static final String MESSAGE_LIST_TOKEN = "messages";

    private static final String ACTION_MESSAGE_ADD = "MESSAGE_ADD";
    private static final String ACTION_MESSAGE_MOD = "ADMIN_MESSAGE_MODIFY";
    private static final String ACTION_MESSAGE_DEL = "ADMIN_MESSAGE_DELETE";
    private static final String ACTION_MESSAGE_ADMIN = "ADMIN";
    private JDBCHelper     _helper          = null;
    
    /** Creates a new instance of MessageProcessingCommand */
    public MessageProcessingCommand(JDBCHelper helper) {
        
        _helper = helper;
    }
    public void execute(HttpServletRequest request, HttpServletResponse response, String action)
            throws ServletException, IOException
    {
        if(ACTION_MESSAGE_ADD.equals(action))
        {
            String newNameString = request.getParameter("yourname");
            String newMessageString = request.getParameter("yourmessage");
            if (isValidString(newNameString))
            {
                processMessageAdd(newNameString,newMessageString);
            }
            
        }
        else if (action.startsWith(ACTION_MESSAGE_ADMIN))
        {
            if (ACTION_MESSAGE_DEL.equals(action))
            {
                String deleteID = request.getParameter("id");

                int id = Integer.parseInt(deleteID);
                processMessageDelete(id);

            }
            else if (ACTION_MESSAGE_MOD.equals(action))
            {
                String modIdString = request.getParameter("id");
                int modId = Integer.parseInt(modIdString);
                String modNameString = request.getParameter("yourname");
                String modMessageString = request.getParameter("yourmessage");
                if (isValidString(modNameString) && (modId > 0))
                {
                    processMessageModify(new Message(modId, modNameString,modMessageString));
                }
            }
           
                processMessageList(request);
                performRedirect(MESSAGE_ADMINPAGE, request, response);
                return;
            
        }       
        processMessageList(request);
        performRedirect(MESSAGE_PAGE, request, response);
    }
    
    private void processMessageModify(Message message)
    {
        BoardManager manager = null;
        try
        {
            manager = getBoardManager();
            manager.modifyMessage(message);
        }
        catch (DataException unexpected)
        {
             throw new IllegalArgumentException("Error modifying venue : " + unexpected);
        }
        finally
        {
            if (manager != null)
            {
                manager.releaseResources();
            }
        }
    }

    private void processMessageDelete(int MessageId)
    {
        BoardManager manager = null;
        try
        {
            manager = getBoardManager();
            manager.deleteMessage(MessageId);
        }
        catch (DataException unexpected)
        {
             throw new IllegalArgumentException("Error deleting venue : " + unexpected);
        }
        finally
        {
            if (manager != null)
            {
                manager.releaseResources();
            }
        }
    }
    private void processMessageAdd(String newNameString,String newMessageString)
    {
        BoardManager manager = null;
        try
        {
            manager = getBoardManager();
            manager.addNewMessage(new Message(0, newNameString,newMessageString));
        }
        catch (DataException unexpected)
        {
            throw new IllegalArgumentException("Error adding new venue : " + unexpected);
        }
        finally
        {
            if (manager != null)
            {
                manager.releaseResources();
            }
        }
    }
    
     private void processMessageList(HttpServletRequest request)
    {
        BoardManager manager = null;
        try
        {
            manager = getBoardManager();
            List messages = manager.getMessages();
            request.setAttribute(MESSAGE_LIST_TOKEN, messages);
        }
        catch (DataException unexpected)
        {
            throw new IllegalArgumentException("Error processing venue list : " + unexpected);
        }
        finally
        {
            if (manager != null)
            {
                manager.releaseResources();
            }
        }
    }

    private BoardManager getBoardManager() throws DataException
    {
        BoardManager manager;
        try
        {
            manager = new HibernateMessageManager(_helper.getConnection());
        }
        catch (SQLException connectionFailure)
        {
            throw new DataException(connectionFailure.getMessage());
        }
        return manager;
    }

}

⌨️ 快捷键说明

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