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

📄 actionservlet.java

📁 招标投标网上系统
💻 JAVA
字号:
/*
 * @(#)BusinessBean.java 
 *
 * Copyright 2003 by SYNTC, All rights reserved.
 *
 * This software is the confidential and proprietary information of SYNTC.
 * ("Confidential Information").
 */
package cn.com.syntc.common.action;

import javax.servlet.*;
import javax.servlet.http.*;
import javax.servlet.jsp.JspException;
import java.io.*;
import java.util.*;
import java.lang.reflect.*;

import cn.com.syntc.common.io.*;
import cn.com.syntc.common.util.*;

import cn.com.syntc.webapp.session.UserSession;
/**
 * 业务调用Servlet,用于web访问<br>
 * @author wang yong
 * @version 1.4.2.4
 * 去掉fcode变量限制,采用request name 标示动作 <br>modify by yanger 2003-4-24 13:32
 */
public class ActionServlet extends HttpServlet {

  /**
   * 业务逻辑处理bean 类路径
   */
  public static final String ACTION_BEAN_PATH = "cn.com.syntc.webapp.business.";

  /**
   * 业务逻辑处理bean 类名结尾字符串
   */
  public static final String ACTION_BEAN_NAME = "Bean";

  /** 登录页面 */
  public static final String LOGINPAGE = "/login.jsp";

  /**
   *  Servlet Context
   */
  private ServletContext application = null;

  /**
   *  取得Servlet Context
   */
  public void init(ServletConfig config) throws ServletException
  {
    this.application = config.getServletContext();
  }

  public void doGet(HttpServletRequest request, HttpServletResponse response)
                    throws ServletException, IOException {
  }

  public void doPost(HttpServletRequest request, HttpServletResponse response)
                     throws ServletException, IOException {
    doGet(request, response);
  }

  public void service(HttpServletRequest request, HttpServletResponse response)
                      throws ServletException, IOException {
    long beginTimeMillis = System.currentTimeMillis();//得到业务处理的开始时间

    HttpSession session = request.getSession();

    // 用户信息
    UserSession USession = (UserSession)session.getAttribute("UserSession");

    // 用户验证
    if (USession == null || USession.isGuest())
    {
      if(!"/Login.do".equals(request.getRequestURI()) &&
         !"/Logout.do".equals(request.getRequestURI()))
      {
        // 不允许游客登陆
        System.out.println( "未登录或停滞时间过久,请重新登陆!");
        response.sendRedirect(LOGINPAGE);
        return;
      }
    } 

    System.out.println( "FrameWork:处理开始!" );

    /**
     * 构造数据输入类(转换session和request)
     */
    Parameters parameters = new Parameters(request);

    /**
     * 创建对象,用于实例化业务Bean
     */
    String actionKey = RequestUtil.getServletNameNoExtend(request);
    String servletName = RequestUtil.getServletName(request);
    String BusinessBeanName = ACTION_BEAN_PATH + actionKey + ACTION_BEAN_NAME;

    System.out.println("FrameWork:实例化业务处理类【" + BusinessBeanName + "】");

    try{
      Class BusinessBeanClass = Class.forName(BusinessBeanName);
      Object BusinessBeanOjbect = BusinessBeanClass.newInstance();
      Method BMethod = null;
			Class[] paramClasses = null;
      Object[] paramObjects = null;

      paramClasses = new Class[3];
			paramClasses[0] = HttpServletRequest.class;
			paramClasses[1] = HttpServletResponse.class;
			paramClasses[2] = Parameters.class;

      paramObjects = new Object[3];
      paramObjects[0] = request;
      paramObjects[1] = response;
      paramObjects[2] = parameters;

      /* -------------------- 表单检测处理 ------------------- */
      System.out.println("FrameWork:执行validate方法");
      // 取得validate方法
      BMethod = BusinessBeanClass.getMethod("validate", paramClasses);

      // 执行validate方法
      BMethod.invoke(BusinessBeanOjbect, paramObjects);

      /* -------------------- 业务逻辑处理 ------------------- */
      System.out.println("FrameWork:执行execute方法");
      // 取得execute方法
      BMethod = BusinessBeanClass.getMethod("execute", paramClasses);

      // 执行execute方法
      BMethod.invoke(BusinessBeanOjbect, paramObjects);

      /* -------------------- 数据输出类的实类设置到session的属性里面 --------------------- */
      session.removeAttribute("outparam");
      session.setAttribute("outparam", parameters);
    }
    catch(ClassNotFoundException CNFex){
      System.out.println("FrameWork:业务处理类实例化失败1【" + BusinessBeanName + "】");
    }
    catch(InstantiationException Iex){
      System.out.println("FrameWork:业务处理类实例化失败2【" + BusinessBeanName + "】");
    }
    catch(IllegalAccessException IAex){
      System.out.println("FrameWork:业务处理类实例化失败3【" + BusinessBeanName+"】");
    }
    catch(NoSuchMethodException NSMex){
      System.out.println("FrameWork:业务处理类实例化失败4【" + BusinessBeanName + "】");
    }
    catch(InvocationTargetException ITex){
      System.out.println("FrameWork:业务处理类实例化失败5【" + BusinessBeanName+"】");
    }
    catch(CommonException Cex){
      System.out.println("FrameWork:业务处理类实例化失败6【" + BusinessBeanName+"】");
    }

    long endTimeMillis = System.currentTimeMillis();
    System.out.println("FrameWork:业务处理耗时 -- "+(endTimeMillis - beginTimeMillis)+"MSEL"); //得到业务处理的结束时间
    System.out.println("FrameWork:画面迁移【" + (String)parameters.getParameters("results", "ForwardPage")+"】");
    response.sendRedirect(response.encodeURL((String)parameters.getParameters("results", "ForwardPage")));
  }
}

⌨️ 快捷键说明

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