JSF+EJB+JPA之整体思想
序言: JSF+EJB+JPA 其实没有想象中的难,不过要做好应用以及在合适的地方建立应用,才是真正的难点. 好的技术在不合适的地方做了应用,那也只能是垃圾. 所以这个东西并不适合于太小规模的企业应用. 重量级企业应用可以使用这个基本的3层结构的实现,来增加更多的企业级应用.而这些基本上不怎么需要修改,可以说是可以独立开来维护的部分.至于耦合性,关键看如何建立应用了,这个又和项目开始的分析和设计密切相关.
目的: 建立JSF,EJB,JPA 之间的连接以达成基础结构建设
功能: JSF: 表述层应用. 用来输出处理结果和与用户交互界面. 业务层逻辑可以用JSF的manage bean 和EJB 的 session bean 来一起承担.
EJB: 逻辑层应用. 主要处理业务逻辑和系统逻辑.
JPA: 持久层应用. 在逻辑层和数据层之间作为数据缓冲的存在.以提高对数据存取和操作的效率和稳定.
表述层->逻辑层->持久层->数据层
所需文件:
JSF: 页面文件(jsp),管理bean,face定义文件(可以与页面导航合用) 
JEB: 以entity bean(实体bean)为基础的 session bean(会话bean).系统逻辑单元.另外包含各种自定义exception
JPA: entity bean,数据库映射,持久层定义文件.
例子: 用户输入username 和 password 来进行验证.
JSF: 页面 login.jsp. LoginBean.java(作为controller的作用).faces-config.xml
EJB: Login.java(session bean),LoginRemote.java,UserFacade.java,UserFacadeLocal.java,LoginException.java
JPA: User.java(entity bean), xxx.dbschema,persistence.xml
以上10个文件,完成了基础的结构设置.
当然了,根据需要可以对这种结构进行更多的扩充,以达到事务分类的目的.
这样的结构可以与JCA,JAAS,JCE,JMS,Web Service等企业级其他应用相结合,以适合项目的应用建设.
JSF+EJB+JPA之整体思想的更多相关文章
- JSF+EJB+JPA总体思路
		前言: JSF+EJB+JPA 其实我并没有想象中的难,只是想做好,建立在正确的地方应用,真正的困难. 良好的技术,在错误的地方做应用,这是唯一能够被垃圾. 用. 重量级企业应用能够使用这个主要的3层 ... 
- ADF_Starting系列9_使用EJB/JPA/JSF通过ADF构建Web应用程序之测试J2EE Container
		2013-05-01 Created By BaoXinjian 
- ADF_Starting系列8_使用EJB/JPA/JSF通过ADF构建Web应用程序之扩展UI Method
		2013-05-01 Created By BaoXinjian 
- ADF_Starting系列7_使用EJB/JPA/JSF通过ADF构建Web应用程序之创建UI View
		2013-05-01 Created By BaoXinjian 
- Problems found loading plugins: 		Plugin "GlassFish Integration" was not loaded: required plugin "Java EE: EJB, JPA, Servlets" is disabled.
		idea启动报错:并且无法部署web项目 Problems found loading plugins: Plugin "GlassFish Integration" was no ... 
- jsf+ejb
		jsf+ejb 示例 http://docs.jboss.org/jbossas/docs/Installation_And_Getting_Started_Guide/5/html/Sample_J ... 
- IDEA报错Plugin "XXX" was not loaded: required plugin "Java EE: EJB, JPA, Servlets" is disabled.
		Java项目转Web项目 把java项目转成web项目时,发现Facets点击+号没有出现web选项. 经查询发现是插件没有正常加载导致的. 解决方案 1.没找到其他原因,重启即可. 2.我的是插件没 ... 
- 12 Spring Data JPA:orm思想和hibernate以及jpa的概述和jpa的基本操作
		spring data jpa day1:orm思想和hibernate以及jpa的概述和jpa的基本操作 day2:springdatajpa的运行原理以及基本操作 day3:多表操作,复杂查询 d ... 
- Java-JPA:JPA
		ylbtech-Java-JPA:JPA JPA是Java Persistence API的简称,中文名Java持久层API,是JDK 5.0注解或XML描述对象-关系表的映射关系,并将运行期的实体对 ... 
- Java Persistence API(转)
		定义 Java Persistence API JPA通过JDK 5.0注解或XML描述对象-关系表的映射关系,并将运行期的实体对象持久化到数据库中.[编辑本段]起源 Sun引入新的JPA ORM规范 ... 
随机推荐
- css 实现移动端横向滚动条隐藏但还可以滚动的效果与实现多行文本溢出显示省略号
			一.实现移动端横向滚动条隐藏但还可以滚动的效果 1.首先添加一段html代码: <div class="scroll"> <div class="ite ... 
- (C语言)格式输出,右对齐
			printf("%8d", i);可以输出整数 i,让它占至少 8 个字符的宽度(即场宽为8):如果 i 不够8 位则在左边补空格使它右对齐满 8 位,如果 i 的输出的位数 ≥ ... 
- Hive实战
			1.使用hive实现WordCount (1) 创建数据库 create database wordcount; (2) 创建外部表 create external table word_data(l ... 
- NC15557 连续区间的最大公约数
			题目链接 题目 题目描述 给一个数列共n(n<=100,000)个数,a1,a2,...,an.(0<=ai<=1000,000,000).有q(q<=100,000)个询问. ... 
- STM32F103C8T6与W5500的运行示例
			模块说明 W5500的厂商是韩国WIZnet, 特性如下 全硬件TCP/IP协议栈: TCP,UDP,ICMP,IPv4,ARP,IGMP,PPPoE -- 注意只有IPv4 支持SPI模式0,3, ... 
- elasticsearch should实现or功能,设置minimum_should_match
			elasticsearch实现传统数据库中的or功能,需要使用bool下面的should关键字,对于A or B的情况,应该至少返回A和B中的一个,但是如下语句,不仅返回A和B中的至少一个,也返回了没 ... 
- Vue实现简单计算器功能
			知识点: v-model双向绑定 v-on事件绑定 实现效果 源码 <!DOCTYPE html> <html lang="en"> <head> ... 
- Java并发编程实例--17.使用read/write锁同步数据访问
			锁机制带来的最有意义的改进是提供了ReadWriteLock接口及其实现类ReentrantReadWriteLock. 这个类有2个锁,一个针对读操作另一个针对写操作. 可以有多个线程使用读操作,但 ... 
- Qt+MPlayer音乐播放器开发笔记(二):交叉编译MPlayer以及部署到开发板播放演示
			前言 在ubuntu上arm交叉编译MPlayer播放器,并部署到开发板播放音乐. Demo Mplayer MPlayer是一款开源多媒体播放器,以GNU通 ... 
- Windows Docker Destop修改默认镜像文件位置
			0.首先关闭docker destop. 1.通过Everything或者资源管理器找到以.vhdx结尾的文件所在的位置,这些就是docker镜像路径 2.我的路径:C:\Users\Administ ... 
