一,前言
经过了之前的一系列重构,终于完成了服务层的完善
这一节继续对控制器层进行完善
有了完善后的服务层,控制器层直接调用服务层就好了,非常简单
二,完善控制器层
参照:
架构探险-第二章:为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为例,对视图层进行完善