亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? frameworkengine.java

?? easyweb的使用
?? JAVA
字號:
package com.easyjf.web;

import java.util.Date;
import java.util.HashMap;
import java.util.Iterator;
import java.util.List;
import java.util.Map;

import javax.servlet.http.HttpServletRequest;

import org.apache.commons.beanutils.BeanUtilsBean;
import org.apache.commons.fileupload.DiskFileUpload;
import org.apache.commons.fileupload.FileItem;
import org.apache.log4j.Logger;

import com.easyjf.aop.EjfProxyFactory;
import com.easyjf.util.CommUtil;
import com.easyjf.web.config.WebConfig;

/**
 * 
 * <p>
 * Title:框架處理引擎
 * </p>
 * <p>
 * Description: 負責執WebFrom的創建,Action類的創建等
 * </p>
 * <p>
 * Copyright: Copyright (c) 2006
 * </p>
 * <p>
 * Company: www.easyjf.com
 * </p>
 * 
 * @author 蔡世友
 * @version 1.0
 */
public abstract class FrameworkEngine {
	private static final Logger logger = (Logger) Logger
			.getLogger(FrameworkEngine.class.getName());

	/**
	 * 根據request創建一個form對象
	 * 
	 * @param request
	 * @param formName
	 * @return 封裝了用戶數據的Form
	 */
	public static WebForm creatWebForm(HttpServletRequest request,
			String formName) {
		Map textElement = new HashMap();
		Map fileElement = new HashMap();
		String contentType = request.getContentType();
		String reMethod = request.getMethod();
		if ((contentType != null)
				&& (contentType.startsWith("multipart/form-data"))
				&& (reMethod.equalsIgnoreCase("POST"))) {
			// 二進制 multipart/form-data
			DiskFileUpload df = new DiskFileUpload();
			df.setHeaderEncoding(request.getCharacterEncoding());
			df.setSizeMax(1024 * 1024 * 5);
			df.setSizeThreshold(1024 * 20);
			List reqPars = null;
			try {
				reqPars = df.parseRequest(request);
				for (int i = 0; i < reqPars.size(); i++) {
					FileItem it = (FileItem) reqPars.get(i);
					if (it.isFormField()) {
						textElement.put(it.getFieldName(), it.getString(request
								.getCharacterEncoding()));// 文本字段需要轉碼
					} else {
						fileElement.put(it.getFieldName(), it);// 文件不需要轉碼
					}
				}
			} catch (Exception e) {
				logger.error(e);
			}
		} else if ((contentType != null) && contentType.equals("text/xml")) {
			StringBuffer buffer = new StringBuffer();
			try {
				String s = request.getReader().readLine();
				while (s != null) {
					buffer.append(s + "\n");
					s = request.getReader().readLine();
				}
			} catch (Exception e) {
				logger.error(e);
			}

			textElement.put("xml", buffer.toString());
		} else {
			textElement = request2map(request);
		}
		// logger.debug("表單數據處理完畢!");
		WebForm wf = findForm(formName);
		if (wf != null) {
			wf.setFileElement(fileElement);
			wf.setTextElement(textElement);
		}
		return wf;
	}

	/**
	 * 根據formName查找(創建)一個Form對象
	 * 
	 * @param formName
	 * @return 查找Form
	 */
	public static WebForm findForm(String formName) {
		WebForm wf = null;
		String formClass = Globals.DEFAULT_FORM_CLASS;
		if (formName != null && (!formName.equals(""))) {
			FormConfig form = WebConfig.getInstance().findForm(formName);
			if (form != null)
				formClass = form.getBean();
			// logger.debug("創建配置文件中的表單!"+formClass);
			if (formClass == null || formClass.equals(""))
				formClass = Globals.DEFAULT_FORM_CLASS;
			try {
				wf = (WebForm) Class.forName(formClass).newInstance();
				wf.setProperty(WebConfig.getInstance().findForm(formName)
						.getPropertys());
				wf.setFormConfig(form);
			} catch (Exception e) {
				logger.error("創建表單錯誤" + formClass + e);
				// throw "Can't ctead form of the type"+formClass;
			}
		} else {
			wf = new WebForm();
		}
		// logger.debug(wf.getClass().getName());
		return wf;
	}

	/**
	 * 根據路徑返回一個IWebAction
	 * 
	 * @param path
	 * @return action
	 */
	public static IWebAction findAction(String path) {
		IWebAction wf = null;
		String actionClass = Globals.DEFAULT_ACTION_CLASS;
		if (path != null && (!path.equals(""))) {
			Module module = WebConfig.getInstance().findModule(path);
			if (module != null)
				actionClass = module.getAction();
			if (actionClass == null || actionClass.equals(""))
				actionClass = Globals.DEFAULT_ACTION_CLASS;
			try {
				wf = (IWebAction) Class.forName(actionClass).newInstance();
			} catch (Exception e) {
				logger.error("創建Action錯誤" + actionClass + e);
			}
		} else {
			if (wf == null)
				wf = new Action();
		}

		return wf;
	}

	/**
	 * 根據Module返回一個一個IWebAction
	 * 
	 * @param module
	 * @return 相應的Action類
	 */
	public static IWebAction findAction(Module module) {
		IWebAction wf = null;
		String actionClass = null;
		if (module != null)
			actionClass = module.getAction();
		if (actionClass == null || actionClass.equals(""))
			actionClass = Globals.DEFAULT_ACTION_CLASS;
		try {
			wf = (IWebAction) Class.forName(actionClass).newInstance();
			// 嘗試使用代理對象加載攔截器,此處需要再修改
			try {
				IWebAction temp = (IWebAction) EjfProxyFactory.getProxyAction(
						actionClass, module);
				if (temp != null) {
					wf = temp;
				}
			} catch (Exception e1) {
				// 忽略加載錯誤
			}
		} catch (Exception e) {
			logger.error("創建Action錯誤" + actionClass + e);
		}
		return wf;
	}

	/**
	 * 根據路徑返回一個Module,首先從配置文件中查找,如果配置文件中沒有,則生成缺省的Module
	 * 
	 * @param pathName
	 * @return 相應的Action類
	 */
	public static Module findModule(String pathName) {
		Module m = new Module();
		String actionClass = getActionName(pathName);
		m.setAction(actionClass);
		m.setDefaultPage("default");
		m.setPath(pathName);
		Page p = new Page();
		p.setName("default");
		p.setType(Globals.PAGE_TEMPLATE_TYPE);
		p.setUrl(pathName + "." + Globals.DEFAULT_TEMPLATE_EXT);
		Map pages = new HashMap();
		pages.put(p.getName(), p);
		m.setPages(pages);
		return m;
	}

	public static IRequestInterceptor findRequestInterceptor(String name) {
		IRequestInterceptor interceptor = (IRequestInterceptor) WebConfig
				.getInstance().getInterceptors().get(name);
		return interceptor;
	}

	public static Iterator getRequestInterceptors() {
		return WebConfig.getInstance().getInterceptors().values().iterator();
	}

	/**
	 * 根據url路徑生成默認形式的IWebAction類全名
	 * 
	 * @param pathName
	 * @return actionName
	 */
	public static String getActionName(String pathName) {

		String[] s = pathName.split("/");
		String actionName = "";
		if (s != null) {
			for (int i = 0; i < s.length; i++) {
				if (s[i] != null && (!s[i].equals("")))
					actionName += s[i] + (i < s.length - 1 ? "_" : "");
			}
		}
		String actionClass = Globals.DEFAULT_ACTTION_PACKAGE + "." + actionName
				+ "Action";
		return actionClass;
	}

	/**
	 * 一個通用reuqest數據到map的轉換
	 * 
	 * @param request
	 * @return Map
	 */
	public static Map request2map(HttpServletRequest request) {
		Map map = new HashMap();
		java.util.Enumeration s = request.getParameterNames();
		// System.out.println("參數個數:"+request.getParameterMap().size());
		while (s.hasMoreElements()) {
			String name = (String) s.nextElement();
			if (!request.getParameter(name).equals("")) {
				map.put(name, request.getParameter(name));
				// System.out.println(name+":"+request.getParameter(name)+"<br>");
			}
		}
		return map;
	}

	/**
	 * 把表單中傳來的對象轉換到實現Java對象中
	 * 
	 * @param map
	 * @param obj
	 */
	public static void form2Obj(Map map, Object obj) {
		Iterator names = map.keySet().iterator();
		while (names.hasNext()) {
			String name = (String) names.next();
			if (BeanUtilsBean.getInstance().getPropertyUtils().isWriteable(obj,
					name)) {
				try {
					Object value = format(BeanUtilsBean.getInstance()
							.getPropertyUtils().getPropertyType(obj, name), map
							.get(name));
					BeanUtilsBean.getInstance().copyProperty(obj, name, value);
				} catch (Exception e) {
					e.printStackTrace();
				}
			}
		}
	}

	/**
	 * 這里執行數據類型轉換工作,比如把Form中傳來的字符型數據轉換成日期型數據
	 * 
	 * @param clz
	 * @param source
	 * @return
	 */
	private static Object format(Class clz, Object source) {
		Object ret;
		if (clz == Date.class)
			ret = CommUtil.formatDate(source.toString());
		else
			ret = source;
		return ret;
	}
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
91影院在线观看| 日韩亚洲欧美一区| 国产精品国产自产拍高清av王其| 国产精品乱人伦| 久草在线在线精品观看| 色婷婷精品大视频在线蜜桃视频 | 午夜欧美大尺度福利影院在线看| 国产精品综合二区| 91精品国产综合久久久蜜臀粉嫩| 中文字幕一区二区不卡 | 99精品国产91久久久久久| 91精品福利在线一区二区三区 | 日本va欧美va欧美va精品| 99国产精品国产精品久久| 久久久久亚洲蜜桃| 美女看a上一区| 欧美日韩国产一级二级| 亚洲精品国产无套在线观| 国产91精品一区二区麻豆网站| 日韩欧美在线网站| 日韩精品五月天| 欧美日韩国产免费| 亚洲一区在线观看网站| 日本韩国一区二区三区| 亚洲色图视频网| 91污片在线观看| 久久久精品蜜桃| 国产精品资源在线观看| 在线观看日韩高清av| 中文字幕第一区第二区| 国产一区二区精品久久| 久久夜色精品国产噜噜av| 欧美aaa在线| 欧美电影免费观看高清完整版在线| 亚洲综合区在线| 欧美性感一类影片在线播放| 亚洲视频一二区| 在线观看91视频| 亚洲国产另类av| 欧美一区二区视频观看视频| 久久精品国产99国产精品| 精品sm在线观看| 国产酒店精品激情| 国产精品免费久久| 色哦色哦哦色天天综合| 亚洲图片欧美色图| 欧美一区二区三区人| 成人av免费在线观看| 国产精品麻豆99久久久久久| 91捆绑美女网站| 午夜精品久久久久久久99樱桃| 4438亚洲最大| 国产一区二区免费看| 成人免费在线播放视频| 91年精品国产| 日韩精品欧美精品| 国产日韩欧美在线一区| 成人精品在线视频观看| 亚洲午夜av在线| 精品国产髙清在线看国产毛片| 国产成人av一区二区三区在线| 中文字幕中文字幕一区二区| 欧美日韩国产一级片| 国产一区亚洲一区| 亚洲在线免费播放| 久久久久97国产精华液好用吗| 99在线精品免费| 美女尤物国产一区| 最新中文字幕一区二区三区| 欧美军同video69gay| 成人性生交大片免费看中文网站| 亚洲一区二区精品视频| 国产亚洲欧洲997久久综合 | 一区二区在线免费观看| 91精品国产91综合久久蜜臀| 成人精品国产免费网站| 午夜欧美电影在线观看| 国产欧美精品一区aⅴ影院 | 中文字幕av免费专区久久| 欧美人与性动xxxx| 成人在线视频首页| 麻豆成人av在线| 亚洲欧美日韩一区二区 | 成人性生交大合| 日韩电影免费一区| 中文字幕在线不卡一区二区三区| 精品乱码亚洲一区二区不卡| 色综合一个色综合亚洲| 国产一区二区在线视频| 亚洲成a人片在线不卡一二三区 | www.99精品| 国产电影一区二区三区| 亚洲gay无套男同| 亚洲欧美色一区| 国产精品乱人伦一区二区| 久久综合久久综合九色| 欧美日韩一区 二区 三区 久久精品| 成人午夜在线免费| 国产毛片精品国产一区二区三区| 日韩av网站免费在线| 一区二区三区四区高清精品免费观看| 久久久久久毛片| 亚洲色图制服丝袜| 中文在线一区二区| 国产亚洲欧美一级| 久久免费国产精品| 精品国产乱码久久久久久免费| 欧美老肥妇做.爰bbww视频| 色婷婷综合久久久| 色综合天天天天做夜夜夜夜做| 97久久精品人人做人人爽50路| 福利一区二区在线| 国产乱码精品1区2区3区| 狠狠色综合播放一区二区| 蜜臀99久久精品久久久久久软件| 视频一区二区欧美| 日韩激情中文字幕| 日韩av中文在线观看| 无吗不卡中文字幕| 美女一区二区三区| 精品一区二区三区在线视频| 精品无码三级在线观看视频| 精品在线播放免费| 成人一级片在线观看| www.日本不卡| 欧美午夜理伦三级在线观看| 欧美另类z0zxhd电影| 欧美一级黄色片| 久久先锋影音av| 国产亚洲女人久久久久毛片| 国产欧美精品国产国产专区| 国产精品久久久久久久久搜平片| 国产精品久久久99| 亚洲激情自拍视频| 天天av天天翘天天综合网| 久久精品国产一区二区| 国产精品一卡二| 色噜噜狠狠成人中文综合| 欧美日韩国产另类不卡| 精品成人一区二区三区四区| 国产精品久久久久久亚洲伦| 亚洲人成网站精品片在线观看| 亚洲国产日韩a在线播放性色| 美女一区二区三区| zzijzzij亚洲日本少妇熟睡| 欧美性受极品xxxx喷水| 欧美大片拔萝卜| 国产精品久久福利| 婷婷久久综合九色综合绿巨人 | 亚洲电影中文字幕在线观看| 老司机免费视频一区二区| 国产99精品国产| 欧美日精品一区视频| 久久一区二区视频| 亚洲一区二区偷拍精品| 国产又黄又大久久| 欧美视频在线一区二区三区| 精品国产成人在线影院| 亚洲欧美日韩在线| 国产一区二区三区日韩| 欧美综合在线视频| 精品久久人人做人人爰| 亚洲综合一二三区| 懂色av一区二区在线播放| 精品视频999| 中文字幕永久在线不卡| 麻豆91精品视频| 91电影在线观看| 国产精品天美传媒| 麻豆91在线播放免费| 欧美日韩亚洲综合| 亚洲特黄一级片| 国产99久久久精品| 日韩欧美国产1| 亚洲一区二区欧美激情| 不卡欧美aaaaa| 26uuu精品一区二区在线观看| 成人自拍视频在线| 欧美电影免费观看高清完整版| 亚洲另类在线一区| 从欧美一区二区三区| 久久亚洲精精品中文字幕早川悠里| 亚洲韩国精品一区| 在线欧美日韩国产| 1024亚洲合集| 99天天综合性| 国产精品久久久久久久浪潮网站 | 日韩精品色哟哟| 欧美影片第一页| 亚洲在线视频一区| 在线视频你懂得一区| 亚洲欧洲精品一区二区三区| 高清在线不卡av| 国产日韩三级在线| 国产成人av一区| 国产精品久99| 日本乱人伦aⅴ精品| 亚洲三级免费电影| 91老师片黄在线观看| 亚洲精品免费播放|