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

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

?? frontcontroller.java

?? 這是我自己開發的一個MVC框架
?? JAVA
字號:
package dark.web.frame.controller;

import java.io.IOException;

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

import dark.web.frame.Message;
import dark.web.frame.command.AbstractCommand;
import dark.web.frame.command.UnknownCommand;
import dark.web.frame.form.AbstractForm;
import dark.web.frame.form.UnknownForm;
import dark.web.frame.page.AbstractPage;
import dark.web.frame.page.UnknownPage;

/**
 * <p>Title:            </p>
 * <p>Description:      </p>
 * <p>Copyright:        Copyright (c) 2004</p>
 * <p>Company:          DIS</p>
 * <p>Create Time:      2005-2-28 16:24:03</p>
 * @author             <a href="mailto:dark_he@hotmail.com">darkhe</a>
 * @version            1.0
 */
public class FrontController extends AbstractController
{	
	/**
	 * 	
	 * @param request
	 * @param response
	 * @throws ServletException
	 * @throws IOException
	 * @see dark.web.frame.controller.AbstractController#doRequest(javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse, dark.web.frame.Message)
	 */
	public void doRequest(
		HttpServletRequest request,
		HttpServletResponse response)
		throws ServletException, IOException
	{
		// 如果要求做表單驗證,則處理之
		if (isValidate(request))
		{

			String input = getInput(request);

			// 如果用戶沒有指定請求轉發路徑,則指定default value
			if (input.equals(""))
			{
				input = configuration.getString("default.input");

				log.warn(
					"dont't specify parameter $INPUT, use default.input:"
						+ input);
				request.setAttribute(
					"$WARM",
					"dont't specify parameter $INPUT, use default.input"
						+ input);
			}

			AbstractForm form = getForm(request);

			// 初始化表單驗證類
			form.init(getServletContext(), request, response, getMessage());

			// 設置當前表單驗證的用戶請求轉發路徑
			form.setInput(input);

			// 檢證表單驗證類的執行權限
			if (form.isAuthentic())
			{
				// 執行真實的驗證邏輯
				Message msg = form.validate();

				if (msg == null)
				{
					// 如果msg為null,則說明form類沒有返回Message實例
					input = configuration.getString("default.input");
					form.setInput(input);

					log.warn("valideate() don't return Message instance");
					request.setAttribute(
						"$WARM",
						"valideate() don't return Message instance");

					form.forward();
					return;
				}

				if (!msg.isEmpty())
				{
					// 如果msg不為空,則說明驗證出表單錯誤,									
					form.forward();
					return;
				}
			}
		}

		String target = getTarget(request);

		// 如果用戶沒有指定請求轉發路徑,則指定default value
		if (target.equals(""))
		{
			target = configuration.getString("default.target");

			log.warn(
				"don't specify paramter $TARGER, use default.target:" + target);
			request.setAttribute(
				"$WARM",
				"don't specify paramter $TARGER, use default.target:" + target);
		}

		AbstractCommand command = getCommand(request);

		// 初始化命令類
		command.init(
			getServletContext(),
			getServletConfig(),
			request,
			response);

		// 設置當前命令的用戶請求轉發路徑
		command.setTarget(target);

		// 檢證命令類的執行權限
		if (command.isAuthentic())
		{
			// 執行真實的商業邏輯
			command.process();
		}

		// 轉發請求到用戶指定路徑
		command.forward();
	}

	/**
	 * @param request
	 * @return
	 */
	protected boolean isValidate(HttpServletRequest request)
	{
		boolean isValidate = false;

		String validate = request.getParameter("$VALIDATE");
		if (validate == null || validate.length() == 0)
		{
			isValidate = false;
		}
		else if (
			validate.length() > 0 && validate.toLowerCase().equals("true"))
		{
			isValidate = true;
		}
		else
		{
			isValidate = false;
		}

		return isValidate;
	}

	/**
	 * @param request
	 * @return
	 */
	protected AbstractForm getForm(HttpServletRequest request)
		throws ServletException
	{
		try
		{
			return (AbstractForm) getFormClass(request).newInstance();
		}
		catch (Exception e)
		{
			throw new ServletException(e);
		}
	}

	/**
	 * @param request
	 */
	protected Class getFormClass(HttpServletRequest request)
	{
		Class result = null;

		String cp = configuration.getString("form.package");
		String formClassName = cp + "." + request.getParameter("$FORM");

		try
		{
			result = Class.forName(formClassName);
		}
		catch (ClassNotFoundException e)
		{
			log.error(
				"class:"
					+ formClassName
					+ " not found, return UnKnownForm.class");
			result = UnknownForm.class;
		}

		return result;
	}

	/**
	 * @param request
	 * @return
	 */
	protected String getInput(HttpServletRequest request)
	{
		String input = request.getParameter("$INPUT");
		if (input == null || input.length() == 0)
		{
			return "";
		}
		else
		{
			return input;
		}
	}

	/**
	 * 得到用戶指定的請求轉發路徑
	 * @param request
	 * @return 
	 */
	protected String getTarget(HttpServletRequest request)
	{
		String target = request.getParameter("$TARGET");
		if (target == null || target.length() == 0)
		{
			return "";
		}
		else
		{
			return target;
		}

	}

	/**
	 * 根據用戶請求中的Command參數所設置的處理程序全類名得到請求處理程序實例
	 * @param req
	 * @return
	 */
	protected AbstractCommand getCommand(HttpServletRequest request)
		throws ServletException
	{
		try
		{
			return (AbstractCommand) getCommandClass(request).newInstance();
		}
		catch (Exception e)
		{
			throw new ServletException(e);
		}
	}

	/**
	 * 通過類名串值到得類對象
	 * @param req
	 */
	protected Class getCommandClass(HttpServletRequest request)
	{
		Class result = null;

		String cp = configuration.getString("command.package");
		String commandClassName = cp + "." + request.getParameter("$COMMAND");

		try
		{
			result = Class.forName(commandClassName);
		}
		catch (ClassNotFoundException e)
		{
			log.error(
				"class:"
					+ commandClassName
					+ " not found, return UnknownCommand.class");
			result = UnknownCommand.class;
		}

		return result;
	}

	/**
	 * 得到當前請求的后綴
	 * @param request
	 * @return
	 */
	public static String getRequestPostfix(HttpServletRequest request)
	{
		String uri = request.getRequestURI();
		int index = uri.lastIndexOf('.');
		String postfix = uri.substring(index);
		return postfix;
	}

	/**
	 * 根據用戶請求中的URI得到頁面處理程序實例
	 * @param req
	 * @return
	 */
	protected AbstractPage getPage(HttpServletRequest request)
		throws ServletException
	{
		try
		{
			return (AbstractPage) getPageClass(request).newInstance();
		}
		catch (Exception e)
		{
			throw new ServletException(e);
		}
	}

	/**
	 * 通過類名串值到得類對象
	 * @param req
	 */
	protected Class getPageClass(HttpServletRequest request)
	{
		Class result = null;
	
		String cp = configuration.getString("page.package");
	
		String pageName = getPageName(request);
		String pageClassName = cp + "." + pageName;
	
		try
		{
			result = Class.forName(pageClassName);
		}
		catch (ClassNotFoundException e)
		{
			log.info(
				"class:"
					+ pageClassName
					+ " not found, return UnknownPage.class");
			result = UnknownPage.class;
		}
	
		return result;
	}

	/**
	 * @param request
	 * @return
	 */
	protected String getPageName(HttpServletRequest request)
	{
		String uri = request.getRequestURI();
		if (uri == null || uri.length() == 0)
		{
			return null;
		}

		if (uri.startsWith("/") && uri.length() > 1)
		{
			uri = uri.substring(1, uri.length());
		}

		// 得到在配置文件中指定的需要執行頁面處理程序的頁面的后綴名
		String postfix = configuration.getString("page.postfix");

		if (uri.endsWith(postfix) && uri.length() > postfix.length())
		{
			uri = uri.substring(0, uri.length() - postfix.length());
		}

		// 將/替換成.,以完成請求路徑到包路徑的轉換
		uri = uri.replaceAll("/", ".");

		return uri;
	}
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
极品少妇xxxx偷拍精品少妇| 亚洲综合一区二区| 国内精品嫩模私拍在线| 日韩美女在线视频| 国产原创一区二区三区| 国产视频911| 波多野结衣中文字幕一区二区三区| 国产精品毛片大码女人 | 成人在线视频一区二区| 中文字幕一区二区在线播放| av在线一区二区| 亚洲国产成人91porn| 日韩欧美国产午夜精品| 国产一区二区毛片| 国产精品久久久久久久久免费桃花| 99re在线精品| 亚洲高清一区二区三区| 欧美不卡激情三级在线观看| 国产黄色91视频| 亚洲六月丁香色婷婷综合久久 | 精品国产一区二区三区久久久蜜月 | 日本少妇一区二区| 久久九九久精品国产免费直播| 9色porny自拍视频一区二区| 亚洲第一av色| 国产亚洲欧美色| 在线观看视频一区| 韩国av一区二区| 亚洲最快最全在线视频| 精品国产网站在线观看| 日本道色综合久久| 久久91精品国产91久久小草| 亚洲欧洲精品天堂一级| 日韩一区二区电影网| 成人免费视频app| 五月激情综合婷婷| 国产精品欧美综合在线| 欧美一区二区三区视频在线 | 精彩视频一区二区| 亚洲精品五月天| 久久人人超碰精品| 欧美巨大另类极品videosbest| 国产一区二区三区黄视频 | 国产高清精品在线| 天堂久久一区二区三区| 国产精品久久久一本精品 | 国产精品乱人伦| 日韩免费一区二区三区在线播放| 99久久精品国产观看| 久久成人精品无人区| 一区二区三区欧美视频| 国产精品不卡在线观看| 欧美精品一区二区蜜臀亚洲| 欧美猛男男办公室激情| 色婷婷综合久色| 丁香五精品蜜臀久久久久99网站| 麻豆成人91精品二区三区| 亚洲精品中文字幕乱码三区| 国产精品女同一区二区三区| 亚洲精品在线观看视频| 日韩视频免费观看高清在线视频| 欧美性色欧美a在线播放| 99精品久久久久久| 白白色亚洲国产精品| 国产精品66部| 国产精品一二三| 国产麻豆成人传媒免费观看| 奇米色一区二区三区四区| 五月天一区二区三区| 午夜视频在线观看一区二区| 亚洲精品中文在线| 一区二区久久久久| 一区二区三区在线观看国产| 亚洲精品五月天| 一区二区三区在线高清| 亚洲一区免费在线观看| 亚洲国产精品一区二区尤物区| 亚洲福利电影网| 五月激情综合网| 美脚の诱脚舐め脚责91| 极品少妇一区二区三区精品视频| 久久av老司机精品网站导航| 狠狠色2019综合网| 国产福利电影一区二区三区| 高清av一区二区| 99久久免费视频.com| 在线欧美小视频| 欧美日韩mp4| 日韩欧美国产三级电影视频| 久久久久久99久久久精品网站| 国产午夜精品一区二区| 国产精品久久久久久户外露出 | 一区二区免费视频| 午夜久久久久久久久| 久久aⅴ国产欧美74aaa| 国产成人在线观看| 91碰在线视频| 欧美日韩视频不卡| 精品国产免费久久| 国产精品伦理一区二区| 亚洲成人中文在线| 免费成人结看片| 懂色一区二区三区免费观看| 一道本成人在线| 欧美一卡二卡三卡| 日本一区二区久久| 亚洲国产精品久久久久婷婷884| 免费成人在线网站| 99精品视频免费在线观看| 欧美久久久一区| 国产人成一区二区三区影院| 亚洲综合视频在线观看| 裸体一区二区三区| 97久久久精品综合88久久| 欧美人体做爰大胆视频| 国产欧美视频一区二区三区| 亚洲与欧洲av电影| 国产毛片精品一区| 在线视频中文字幕一区二区| 精品国产一区二区国模嫣然| ●精品国产综合乱码久久久久| 丝袜美腿亚洲一区二区图片| 菠萝蜜视频在线观看一区| 欧美一区二区三区四区视频| 亚洲欧美日韩电影| 国产麻豆精品久久一二三| 欧美日韩aaa| 中文字幕精品一区二区精品绿巨人| 亚洲一区二三区| 国产精品系列在线播放| 91精选在线观看| 国产精品乱人伦中文| 美女一区二区三区在线观看| 日本电影欧美片| 欧美激情在线一区二区| 美女一区二区视频| 欧美色图天堂网| 国产精品伦理在线| 国内精品写真在线观看| 欧美一区二区三区不卡| 一区二区三区资源| 成人一区在线看| 久久天天做天天爱综合色| 天天综合色天天综合色h| 色老汉av一区二区三区| 欧美国产在线观看| 国产乱色国产精品免费视频| 日韩亚洲欧美一区| 天堂成人免费av电影一区| 欧美三级日韩在线| 一区二区三区在线观看视频| 91在线观看地址| 亚洲国产精品99久久久久久久久| 精品在线免费观看| 欧美一区二区日韩一区二区| 午夜精品一区在线观看| 欧美三区在线视频| 亚洲一区二区综合| 欧美性大战xxxxx久久久| 亚洲男人天堂av网| 色婷婷综合久久| 一区二区在线观看免费视频播放| av资源网一区| 亚洲日本在线观看| 91啪九色porn原创视频在线观看| 国产精品福利一区| 91在线你懂得| 亚洲少妇30p| 在线免费不卡视频| 亚洲风情在线资源站| 欧美日韩视频不卡| 午夜国产精品一区| 欧美精品丝袜中出| 免费人成在线不卡| 欧美大片一区二区| 国产美女在线精品| 国产精品乱码人人做人人爱| 99久久久国产精品| 亚洲午夜三级在线| 7777精品久久久大香线蕉| 日本午夜一本久久久综合| 欧美xxx久久| 成人综合激情网| 亚洲激情图片小说视频| 欧美视频在线观看一区| 免费xxxx性欧美18vr| 久久久久久97三级| 91亚洲精华国产精华精华液| 亚洲自拍另类综合| 欧美群妇大交群的观看方式| 日本va欧美va精品发布| 久久久欧美精品sm网站| 91老师片黄在线观看| 五月综合激情网| 久久亚洲综合色一区二区三区 | 欧美性猛片aaaaaaa做受| 人人超碰91尤物精品国产| 国产三级欧美三级| 色婷婷综合久色| 久久爱另类一区二区小说|