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

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

?? actionservlet.java

?? MVC開源框架
?? JAVA
?? 第 1 頁 / 共 5 頁
字號:
     * @throws ServletException if we cannot configure ourselves correctly
     */
    public void init() throws ServletException {
        final String configPrefix = "config/";
        final int configPrefixLength = configPrefix.length() - 1;

        // Wraps the entire initialization in a try/catch to better handle
        // unexpected exceptions and errors to provide better feedback
        // to the developer
        try {
            initInternal();
            initOther();
            initServlet();
            initChain();

            getServletContext().setAttribute(Globals.ACTION_SERVLET_KEY, this);
            initModuleConfigFactory();

            // Initialize modules as needed
            ModuleConfig moduleConfig = initModuleConfig("", config);

            initModuleMessageResources(moduleConfig);
            initModulePlugIns(moduleConfig);
            initModuleFormBeans(moduleConfig);
            initModuleForwards(moduleConfig);
            initModuleExceptionConfigs(moduleConfig);
            initModuleActions(moduleConfig);
            moduleConfig.freeze();

            Enumeration names = getServletConfig().getInitParameterNames();

            while (names.hasMoreElements()) {
                String name = (String) names.nextElement();

                if (!name.startsWith(configPrefix)) {
                    continue;
                }

                String prefix = name.substring(configPrefixLength);

                moduleConfig =
                    initModuleConfig(prefix,
                        getServletConfig().getInitParameter(name));
                initModuleMessageResources(moduleConfig);
                initModulePlugIns(moduleConfig);
                initModuleFormBeans(moduleConfig);
                initModuleForwards(moduleConfig);
                initModuleExceptionConfigs(moduleConfig);
                initModuleActions(moduleConfig);
                moduleConfig.freeze();
            }

            this.initModulePrefixes(this.getServletContext());

            this.destroyConfigDigester();
        } catch (UnavailableException ex) {
            throw ex;
        } catch (Throwable t) {
            // The follow error message is not retrieved from internal message
            // resources as they may not have been able to have been
            // initialized
            log.error("Unable to initialize Struts ActionServlet due to an "
                + "unexpected exception or error thrown, so marking the "
                + "servlet as unavailable.  Most likely, this is due to an "
                + "incorrect or missing library dependency.", t);
            throw new UnavailableException(t.getMessage());
        }
    }

    /**
     * <p>Saves a String[] of module prefixes in the ServletContext under
     * Globals.MODULE_PREFIXES_KEY.  <strong>NOTE</strong> - the "" prefix for
     * the default module is not included in this list.</p>
     *
     * @param context The servlet context.
     * @since Struts 1.2
     */
    protected void initModulePrefixes(ServletContext context) {
        ArrayList prefixList = new ArrayList();

        Enumeration names = context.getAttributeNames();

        while (names.hasMoreElements()) {
            String name = (String) names.nextElement();

            if (!name.startsWith(Globals.MODULE_KEY)) {
                continue;
            }

            String prefix = name.substring(Globals.MODULE_KEY.length());

            if (prefix.length() > 0) {
                prefixList.add(prefix);
            }
        }

        String[] prefixes =
            (String[]) prefixList.toArray(new String[prefixList.size()]);

        context.setAttribute(Globals.MODULE_PREFIXES_KEY, prefixes);
    }

    /**
     * <p>Process an HTTP "GET" request.</p>
     *
     * @param request  The servlet request we are processing
     * @param response The servlet response we are creating
     * @throws IOException      if an input/output error occurs
     * @throws ServletException if a servlet exception occurs
     */
    public void doGet(HttpServletRequest request, HttpServletResponse response)
        throws IOException, ServletException {
        process(request, response);
    }

    /**
     * <p>Process an HTTP "POST" request.</p>
     *
     * @param request  The servlet request we are processing
     * @param response The servlet response we are creating
     * @throws IOException      if an input/output error occurs
     * @throws ServletException if a servlet exception occurs
     */
    public void doPost(HttpServletRequest request, HttpServletResponse response)
        throws IOException, ServletException {
        process(request, response);
    }

    // --------------------------------------------------------- Public Methods

    /**
     * <p>Remember a servlet mapping from our web application deployment
     * descriptor, if it is for this servlet.</p>
     *
     * @param servletName The name of the servlet being mapped
     * @param urlPattern  The URL pattern to which this servlet is mapped
     */
    public void addServletMapping(String servletName, String urlPattern) {
        if (servletName == null) {
            return;
        }

        if (servletName.equals(this.servletName)) {
            if (log.isDebugEnabled()) {
                log.debug("Process servletName=" + servletName
                    + ", urlPattern=" + urlPattern);
            }

            this.servletMapping = urlPattern;
        }
    }

    /**
     * <p>Return the <code>MessageResources</code> instance containing our
     * internal message strings.</p>
     *
     * @return the <code>MessageResources</code> instance containing our
     *         internal message strings.
     * @since Struts 1.1
     */
    public MessageResources getInternal() {
        return (this.internal);
    }

    // ------------------------------------------------------ Protected Methods

    /**
     * <p>Gracefully terminate use of any modules associated with this
     * application (if any).</p>
     *
     * @since Struts 1.1
     */
    protected void destroyModules() {
        ArrayList values = new ArrayList();
        Enumeration names = getServletContext().getAttributeNames();

        while (names.hasMoreElements()) {
            values.add(names.nextElement());
        }

        Iterator keys = values.iterator();

        while (keys.hasNext()) {
            String name = (String) keys.next();
            Object value = getServletContext().getAttribute(name);

            if (!(value instanceof ModuleConfig)) {
                continue;
            }

            ModuleConfig config = (ModuleConfig) value;

            if (this.getProcessorForModule(config) != null) {
                this.getProcessorForModule(config).destroy();
            }

            getServletContext().removeAttribute(name);

            PlugIn[] plugIns =
                (PlugIn[]) getServletContext().getAttribute(Globals.PLUG_INS_KEY
                    + config.getPrefix());

            if (plugIns != null) {
                for (int i = 0; i < plugIns.length; i++) {
                    int j = plugIns.length - (i + 1);

                    plugIns[j].destroy();
                }

                getServletContext().removeAttribute(Globals.PLUG_INS_KEY
                    + config.getPrefix());
            }
        }
    }

    /**
     * <p>Gracefully release any configDigester instance that we have created.
     * </p>
     *
     * @since Struts 1.1
     */
    protected void destroyConfigDigester() {
        configDigester = null;
    }

    /**
     * <p>Gracefully terminate use of the internal MessageResources.</p>
     */
    protected void destroyInternal() {
        internal = null;
    }

    /**
     * <p>Return the module configuration object for the currently selected
     * module.</p>
     *
     * @param request The servlet request we are processing
     * @return The module configuration object for the currently selected
     *         module.
     * @since Struts 1.1
     */
    protected ModuleConfig getModuleConfig(HttpServletRequest request) {
        ModuleConfig config =
            (ModuleConfig) request.getAttribute(Globals.MODULE_KEY);

        if (config == null) {
            config =
                (ModuleConfig) getServletContext().getAttribute(Globals.MODULE_KEY);
        }

        return (config);
    }

    /**
     * <p>Look up and return the {@link RequestProcessor} responsible for the
     * specified module, creating a new one if necessary.</p>
     *
     * @param config The module configuration for which to acquire and return
     *               a RequestProcessor.
     * @return The {@link RequestProcessor} responsible for the specified
     *         module,
     * @throws ServletException If we cannot instantiate a RequestProcessor
     *                          instance a {@link UnavailableException} is
     *                          thrown, meaning your application is not loaded
     *                          and will not be available.
     * @since Struts 1.1
     */
    protected synchronized RequestProcessor getRequestProcessor(
        ModuleConfig config) throws ServletException {
        RequestProcessor processor = this.getProcessorForModule(config);

        if (processor == null) {
            try {
                processor =
                    (RequestProcessor) RequestUtils.applicationInstance(config.getControllerConfig()
                                                                              .getProcessorClass());
            } catch (Exception e) {
                throw new UnavailableException(
                    "Cannot initialize RequestProcessor of class "
                    + config.getControllerConfig().getProcessorClass() + ": "
                    + e);
            }

            processor.init(this, config);

            String key = Globals.REQUEST_PROCESSOR_KEY + config.getPrefix();

            getServletContext().setAttribute(key, processor);
        }

        return (processor);
    }

    /**
     * <p>Returns the RequestProcessor for the given module or null if one
     * does not exist.  This method will not create a RequestProcessor.</p>
     *
     * @param config The ModuleConfig.
     * @return The <code>RequestProcessor</code> for the given module, or
     *         <code>null</code> if one does not exist.
     */
    private RequestProcessor getProcessorForModule(ModuleConfig config) {
        String key = Globals.REQUEST_PROCESSOR_KEY + config.getPrefix();

        return (RequestProcessor) getServletContext().getAttribute(key);
    }

    /**
     * <p>Initialize the factory used to create the module configuration.</p>
     *
     * @since Struts 1.2
     */
    protected void initModuleConfigFactory() {
        String configFactory =
            getServletConfig().getInitParameter("configFactory");

        if (configFactory != null) {
            ModuleConfigFactory.setFactoryClass(configFactory);
        }
    }

    /**
     * <p>Initialize the module configuration information for the specified
     * module.</p>
     *
     * @param prefix Module prefix for this module
     * @param paths  Comma-separated list of context-relative resource path(s)
     *               for this modules's configuration resource(s)
     * @return The new module configuration instance.
     * @throws ServletException if initialization cannot be performed
     * @since Struts 1.1
     */
    protected ModuleConfig initModuleConfig(String prefix, String paths)
        throws ServletException {
        if (log.isDebugEnabled()) {
            log.debug("Initializing module path '" + prefix
                + "' configuration from '" + paths + "'");
        }

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
午夜精品一区二区三区电影天堂| 国产精品美女久久久久aⅴ国产馆 国产精品美女久久久久av爽李琼 国产精品美女久久久久高潮 | 欧美日韩专区在线| 色综合一个色综合亚洲| 91亚洲精品久久久蜜桃网站| 国产成a人亚洲精| 亚洲r级在线视频| 性做久久久久久| 一区二区三区美女视频| 91.麻豆视频| 久久综合色鬼综合色| 水野朝阳av一区二区三区| av午夜一区麻豆| 国产午夜精品久久| 六月丁香综合在线视频| 欧美精品亚洲一区二区在线播放| 亚洲国产精品av| 国产高清视频一区| 精品国产乱码久久久久久老虎| 亚洲一区二区三区自拍| 色综合色狠狠天天综合色| 欧美国产欧美综合| 国产成人8x视频一区二区| 久久综合av免费| 精品亚洲成av人在线观看| 在线播放中文字幕一区| 亚洲第一成年网| 欧美日产在线观看| 亚洲va韩国va欧美va| 欧美日韩成人综合在线一区二区| 亚洲卡通动漫在线| 色狠狠一区二区三区香蕉| 亚洲四区在线观看| 99久久国产综合色|国产精品| 欧美韩国日本不卡| av网站一区二区三区| 亚洲视频免费观看| 色综合久久中文综合久久牛| 亚洲欧美激情在线| 91成人在线观看喷潮| 一区二区激情视频| 欧美体内she精视频| 五月婷婷激情综合网| 91精品国产黑色紧身裤美女| 久久精品国产一区二区三区免费看| 日韩午夜激情av| 国产最新精品精品你懂的| 久久这里只有精品6| 高清av一区二区| 亚洲色图另类专区| 欧美日韩精品一区视频| 日本亚洲最大的色成网站www| 欧美成人一区二区三区在线观看| 国内精品第一页| 国产精品电影院| 欧美日韩一二区| 加勒比av一区二区| 国产精品久久久久久久久搜平片| 日本韩国一区二区三区视频| 五月激情综合网| 精品噜噜噜噜久久久久久久久试看| 国产精品亚洲综合一区在线观看| 国产精品进线69影院| 欧美军同video69gay| 精品在线一区二区三区| 国产精品久久久久久久裸模| 欧美日韩高清在线播放| 国产一区二区看久久| 亚洲国产va精品久久久不卡综合| 欧美成人综合网站| 色综合色综合色综合色综合色综合| 午夜精品久久久久久久久久久 | 激情综合色播五月| 亚洲少妇最新在线视频| 日韩一级大片在线观看| 成人av手机在线观看| 亚洲电影视频在线| 国产精品色噜噜| 日韩女优av电影在线观看| www.日韩大片| 精品一二三四在线| 亚洲国产精品天堂| 国产精品久久久久国产精品日日| 91精品国产91久久久久久最新毛片 | 国产乱子伦视频一区二区三区 | av在线综合网| 久久精品国产一区二区三区免费看 | 亚洲最快最全在线视频| 久久一夜天堂av一区二区三区 | 91麻豆精品国产91| 色噜噜狠狠色综合中国| 国产一区二区久久| 日本三级韩国三级欧美三级| 亚洲人成小说网站色在线| 国产亚洲一区二区三区在线观看| 欧美一区二区三区四区在线观看 | 狠狠色丁香婷婷综合| 一区二区三区成人| 亚洲欧洲在线观看av| 久久婷婷久久一区二区三区| 91精品国产高清一区二区三区蜜臀 | 成人一区二区视频| 韩国理伦片一区二区三区在线播放| 亚洲成在线观看| 亚洲最大色网站| 一区二区三区四区不卡在线| 国产精品国产三级国产三级人妇| 精品成a人在线观看| 欧美一区日韩一区| 欧美日韩aaaaaa| 欧美高清视频www夜色资源网| 色狠狠av一区二区三区| 日本丶国产丶欧美色综合| a美女胸又www黄视频久久| 成人丝袜18视频在线观看| 成人免费毛片嘿嘿连载视频| 国产酒店精品激情| 风间由美一区二区av101| 成人免费不卡视频| 成人av免费网站| 色94色欧美sute亚洲13| 欧美无砖砖区免费| 欧美日韩精品系列| 欧美一区二区久久久| 精品福利二区三区| 国产欧美一区二区精品久导航| 欧美韩国日本不卡| 亚洲色图色小说| 一区二区三区.www| 日韩电影在线观看电影| 男人的天堂亚洲一区| 国产精品一线二线三线精华| 国产一本一道久久香蕉| 懂色av一区二区三区蜜臀 | 久久精品国产亚洲aⅴ| 老司机精品视频导航| 国产成人在线视频播放| 色综合天天狠狠| 日韩一区二区免费在线观看| 久久嫩草精品久久久精品| 中文字幕在线不卡| 亚洲小少妇裸体bbw| 久久精品国产精品亚洲精品| 国产福利91精品| 91精品福利在线| 日韩视频在线永久播放| 国产女主播一区| 亚洲成人高清在线| 国产在线一区二区| 色综合久久久网| 精品国产污污免费网站入口 | 午夜精品久久久久久久99樱桃| 日一区二区三区| 国产xxx精品视频大全| 欧美三级电影在线看| 久久综合狠狠综合久久激情| 亚洲精品视频在线看| 捆绑紧缚一区二区三区视频| 99久久er热在这里只有精品66| 91精选在线观看| 亚洲色图都市小说| 精品一区二区三区日韩| 91麻豆视频网站| 久久九九影视网| 首页亚洲欧美制服丝腿| jlzzjlzz欧美大全| 欧美成人免费网站| 亚洲自拍偷拍欧美| 国产精品一二一区| 欧美一区二区精品久久911| 1区2区3区国产精品| 国产伦精品一区二区三区免费 | 亚洲成av人片在www色猫咪| 国产精品亚洲第一| 91精品一区二区三区久久久久久| 欧美国产精品久久| 男女性色大片免费观看一区二区| 91在线你懂得| 欧美国产视频在线| 国内精品视频一区二区三区八戒| 欧美色涩在线第一页| 国产精品国产三级国产普通话99 | 国产激情偷乱视频一区二区三区| 欧美日韩国产一级片| 日韩毛片高清在线播放| 国产精品18久久久久久vr| 日韩一区二区高清| 午夜精品久久久久久久| 91美女在线观看| 日韩一区在线看| 成人黄色av网站在线| 欧美激情一区在线观看| 韩国欧美国产1区| 欧美精品一区视频| 精品综合久久久久久8888| 国产亲近乱来精品视频| 久久99久久久久久久久久久| 91精品国产综合久久久久久| 日韩精品国产精品| 91精品国产色综合久久不卡蜜臀|