JavaWeb知识总结--架构篇
JavaWeb 的架构图:
一个完整的过程:
1) 从客户端(一般是浏览器)发送一个请求 request ,请求分很多种,上图是一个登陆的请求,将用户名和密码发送到服务器。
2) 在服务器端一般分为三层:表现层,服务层,持久层;当请求发送到服务器端,先由表现层中的一个相对的 servlet 对象接收,并调用服务层的内容进行相应的处理,相对应的请求数据也会通过参数的形式传到服务层。
3) 表现层调用服务层是为了获取服务层中封装好的数据,在上图中表现层接收到请求,然后要判断请求中的数据也就是该用户是否存在,所以要调用服务层的封装好的用户数据;数据一般存放在数据库中,服务层就要调用持久层的内容,因为持久层是与数据库打交道的。
4) 持久层负责与数据库打交道,负责连接数据库(JDBC),对数据库增删改查;在上图的案例中服务层要封装数据,那就要从数据库中拿数据,所以要调用持久层的内容,查询请求中的用户和密码是否与数据库中的数据相同。如果数据库中有此用户而且密码相同,则将这些数据拿出来,封装成一个实体对象,通过服务层返回给表现层进行处理。
5) 在表现层判断用户是否登录成功,并作出相应的响应 response--跳转页面或者提示登录失败。
JavaEE 的三层结构:
表现层:
别称: web 层、controller层
作用:接收请求,调用服务层得到封装数据,进行处理,并作出响应。
服务层:
别称: service层
作用:接收表现层传来的请求数据,调用持久层获取数据库数据进行封装,并返回给表现层。
持久层:
别称:DAO层
作用:连接数据库,获得连接,根据服务层传来的数据,操作数据库,并返回数据。
Javabean:
别称:POJO,domain
作用:封装数据,一个类对应一张表,类的属性对应字段,属性有对应的 set 和 get 方法,一般还有 tostring() 方法。