前言: 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总体思路的更多相关文章

  1. ADF_Starting系列9_使用EJB/JPA/JSF通过ADF构建Web应用程序之测试J2EE Container

    2013-05-01 Created By BaoXinjian

  2. ADF_Starting系列8_使用EJB/JPA/JSF通过ADF构建Web应用程序之扩展UI Method

    2013-05-01 Created By BaoXinjian

  3. ADF_Starting系列7_使用EJB/JPA/JSF通过ADF构建Web应用程序之创建UI View

    2013-05-01 Created By BaoXinjian

  4. 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 ...

  5. jsf+ejb

    jsf+ejb 示例 http://docs.jboss.org/jbossas/docs/Installation_And_Getting_Started_Guide/5/html/Sample_J ...

  6. 使用Typescript重构axios(十八)——请求取消功能:总体思路

    0. 系列文章 1.使用Typescript重构axios(一)--写在最前面 2.使用Typescript重构axios(二)--项目起手,跑通流程 3.使用Typescript重构axios(三) ...

  7. IDEA报错Plugin "XXX" was not loaded: required plugin "Java EE: EJB, JPA, Servlets" is disabled.

    Java项目转Web项目 把java项目转成web项目时,发现Facets点击+号没有出现web选项. 经查询发现是插件没有正常加载导致的. 解决方案 1.没找到其他原因,重启即可. 2.我的是插件没 ...

  8. 经典游戏--24点--c++代码实现和总体思路(简单暴力向)

    24点 24点是一个非常经典的游戏,从扑克牌里抽4张牌,其中J=11,Q=12,K=13,然后经过+,-,*,/,(),的计算后,使得计算得值为24,例如抽到1,2,2,5四张牌,那么 (1+5)*( ...

  9. [源码解析] PyTorch 分布式之弹性训练(1) --- 总体思路

    [源码解析] PyTorch 分布式之弹性训练(1) --- 总体思路 目录 [源码解析] PyTorch 分布式之弹性训练(1) --- 总体思路 0x00 摘要 0x01 痛点 0x02 难点 0 ...

随机推荐

  1. InnoDB行格式(compact,redundant)对照

    InnoDB行格式分两种格式(COMPACT,redundant)默觉得COMPACT compact的存储格式为 首部为一个非NULL的变长字段长度列表,并且是依照列的顺序逆序放置的,当列的长度小于 ...

  2. sql server从一个数据库复制一个表到另一个数据库的方法

    分两步进行: 第一步,复制表结构: 在表上面右击——>编写表脚本为:——>Create到——>新查询编辑器窗口,你也可以保存为sql文件, 将新查询编辑器窗口最上面的一句话USE [ ...

  3. 1008: University

    &method=showdetail&id=1008" style="background-color:rgb(255,0,0)">台州ACM:10 ...

  4. 创Wcf案例数据服务

    首先,创建实体类: using System; using System.Linq; using System.Collections.Generic; using System.Data.Servi ...

  5. 玩转Web之servlet(四)---B/S是如何使用http协议完成通信过程的

    在上一篇文章中,我简单的说了一下B/S架构的流程图,关于浏览器和服务器之间的通信过程知识含糊的说了一下,在这篇文章中我再总结一下B/S架构里是如何利用http协议去完成通信的. (一)通讯过程 1:浏 ...

  6. Arcgis for Js之Graphiclayer扩展具体解释

    在前两节,讲到了两种不同方式的聚类,一种是基于距离的,一种是基于区域范围的,两种不同的聚类都是通过扩展esri/layers/GraphicsLayer方法来实现的.在本节,就具体的讲讲esri/la ...

  7. Principle使用教程

    本次分享主要有以下几点内容: 1.初识界面2.两个关键操作3.案例一:滑动4.案例二:点击跳转 5.案例三:跟随动画(抽屉效果) 1初识界面Principle的界面与Sketch基本一致,如下图: a ...

  8. C#多线程编程实例 螺纹与窗口交互

    C#多线程编程实例 螺纹与窗口交互 代码: public partial class Form1 : Form { //声明线程数组 Thread[] workThreads = new Thread ...

  9. Alamofire网络库基础教程

    原文 Beginning Alamofire Tutorial 原文作者 Essan Parto译者 星夜暮晨(QQ:412027805) http://www.jianshu.com/p/f1208 ...

  10. 【Android基础】AndroidManifest常用权限permission整理

    android.permission.ACCESS_COARSE_LOCATION 通过WiFi或移动基站的方式获取用户错略的经纬度信息,定位精度大概误差在30~1500米 android.permi ...