servlet day5+
web项目的三层架构
为什么要分成三层架构?
可扩展性高:修改方便;
便于管理:每一层有每一层的作用。
web层:
- 接收客户端传来的参数
- 把参数封装成对象
- 把封装好的对象/数据传给service
- 根据service层的处理结果决定把那个页面返回给客户端
service层
需要定义接口
- 接收web层传过来的对象/数据(如果有的话)
- 根据这些信息进行业务逻辑处理
例如:完成一个登录功能,web层接收到用户名和密码之后,把数据传给service层,service层就要根据这些信息来判断用户名是否存在、密码是否正确、用户是否有权限、用户状态当前是否可用、用户是否推送信息、是否给用户相关提示等,这些都属于登录的业务逻辑处理 - service在处理业务逻辑的时候,常常需要和数据库交互,这时候就需要调用dao层的相关方法来完成
- service层根据dao层方法的返回结果,进一步的完成业务逻辑处理
- 业务逻辑处理完之后,要通过一定的方式把业务逻辑处理的结果返回给web层,以便让web层决定接下来该那个页面呈现给用户
dao层:和数据库交互,将数据持久化保存。
需要定义接口
- 接受service传的参数(如果有的话)
- 把交互结果返回给service层