JavaEE应用的分层模型
- Domain Object(领域对象)层:由一系列的POJO(普通传统的Java对象)组成,往往包含了各自需要实现的业务逻辑方法,每个领域对象通常对应一个到多个数据表
- DAO(Data Access Object,数据访问对象):由一系列的DAO组件组成,对数据库进行原子操作。要为每个DAO组件提供接口,业务逻辑组件面向DAO接口编程
- 业务逻辑层:由一系列业务逻辑对象组成,可能只暴露Domain Object对象所实现的业务逻辑方法,也可能是依赖DAO组件实现的业务逻辑方法。一个方法对应一次操作,不应该在此层进行数据库的访问,不要出现持久层API
- 控制器层: 拦截用户请求,调用业务逻辑方法处理请求。根据结果返回到不同的表现层组件
- 表现层:由JSP页面、PDF文档视图组件等构成,负责收集请求并显示处理结果
常用Web服务器
- Tomcat:与Java结合最好
- Jetty:可作为嵌入式服务器,在应用中加入Jetty的Jar,可在代码中对外提供服务
- Resin:目前来说最快的JSP、Servlet运行平台
- JBOSS:Java EE服务器,全面支持JavaEE的各种规范
- 对于轻量级的Java EE而言,没有必要使用JavaEE服务器,使用简单的Web容器就能够胜任
轻量级JavaEE相关技术
- JSP必须被Web服务器编译成Servlet,在Web服务器运行时是Servlet
- JSP相当于”草稿“文件,Web根据草稿文件生成Servlet,结合了静态的html语法和动态的java脚本
- MVC框架:struts2、Spring MVC
- ORM(Object Relation Mapping):能够让Java以面向对象方式操作关系型数据库,相关框架有:Hibernate、MyBatis
- MyBatis:允许将SQL语句查询结果映射成对象
- Spring:充满了各种设计模式的应用,向上与MVC框架无缝整合,向下与各种持久层框架无缝整合