美文网首页
使得一个 Servlet 能接收并处理多个请求

使得一个 Servlet 能接收并处理多个请求

作者: 灰气球 | 来源:发表于2017-08-24 10:09 被阅读0次

Servlet 的抽取

使得一个 servlet 能接收并处理多个请求

  1. 前端访问的时候, 在请求参数中添加 method 属性, 其中值是将要访问的方法
  2. 在 BaseServlet 中利用反射机制, 根据 method 的值, 调用对应的方法
public class BaseServlet extends HttpServlet {

    @Override
    protected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        
        req.setCharacterEncoding("UTF-8");
        
        try {
            //1、获得请求的method的名称
            String methodName = req.getParameter("method");
            //2、获得当前被访问的对象的字节码对象
            Class clazz = this.getClass();//ProductServlet.class ---- UserServlet.class
            //3、获得当前字节码对象的中的指定方法
            Method method = clazz.getMethod(methodName, HttpServletRequest.class,HttpServletResponse.class);
            //4、执行相应功能方法
            method.invoke(this, req,resp);
            
        } catch (Exception e) {
            e.printStackTrace();
        }
        
    }
}
  1. 抽取完成后, 业务 Servlet 的书写方式变成:

    1. 继承 BaseServlet
    2. 实现业务方法
    public class PrdocutServlet extends BaseServlet {
    
        //删除一个商品
        public void delProFromCart(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
            // 删除一个商品的逻辑
        }
    
        //根据商品的类别获得商品的列表
        public void productList(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
            // 逻辑代码
        }
    
    }
    

相关文章

  • 使得一个 Servlet 能接收并处理多个请求

    Servlet 的抽取 使得一个 servlet 能接收并处理多个请求 前端访问的时候, 在请求参数中添加 met...

  • Servlet类

    Servlet 是运行在Servlet 容器中的Java类,他能处理Web客户的HTTP请求,并产生HTTP响应 ...

  • JavaWeb开发之Servlet的线程安全问题

    为何Servlet会有线程安全问题 当容器收到一个请求之后,会启动一个线程来处理该请求,如果有多个请求到达容器,并...

  • 请求转发

    请求转发学习: 作用:实现多个servlet联动操作处理请求,这样避免代码冗余,让servlet的职责更加...

  • servlet

    servlet的作用:接收请求数据,处理请求,完成响应。 servlet的大多数方法不由我们调用,而是tomcat...

  • 4.1、异步servlet

    同步:接收到一个请求后,tomcat 容器提供一个线程,线程调用servlet。异步:请求异步处理后tomcat ...

  • 责任链模式

    概述 将请求的发送和接收解耦,让多个接收对象都有机会处理这个请求。将这些接收对象串成一条链,并沿着这条链传递这个请...

  • 《全栈工程师修炼指南》学习笔记 4

    Servlet 指的是服务端的一种 Java 组件,可以接收和处理来自浏览器的请求,并生成结果数据。 Jsp 即 ...

  • 责任链模式

    简介 为了避免请求的发送者和接收者之间的耦合关系,使多个接收对象都有机会处理请求,将这些对象连成一条链,并...

  • 设计模式之职责链模式

    职责链模式使得多个对象都有机会处理请求,将这些对象连成一条链,并沿着这条链传递该请求,直到有一个对象处理它为止。结...

网友评论

      本文标题:使得一个 Servlet 能接收并处理多个请求

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