美文网首页
Servlet学习:Servlet部分优化

Servlet学习:Servlet部分优化

作者: lanmoyingsheng | 来源:发表于2019-02-22 14:23 被阅读3次

    将多个Servlet优化成一个,在基类的service方法中利用反射做转发。

    package com.heihei.servlet;
    
    import javax.servlet.ServletException;
    import javax.servlet.ServletRequest;
    import javax.servlet.ServletResponse;
    import javax.servlet.annotation.WebServlet;
    import javax.servlet.http.HttpServlet;
    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;
    import java.io.IOException;
    import java.lang.reflect.InvocationTargetException;
    import java.lang.reflect.Method;
    
    @WebServlet(name = "BaseServlet")
    public class BaseServlet extends HttpServlet {
    
        @Override
        public void service(ServletRequest req, ServletResponse resp) throws ServletException, IOException {
    
            HttpServletRequest request = (HttpServletRequest) req;
            HttpServletResponse response = (HttpServletResponse) resp;
    
            String method = request.getParameter("method");
    
            try {
    
                Method m = this.getClass().getDeclaredMethod(method, request.getClass(), response.getClass());
                m.invoke(this, request, response);
    
            } catch (NoSuchMethodException e) {
                e.printStackTrace();
            } catch (IllegalAccessException e) {
                e.printStackTrace();
            } catch (InvocationTargetException e) {
                e.printStackTrace();
            }
        }
    }
    
    

    当然也可以在本类的service中做转发,但是不如在一个地方坐统一处理,还有没有面向对象的思想。

    相关文章

      网友评论

          本文标题:Servlet学习:Servlet部分优化

          本文链接:https://www.haomeiwen.com/subject/askeyqtx.html