架构探险-第二章:为Web应用添加业务功能(8)-完善控制器层

一,前言

经过了之前的一系列重构,终于完成了服务层的完善
这一节继续对控制器层进行完善
有了完善后的服务层,控制器层直接调用服务层就好了,非常简单

二,完善控制器层

参照:
架构探险-第二章:为Web应用添加业务功能(1)-设计和代码框架

在创建代码框架时,根据需求创建了几个Servlet,并将其中的实现标记为TODO
以CustomerServlet为例:

@WebServlet("/customer")
public class CustomerServlet extends HttpServlet{

    @Override
    protected void doGet(HttpServletRequest req, HttpServletResponse resp)
            throws ServletException, IOException {
        // TODO
    }
}

当用户进入”客户列表”页面,将看到包含所有用户信息的列表

对CustomerServlet进行完善,持有CustomerService,通过服务层方法获取数据,放入请求属性

@WebServlet("/customer")
public class CustomerServlet extends HttpServlet{

    private CustomerService customerService;

    @Override
    public void init() throws ServletException {
        customerService = new CustomerService();
    }

    @Override
    protected void doGet(HttpServletRequest req, HttpServletResponse resp)
            throws ServletException, IOException {
        // 获取客户列表
        List<Customer> customerList = customerService.getCustomerList();
        // 放入请求属性
        req.setAttribute("customerList", customerList);
        // 重定向到customer.jsp
        req.getRequestDispatcher("/WEB-INF/view/customer.jsp").forward(req, resp);
    }
}

三,结尾

以CustomerServlet为例,对其进行完善,注入并调用了CustomerService,获取数据,传递给页面

下一节,以Customer.jsp为例,对视图层进行完善

猜你喜欢

转载自blog.csdn.net/abap_brave/article/details/80523572
今日推荐