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

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

?? contextloaderplugin.java

?? spring framework 2.5.4源代碼
?? JAVA
?? 第 1 頁 / 共 2 頁
字號:
	 */
	public void setContextConfigLocation(String contextConfigLocation) {
		this.contextConfigLocation = contextConfigLocation;
	}

	/**
	 * Return the explicit context config location, if any.
	 */
	public String getContextConfigLocation() {
		return this.contextConfigLocation;
	}


	/**
	 * Create the ActionServlet's WebApplicationContext.
	 */
	public final void init(ActionServlet actionServlet, ModuleConfig moduleConfig) throws ServletException {
		long startTime = System.currentTimeMillis();
		if (logger.isInfoEnabled()) {
			logger.info("ContextLoaderPlugIn for Struts ActionServlet '" + actionServlet.getServletName() +
					", module '" + moduleConfig.getPrefix() + "': initialization started");
		}

		this.actionServlet = actionServlet;
		this.moduleConfig = moduleConfig;
		try {
			this.webApplicationContext = initWebApplicationContext();
			onInit();
		}
		catch (RuntimeException ex) {
			logger.error("Context initialization failed", ex);
			throw ex;
		}

		if (logger.isInfoEnabled()) {
			long elapsedTime = System.currentTimeMillis() - startTime;
			logger.info("ContextLoaderPlugIn for Struts ActionServlet '" + actionServlet.getServletName() +
					"', module '" + moduleConfig.getPrefix() + "': initialization completed in " + elapsedTime + " ms");
		}
	}

	/**
	 * Return the Struts ActionServlet that this PlugIn is associated with.
	 */
	public final ActionServlet getActionServlet() {
		return actionServlet;
	}

	/**
	 * Return the name of the ActionServlet that this PlugIn is associated with.
	 */
	public final String getServletName() {
		return this.actionServlet.getServletName();
	}

	/**
	 * Return the ServletContext that this PlugIn is associated with.
	 */
	public final ServletContext getServletContext() {
		return this.actionServlet.getServletContext();
	}

	/**
	 * Return the Struts ModuleConfig that this PlugIn is associated with.
	 */
	public final ModuleConfig getModuleConfig() {
		return this.moduleConfig;
	}

	/**
	 * Return the prefix of the ModuleConfig that this PlugIn is associated with.
	 * @see org.apache.struts.config.ModuleConfig#getPrefix
	 */
	public final String getModulePrefix() {
		return this.moduleConfig.getPrefix();
	}

	/**
	 * Initialize and publish the WebApplicationContext for the ActionServlet.
	 * <p>Delegates to {@link #createWebApplicationContext} for actual creation.
	 * <p>Can be overridden in subclasses. Call <code>getActionServlet()</code>
	 * and/or <code>getModuleConfig()</code> to access the Struts configuration
	 * that this PlugIn is associated with.
	 * @throws org.springframework.beans.BeansException if the context couldn't be initialized
	 * @throws IllegalStateException if there is already a context for the Struts ActionServlet
	 * @see #getActionServlet()
	 * @see #getServletName()
	 * @see #getServletContext()
	 * @see #getModuleConfig()
	 * @see #getModulePrefix()
	 */
	protected WebApplicationContext initWebApplicationContext() throws BeansException, IllegalStateException {
		getServletContext().log("Initializing WebApplicationContext for Struts ActionServlet '" +
				getServletName() + "', module '" + getModulePrefix() + "'");
		WebApplicationContext parent = WebApplicationContextUtils.getWebApplicationContext(getServletContext());

		WebApplicationContext wac = createWebApplicationContext(parent);
		if (logger.isInfoEnabled()) {
			logger.info("Using context class '" + wac.getClass().getName() + "' for servlet '" + getServletName() + "'");
		}

		// Publish the context as a servlet context attribute.
		String attrName = getServletContextAttributeName();
		getServletContext().setAttribute(attrName, wac);
		if (logger.isDebugEnabled()) {
			logger.debug("Published WebApplicationContext of Struts ActionServlet '" + getServletName() +
					"', module '" + getModulePrefix() + "' as ServletContext attribute with name [" + attrName + "]");
		}
		
		return wac;
	}

	/**
	 * Instantiate the WebApplicationContext for the ActionServlet, either a default
	 * XmlWebApplicationContext or a custom context class if set.
	 * <p>This implementation expects custom contexts to implement ConfigurableWebApplicationContext.
	 * Can be overridden in subclasses.
	 * @throws org.springframework.beans.BeansException if the context couldn't be initialized
	 * @see #setContextClass
	 * @see org.springframework.web.context.support.XmlWebApplicationContext
	 */
	protected WebApplicationContext createWebApplicationContext(WebApplicationContext parent)
			throws BeansException {

		if (logger.isDebugEnabled()) {
			logger.debug("ContextLoaderPlugIn for Struts ActionServlet '" + getServletName() +
					"', module '" + getModulePrefix() + "' will try to create custom WebApplicationContext " +
					"context of class '" + getContextClass().getName() + "', using parent context [" + parent + "]");
		}
		if (!ConfigurableWebApplicationContext.class.isAssignableFrom(getContextClass())) {
			throw new ApplicationContextException(
					"Fatal initialization error in ContextLoaderPlugIn for Struts ActionServlet '" + getServletName() +
					"', module '" + getModulePrefix() + "': custom WebApplicationContext class [" +
					getContextClass().getName() + "] is not of type ConfigurableWebApplicationContext");
		}

		ConfigurableWebApplicationContext wac =
				(ConfigurableWebApplicationContext) BeanUtils.instantiateClass(getContextClass());
		wac.setParent(parent);
		wac.setServletContext(getServletContext());
		wac.setNamespace(getNamespace());
		if (getContextConfigLocation() != null) {
			wac.setConfigLocations(
			    StringUtils.tokenizeToStringArray(
							getContextConfigLocation(), ConfigurableWebApplicationContext.CONFIG_LOCATION_DELIMITERS));
		}
		wac.addBeanFactoryPostProcessor(
				new BeanFactoryPostProcessor() {
					public void postProcessBeanFactory(ConfigurableListableBeanFactory beanFactory) {
						beanFactory.addBeanPostProcessor(new ActionServletAwareProcessor(getActionServlet()));
						beanFactory.ignoreDependencyType(ActionServlet.class);
					}
				}
		);

		wac.refresh();
		return wac;
	}

	/**
	 * Return the ServletContext attribute name for this PlugIn's WebApplicationContext.
	 * <p>The default implementation returns SERVLET_CONTEXT_PREFIX + module prefix.
	 * @see #SERVLET_CONTEXT_PREFIX
	 * @see #getModulePrefix()
	 */
	public String getServletContextAttributeName() {
		return SERVLET_CONTEXT_PREFIX + getModulePrefix();
	}

	/**
	 * Return this PlugIn's WebApplicationContext.
	 */
	public final WebApplicationContext getWebApplicationContext() {
		return webApplicationContext;
	}

	/**
	 * Callback for custom initialization after the context has been set up.
	 * @throws ServletException if initialization failed
	 */
	protected void onInit() throws ServletException {
	}


	/**
	 * Close the WebApplicationContext of the ActionServlet.
	 * @see org.springframework.context.ConfigurableApplicationContext#close()
	 */
	public void destroy() {
		getServletContext().log("Closing WebApplicationContext of Struts ActionServlet '" +
				getServletName() + "', module '" + getModulePrefix() + "'");
		if (getWebApplicationContext() instanceof ConfigurableApplicationContext) {
			((ConfigurableApplicationContext) getWebApplicationContext()).close();
		}
	}

}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲欧洲av在线| 国产精品视频线看| 日韩精品成人一区二区三区| 精品视频1区2区| 视频一区二区三区入口| 91精品福利在线一区二区三区| 开心九九激情九九欧美日韩精美视频电影| 日韩限制级电影在线观看| 精品综合免费视频观看| 久久九九久精品国产免费直播| aa级大片欧美| 天天爽夜夜爽夜夜爽精品视频| 精品奇米国产一区二区三区| 成人在线视频一区| 亚洲高清一区二区三区| 日韩女同互慰一区二区| 国产999精品久久久久久| 综合激情成人伊人| 欧美一区二区免费视频| 粉嫩一区二区三区性色av| 亚洲精选在线视频| 欧美一级黄色大片| 成人福利在线看| 亚洲高清视频在线| 国产夜色精品一区二区av| 91福利视频网站| 国产综合成人久久大片91| 亚洲精品国产第一综合99久久| 日韩视频一区二区| 色婷婷综合久久久中文字幕| 青青草视频一区| 亚洲视频小说图片| 欧美va日韩va| 在线观看亚洲精品| 国产精品99久久久| 亚洲成人动漫在线观看| 国产精品久久久爽爽爽麻豆色哟哟 | 欧美日本高清视频在线观看| 国产一区二区毛片| 午夜精品久久久久久久久久| 国产视频一区在线观看| 这里只有精品99re| 色综合中文字幕国产 | 精品福利av导航| 色婷婷国产精品| 国产精品18久久久久| 日韩影院精彩在线| 亚洲午夜精品17c| 亚洲色图视频免费播放| 久久久久成人黄色影片| 在线不卡免费欧美| 欧日韩精品视频| 91免费观看在线| 成人午夜视频福利| 国产美女视频一区| 久久成人免费网| 视频在线观看91| 香蕉久久夜色精品国产使用方法| 国产精品免费视频一区| 国产亚洲一区二区三区| 欧美v亚洲v综合ⅴ国产v| 欧美一区二区三区在线电影| 在线观看不卡视频| 色婷婷激情久久| 色综合久久久网| 99re6这里只有精品视频在线观看| 国产在线视频精品一区| 极品尤物av久久免费看| 美国欧美日韩国产在线播放| 石原莉奈在线亚洲三区| 午夜欧美2019年伦理| 亚洲一卡二卡三卡四卡无卡久久 | 久久久久国产精品厨房| 精品免费99久久| 精品国产一区二区三区久久久蜜月| 91麻豆精品国产91久久久久久久久 | 91精品国产一区二区| 欧美日韩aaaaa| 欧美日韩国产免费一区二区| 欧美精品久久久久久久多人混战 | 国产91精品精华液一区二区三区| 美女网站色91| 精品一区二区三区av| 韩国成人福利片在线播放| 国产麻豆欧美日韩一区| 国产高清久久久久| 成人黄色大片在线观看| 色婷婷精品久久二区二区蜜臀av| 91搞黄在线观看| 69堂国产成人免费视频| 精品国产乱子伦一区| 国产欧美日韩视频在线观看| 国产精品拍天天在线| 中文字幕亚洲一区二区av在线| 椎名由奈av一区二区三区| 夜夜嗨av一区二区三区网页| 三级在线观看一区二区| 国产一区二区免费看| 99re成人精品视频| 337p亚洲精品色噜噜噜| 久久久久9999亚洲精品| 自拍偷拍国产亚洲| 男女激情视频一区| 成人黄色在线视频| 欧美疯狂性受xxxxx喷水图片| 欧美精品一区二区三区高清aⅴ| 国产精品色婷婷久久58| 亚洲福利一二三区| 国产美女一区二区三区| 91久久精品一区二区三区| 日韩女优制服丝袜电影| 国产精品超碰97尤物18| 国产一区二区三区久久悠悠色av| 国产成人免费av在线| 欧美视频一区在线观看| 久久久久国产免费免费| 一区二区三区在线观看网站| 激情五月婷婷综合网| 色先锋aa成人| 久久精品综合网| 石原莉奈在线亚洲三区| 成人动漫一区二区三区| 91麻豆精品91久久久久久清纯| 欧美激情艳妇裸体舞| 视频一区二区三区在线| 成人av网在线| 欧美另类变人与禽xxxxx| 亚洲国产电影在线观看| 亚洲午夜精品在线| 成人av免费在线| 日韩视频国产视频| 一个色综合网站| 成人污视频在线观看| 欧美肥妇bbw| 亚洲一区自拍偷拍| 成人高清伦理免费影院在线观看| 日韩欧美另类在线| 亚洲国产va精品久久久不卡综合| 国产成人精品三级麻豆| 日韩欧美资源站| 亚洲成av人影院| 色系网站成人免费| 亚洲欧洲三级电影| 国产精品一二二区| 精品国产一区二区三区不卡| 日日摸夜夜添夜夜添精品视频| 99精品欧美一区| 国产精品女同一区二区三区| 精品一区二区三区久久久| 国产欧美日韩在线视频| 狠狠色狠狠色合久久伊人| 日韩午夜小视频| 视频一区二区欧美| 欧美三级日韩三级| 亚洲成人动漫精品| 欧美日韩一本到| 一级中文字幕一区二区| 91麻豆精品在线观看| 亚洲欧美一区二区不卡| 成人a区在线观看| 中文字幕人成不卡一区| 99久久久免费精品国产一区二区| 国产精品激情偷乱一区二区∴| 国产成人8x视频一区二区| 国产亚洲美州欧州综合国| 国产乱码精品一区二区三区忘忧草 | 欧美伦理视频网站| 午夜不卡av在线| 欧美丰满高潮xxxx喷水动漫| 日韩精品一级中文字幕精品视频免费观看 | 色综合久久中文综合久久97| 一区精品在线播放| 色综合夜色一区| 一区二区三区在线视频播放| 日本高清视频一区二区| 亚洲一区在线观看视频| 欧美日韩高清一区二区| 亚洲成人av一区二区三区| 6080午夜不卡| 国产又粗又猛又爽又黄91精品| 国产欧美日韩视频一区二区| 99久久久久久| 亚洲成a人在线观看| 欧美一级专区免费大片| 激情另类小说区图片区视频区| 久久久精品一品道一区| 本田岬高潮一区二区三区| 一区二区三区日韩欧美| 51精品久久久久久久蜜臀| 韩国理伦片一区二区三区在线播放 | 91蝌蚪国产九色| 亚洲第一二三四区| 精品国产电影一区二区| av在线播放不卡| 午夜伦理一区二区| 久久综合九色综合欧美亚洲| 91在线码无精品| 视频一区中文字幕| 国产日韩欧美精品一区| 欧美优质美女网站|