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

📄 abstractaction.java

📁 一个基于Java的新闻发布系统
💻 JAVA
字号:
/*
 * Title: The  System of kelamayi Downhole Company [PMIP]
 * 
 * Copyright: Copyright 2005 
 * 
 * Company: hope Co., Ltd
 * 
 * All right reserved.
 * 
 * Created on 2005-12-9
 * 
 * JDK version used	:1.4.1
 * 
 * Modification history:
 * 
 * Struts.com.hope.common.action.AbstractAction Author :LiuHongDe(刘宏德)
 * 
 * Struts.com.hope.common.action.AbstractAction Version 1.0
 */
package com.hope.common.action;

import java.io.IOException;
import java.rmi.RemoteException;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.struts.action.Action;
import org.apache.struts.action.ActionError;
import org.apache.struts.action.ActionErrors;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;
import javax.sql.DataSource;
import java.sql.Connection;
import java.sql.SQLException;

/**
 * 
 * @version Version 1.0 
 * @author 刘宏德
 */
public abstract class AbstractAction extends Action {

	/**
	 * 
	 * @param request
	 * @param response
	 * @return Connection
	 * @throws SQLException
	 * 处理逻辑:<br>
	 * 无
	 * <br>
	 * Connection
	 * Method Name:com.hope.common.action.doConn<br>
	 * AbstractAction.java Version 1.0<br>
	 * AbstractAction<br>
	 */
	public Connection doConn(
		HttpServletRequest request,
		HttpServletResponse response)
		throws SQLException {
		DataSource dataSource;
		dataSource = getDataSource(request);
		Connection cnn = dataSource.getConnection();
		return cnn;
	}

	/**
	 * 
	 * AbstractAction.java Version 1.0<br>
	 * 
	 * AbstractAction<br>
	 * 
	 * 处理逻辑:<br>
	 *
	 */
	public ActionForward execute(
		ActionMapping mapping,
		ActionForm form,
		HttpServletRequest request,
		HttpServletResponse response)
		throws IOException, Exception {
			System.out.println("当前类名称:"+this.getClass().getName());
			System.out.println("当前类名称:"+this.getClass().getModifiers());
		boolean permission = checkPermission(request); //权限令牌
		//权限校验,如无权限,系统跳转到全局页面
		if (!permission) {
			return (mapping.findForward("authorization"));
		}

		ActionErrors errors = new ActionErrors(); //异常信息封装类

		try {
			return act(mapping, form, request, response);
		} catch (Exception e) {
			//抛出系统级异常供Struts Exception Framework处理
			if (e instanceof RemoteException) {
				throw e;
			} else if (e instanceof IOException) {
				throw e;
			}
			//Todo:其他系统级异常的处理

			//处理应用级异常,将异常转为为提示信息令牌,供信息资源框架使用
			errors.add("exception", new ActionError(getExceptionResource(e)));
		}

		//报告错误信息
		if (!errors.isEmpty()) {
			saveErrors(request, errors);
			saveToken(request);
			return (mapping.getInputForward());
		}

		//如以上两种情况均未发生,则系统出现异常,返回全局页面
		return (mapping.findForward("global"));

	}

	/**
	 * 供子类实现系统跳转逻辑的抽象方法,所有子类必须实现该方法
	 * @param mapping
	 * @param form
	 * @param request
	 * @param response
	 * @return ActionForward
	 * @throws IOException
	 * @throws Exception
	 * 处理逻辑:<br>
	 * 供子类实现系统跳转逻辑的抽象方法,所有子类必须实现该方法
	 * <br>
	 * ActionForward
	 * Method Name:com.hope.common.action.act<br>
	 * AbstractAction.java Version 1.0<br>
	 * AbstractAction<br>
	 */
	public abstract ActionForward act(
		ActionMapping mapping,
		ActionForm form,
		HttpServletRequest request,
		HttpServletResponse response)
		throws IOException, Exception;

	/**
	 * 获取异常类名称作为资源信息令牌
	 * @param obj
	 * @return
	 * 处理逻辑:<br>
	 * 无
	 * <br>
	 * String
	 * Method Name:com.hope.common.action.getExceptionResource<br>
	 * AbstractAction.java Version 1.0<br>
	 * AbstractAction<br>
	 */
	protected String getExceptionResource(Object obj) {
		StringBuffer excep = new StringBuffer(); //异常名称

		if (obj != null)
			excep.append(obj.getClass().getName());

		return excep.toString();
	}

	/**
	 * 校验用户操作权限
	 * @param request
	 * @return
	 * 处理逻辑:<br>
	 * 无
	 * <br>
	 * boolean
	 * Method Name:com.hope.common.action.checkPermission<br>
	 * AbstractAction.java Version 1.0<br>
	 * AbstractAction<br>
	 */
	protected boolean checkPermission(HttpServletRequest request) {
		//Todo:校验用户操作权限
//		HttpSession session = request.getSession();
//		if (session.getAttribute("UserInfo") == null) {
//			return false;
//		} else {
			return true;
		//}
	}

}

⌨️ 快捷键说明

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