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

📄 abstractgdataservlet.java

📁 一套java版本的搜索引擎源码
💻 JAVA
字号:
/**  * Copyright 2004 The Apache Software Foundation  *  * Licensed under the Apache License, Version 2.0 (the "License");  * you may not use this file except in compliance with the License.  * You may obtain a copy of the License at  *  *     http://www.apache.org/licenses/LICENSE-2.0  *  * Unless required by applicable law or agreed to in writing, software  * distributed under the License is distributed on an "AS IS" BASIS,  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.  * See the License for the specific language governing permissions and  * limitations under the License.  */  package org.apache.lucene.gdata.servlet;  import java.io.IOException;  import javax.servlet.ServletConfig;import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import org.apache.lucene.gdata.server.registry.ComponentType;import org.apache.lucene.gdata.server.registry.GDataServerRegistry;import org.apache.lucene.gdata.servlet.handler.RequestHandlerFactory; /**  *   * Provides an abstract class to be subclassed to create an GDATA servlet  * suitable for a GDATA serverside implementation.  *   * @see javax.servlet.http.HttpServlet  *   * @author Simon Willnauer  *   */ public abstract class AbstractGdataServlet extends HttpServlet {     private static final String METHOD_HEADER_NAME = "x-http-method-override";      private static final String METHOD_DELETE = "DELETE";      private static final String METHOD_GET = "GET";      private static final String METHOD_POST = "POST";      private static final String METHOD_PUT = "PUT";    protected static RequestHandlerFactory HANDLER_FACTORY = null;      /**      * This overwrites the protected <code>service</code> method to dispatch      * the request to the correponding <code>do</code> method. There is      * ususaly no need for overwriting this method. The GData protool and the      * Google GData API uses the <code>x-http-method-override</code> header to      * get through firewalls. The http method will be overritten by the      * <code>x-http-method-override</code> and dispatched to the      * <code>do</code><i>Xxx</i> methods defined in this class. This method      * is an GDATA-specific version of the {@link javax.servlet.Servlet#service}      * method.      *       * @see HttpServlet#service(javax.servlet.http.HttpServletRequest,      *      javax.servlet.http.HttpServletResponse)      */     @Override     protected void service(HttpServletRequest arg0, HttpServletResponse arg1)             throws ServletException, IOException {         if (arg0.getHeader(METHOD_HEADER_NAME) == null) {             super.service(arg0, arg1);             return;         }         overrideMethod(arg0, arg1);      }      private void overrideMethod(HttpServletRequest arg0,             HttpServletResponse arg1) throws ServletException, IOException {         final String method = arg0.getMethod();         final String overrideHeaderMethod = arg0.getHeader(METHOD_HEADER_NAME);         if (overrideHeaderMethod.equals(method)) {             super.service(arg0, arg1);             return;         }         // These methodes are use by GDATA Client APIs         if (overrideHeaderMethod.equals(METHOD_DELETE)) {             doDelete(arg0, arg1);         } else if (overrideHeaderMethod.equals(METHOD_GET)) {             doGet(arg0, arg1);         } else if (overrideHeaderMethod.equals(METHOD_POST)) {             doPost(arg0, arg1);         } else if (overrideHeaderMethod.equals(METHOD_PUT)) {             doPut(arg0, arg1);         } else {             // if another method has been overwritten follow the HttpServlet             // implementation             super.service(arg0, arg1);         }      }    /**     *      * @see javax.servlet.GenericServlet#init(javax.servlet.ServletConfig)     */    public void init(ServletConfig arg0) throws ServletException {        HANDLER_FACTORY = GDataServerRegistry.getRegistry().lookup(RequestHandlerFactory.class,ComponentType.REQUESTHANDLERFACTORY);        if(HANDLER_FACTORY == null)            throw new ServletException("service not available");            }  } 

⌨️ 快捷键说明

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