业务逻辑层是可以拆分的,比如一次删除可在数据访问层分为查、删
与MVC设计模式目标一致:都是为了解耦合、提高代码的复用率:
区别:两者对项目的理解的角度不同
三层表示:
表示层(USL、User Show Layer;视图层)
前台:对应于MVC中的view:用于和用户交互、界面显示
jsp js html css jequery
代码位置位于:WebContent
后台:对应于MVC中的Controller,用于页面的 控制跳转、调用业务逻辑层
servlet(Springmvc)
业务逻辑层(BBL,Business Logic Layer;Service层)
组装数据访问层:逻辑性的操作(增删改查,删:查+删)
用于接收表示层的请求调用
数据访问层(DAL,Data Access Layer:Dao层)
直接访问数据库操作,原子性操作(增删改查)
一般位于xxx.dao包
三层间的关系:
上层 将请求传递给下层,下层处理后返回给上层
上层依赖于下层,依赖:代码的理解就是持有成员变量 (依赖的字面意思:没有某个东西它就做不了)
一个servlet处理一个功能,五个功能对应五个servlet
在此期间,我对request和response的setCharacterEncoding()方法产生了一些疑问,经过搜索得到一点我的见解
request.setCharacterEncoding()的作用是设置对客户端请求和数据库取值时的编码
可以不通过前端界面传值给服务器,通过形如
http://localhost:8080/ThreeTierSample/DeletestudentServlet?sno=1&
的方式
方法重构:将多个方法的共同方法提炼出来,单独写在一个方法中
index.jsp->index_jsp.java->index_jsp.class
jsp->java
jsp翻译成的java以及编译后的class文件存在于Tomcat中的work目录中
eclipse调试 f6是进入下一行 f8是下一个断点