在WebService中怎么把两张表关联起来?

墙头上乘凉 2019-03-20 01:51:02

在WebService中怎么把两张表关联起来?



如图的这种写法
...全文
235 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
老哥 这不是 webservice得事情吧?
1、如果是你做得接口,那么你应该在数据库中 多张表查询成为一张。
2、如果你是调用接口,可以采用两个DataTable将两张表数据存起来,然后组装成一条数据。相信你操作DataTable还是没有问题得吧?
xian_wwq 2019-03-20
  • 打赏
  • 举报
回复
表关联不如在数据库中建张视图来的方便
天草破军 2019-03-20
  • 打赏
  • 举报
回复
首先看你的二张表是否有关,有关的话,用一句SQL拿出你要的结果。如select a.XX,b.XX from XX as a inner join on XX as b on a.XX=b.XX
以上是内联,还有外联及其它,可以BAIDU看一下,这样写会比较好。
正怒月神 2019-03-20
  • 打赏
  • 举报
回复
引用 2 楼 墙头上乘凉 的回复:
[quote=引用 1 楼 正怒月神 的回复:] dsA.Fill(ds.table[0]) dsA.Fill(ds.table[1]) return ds;
这个是合并吧,我想把两张表通过某个字段关联起来,然后显示A表前几个字段,显示B表后几个字段。该怎么写? 新手[/quote] 你学习一下 ado.net 的 join 内联
墙头上乘凉 2019-03-20
  • 打赏
  • 举报
回复
引用 1 楼 正怒月神 的回复:
dsA.Fill(ds.table[0]) dsA.Fill(ds.table[1]) return ds;
这个是合并吧,我想把两张表通过某个字段关联起来,然后显示A表前几个字段,显示B表后几个字段。该怎么写? 新手
正怒月神 2019-03-20
  • 打赏
  • 举报
回复
dsA.Fill(ds.table[0])
ds.Fill(ds.table[1])
return ds;
Java EE常用框架 WebService 介绍 基于Web的服务。它使用Web(HTTP)方式,接收和响应外部系统的某种请求。从而实现远程调用 术语 XML. Extensible Markup Language -扩展性标记语言 WSDL – WebService Description Language – Web服务描述语言。 SOAP-Simple Object Access Protocol(简单对象访问协议) SOA(Service-Oriented Architecture) :面向服务的架构 它是一种思想,IBM大力倡导是即插即用的,IBM大力提倡,希望以组装电脑的方式来开发应用 它是目录服务,通过该服务可以注册和发布webservcie,以便第三方的调用者统一调用 使用: 二、我们可以使用Java自带的WsImport来实现本地代理。这种方法会将WebService翻译成Java类,我们使用类一样去访问WebService就行了。非常好用。 三、除了调用别人发布的webService,也可以自己发布WebService服务 四、CXF框架可以与spring无缝连接,就不用我们自己Endpoint了。它还能记录日志之类的 五、我们还可以使用Idea下的webservice,能够使用图形画面的方式获取本地代理和生成WSDL文件。 Activiti 介绍 Activiti5是一个业务流程管理(BPM)框架 如果我们的业务是比较复杂的话,我们才会用到工作流! 使用Activiti的步骤 定义工作流 画一个BPMN图就可以了 部署工作流 执行工作流-->按照我们定义的工作流来执行 工作流在执行的过程肯定会涉及到很多数据,Activiti是默认提供数据库给我们使用的 Activiti工作流框架快速入门: 定义工作流,使用插件来把我们的流程图画出来。这个流程图就是我们定义的工作流。 工作流引擎是工作流的核心,能够让我们定义出来的工作流部署起来。 由于我们使用工作流的时候是有很多数据产生的,因此Activiti是将数据保存到数据库的。这些数据库由Actitviti创建,由Activiti维护。 部署完的工作流是需要手动去执行该工作流的。 根据由谁处理当前任务,我们就可以查询出具体的任务信息。 根据任务的id,我们就可以执行任务了。 细节 流程定义:涉及到了四张数据库 我们可以通过API把我们的流程定义图读取出来 可以根据查询最新版本的流程定义 删除流程定义 部署流程定义的时候也可以是ZIP文件 流程运行:涉及到两个对象,四张数据库: 流程实例 获取流程实例和任务的历史信息 判断流程实例是否为空来判断流程是否结束了 查看正在运行服务的详细信息 通过流程实例来开启流程 流程变量:它涉及到了两张。 流 程变量实际上就是我们的条件。 作用 我们可以在流程开始的时候设置流程变量,在任务完成的时候设置流程变量。 运行时服务和流程任务都可以设置流程变量。 连线 通过连线我们可以在其设置条件,根据不同的条件流程走不同的分支 排他网关 SpringData JPA 简介 API Repository接口 PagingAndSortingRepository JpaRepository JpaSpecificationExecutor 过滤条件查询接口 注解 nameQuery注解 SQL命名,调用的时候根据名称调用 查询注解 1,targetEntity 属性示默认关联的实体类型,默认为当前标注的实体类。 2,cascade属性示与此实体一对一关联的实体的级联样式类型。 3,fetch属性是该实体的加载方式,默认为即时加载EAGER 4,optional属性关联的该实体是否能够存在null值,默认为ture,如果设置为false,则该实体不能为null, 5, mapperBy属性:指关系被维护端 1,@JoinColumn注释是保存之间关系的字段 2,如果不设置name,默认name = 关联的名称+”-“+关联
一,开发环境以及运行基础 编译环境:基于eclipse,jdk1.7 数据库:MySQL,mongoDB, 服务器:Tomcat+image(Tomcat) 二、项目简介 我们这个项目有两大系统,四大接口,八大模块组成,根据登录的用户不同展示不同的功能菜单,它又是一个涉及到前台用户页面和后台系统的整合项目,整个项目用到的框架有:后台是ssm框架,前台主要是用easyUI,ajax,jquery等技术,数据库使用的是mysql+Mongodb,mysql主要用来存储用户的数据和后台系统的数据,Mongodb主要用来存储Aop的日志记录,Easyui+ajax+jquey主要实现用户在前台查看旅游信息,实现对订单的订购,查看和退单,以及对热点旅游资讯的查看和页面的美化效果,后台主要是对旅游线路,景点,旅游主题和导游信息的业务操作,以及对用户订单和新闻资讯的处理,从而实现从前台页面到后台的交互。 一、首先介绍我们的登录和注册页面。 登录页面:我们用到easyui的美化,并采取验证码登录,防止别人登录,为了和后台风格保持一致,我们采用了简单、大方、清新的登录页面。 注册页面:这个页面采取HTML5+webservice接口调用,注册页面主要展示给用户,所以我们的页面更炫、更酷、体验度更好等,最后调用了一个webservice的接口,用户注册时填写手机验证码,让用户的信息更安全。 二、其次是我们项目分为两大系统,首先管理员登录。 1.管理员拥有所有的权限,他负责给用户分配角色和权限,管理员这块有一个亮点,它可以根据用户登录的次数给用户打不同的折扣,次数越多,折扣越低,其次,将一个月内没有登录的自动拉黑. 2.旅游景点管理:这个模块主要分为三部分,景点管理,线路管理和美景展示,景点管理主要关联了推送展示和景点门票.旅游线路管理这块关联的比较繁琐,因为每个景点都有线路,所以他和旅游景点管理,旅游项目管理,导游管理,订单管理,门票管理都有间接的关联关系.最后就是美景展示,采用了html5的视屏播放标签,对整个旅游项目的一个介绍. 3.旅游项目管理:这个模块主要分为五大旅游项目,亲子游,闺蜜游,蜜月游,自由行,从展示的列可以看到五大项目对于开发人员大同小异,它主要涉及一般的增删改查,富文本编辑器.它关联了旅游线路管理和订单管理,其它可以批量新增线路,还可以双击查看属于这个旅游项目的路线,让用户更直观的了解旅游项目工程. 4.导游管理:这个模块分为四个部分,导游基本信息,带团申请,导游风采展示,导游展示.导游的基本信息主要介绍了导游的信息和评分级别,带团申请主要有导游申请带团旅游的申请信息,导游风采展示主要有导游的照片,双击照片可以查看导游的基本信息.它是一个独立的模块. 5.订单管理:这个模块是我们项目的重之重,可以这么说,整个项目基本上都是围绕它来进行,下面我们就来好好介绍,它分为四个部分:票务订单管理,景点订单管理,主题订单管理和线路订单管理.票务订单主要关联了扇形统计图(echarts)和客户订单的处理,比如:这边数据修改后echarts会改变扇形统计图.客户下单后,后台需要确认订单后,客户才能看到自己的订单信息.景和点订单管理:它又和上面我们介绍的旅游景点关联,客户下单后,后台需要确认订单后,客户才能看到自己的订单信息,主题订单管理和线路订单管理大同小异,都是在上面的基础上完成订单.最后订单这块还有一个退票的展示,用户退票之后,管理员需要确认退票,才能退票,使得这个景点的票数增加一张,确认订单则减少一张.这个模块难就难在业务繁杂,关联关系台太复杂.这是我们项目的难点之一! 6.门票管理:这个模块主要负责订单完成后这边的票数会有相应的变化,看似简单其实它关联的关系比较多的,上面的模块也提到了相应的业务. 7.新闻资讯管理:这个模块以接口为主,就是掉了一个和新闻相关的接口,也就是我们的四大接口之一. 8.统计报管理:这个模块也是我们的亮点模块,它主要用到的技术echarts,它里面有一个柱形的统计图和扇形的统计图,柱状统计图主要和景点总人数-剩余票数统计出的旅游人数,扇形统计图主要从票务的订单拿出从今天数前七天的票务的销售情况.这个模块也是我们的技术难点之一. 9.其他的小模块介绍:网盘服务,鲜花,日志管理,网盘服务,就是创建一个文件夹,里面可以批量上传一些图片.鲜花服务:我们通过HTTPClieat调用我们一组的鲜花接口.这也是项目的技术难点之一.日志管理科:这块我们用mongodb非关系型数据库和Aop切面来进行我们项目的日志记录,它也是我们项目的技术难点之一。 三、其次介绍我们的用户系统,这个系统主要分为六个模块. 1.旅游景点管理:它就是展示了一些景点,路线,美景,联系客服.景点和线路都是可以给用户提供下单(最后涉及了一个qq邮箱接口,发送邮件),而美景就是一个视频展示,介绍我们的旅游,联系客服这块调用webservice接口进行在线聊天。 2.旅游项目管理:这个模块和管理员的模块有异曲同工之处,这块主要是给用户看的,所以展示的内容是项目所有的线路,用户可以根据自己所需的线路来下单。 3.新闻资讯:这块也是和管理员登录界面是一样的,在这不在详细介绍了。 4.订单管理:这个模块在管理员页面介绍的很详细了,不同的就是,用户不管是下单还是退票,必须是要通过后台同意的,用户是不能立马看到下单和退票的状态,后台同意后才能让看到。 5.导游管理:在这展是为了用户能够更直接的看到自己跟团导游的信息。 6.位置服务:这个模块用到webservice调用了百度地图,它可以让用户更准确的定位到自己的位置。
进去之后会触发一个页面刷新的方法,之后在里面填写寄存产品的信息 其,会员信息和产品信息都是从数据库查询出来的,可以进行自动赋值,还有寄存单号是自动生成的随机数,之后金额的value也是在后台自动计算出来的。 吧台提取:负责人:(王涛) 首先,它会弹出一个dialog弹框,里面有一个文本框,里面填写的是寄存单号,可以根据寄存单号进行调价查询,之后,通过将查到的数据存放到session,然后又会弹出一个dialog弹框 里面回显的寄存产品的信息,其 他的值是在后台存入的session取出来的 之后我们可以进行寄存产品的提取操作,这时后台会自动获取当前时间,来作为提取时间进行赋值。 会员信息查询的送花功能;负责人:(王涛) 首先 只有在顾客的会员账号充值金额满一万元后,我们会赠送他一束花,这时,该会员信息后的送花按钮才可以使用,点击送花后,会弹出一个dialog弹框,里面的信息,是根据webservice调用了第一组发布的接口,其我们用到了,webservice里面的框架技术 cxf生成一个沟通接口的桥梁,然后新建一个沟通桥梁的类,再通过配置相关的配置文件及jar包就可以调用出接口的数据,之后选一条数据,并输入收件人的邮箱 ,点击发送后,我们会将收件人邮箱和所送花朵的花语这两个参数进行打包,之后通过javamail技术,给所填收件人的邮箱发送一封邮件。 【发送邮件需要其专门的jar包】 用户体验度调查:负责人:(王涛) 首先,这个功能使用的也是javamail技术,我们在页面将所有的文本框以及富文本放到了一个form单当,因为我们新建了一个专门用来存放发送邮件所需信息的实体类所以在方法接收参数时 只用接受一个实体类,其,它的参数包括:(收件人邮箱,发件人邮箱,标题,内容){这个功能一般可以用于优惠活动的发送以及市场调查等等。。。} 【发送邮件需要其专门的jar包;还有要注意富文本编辑器和easyui js文件的兼容性问题】 业务管理: 负责人:(温家祥) 1:当前订单 ①客户可在当前页面点单进行商品的选购及选购数量 同时自动生成帐单号和获取系统当前时间 ②在客户选完商品后可进行结账或删除订单 1.会员结账:先通过会员卡号查询会员信息并赋值给结账页面 同时展示当前会员所点的所有商品及具体信息 通过输入 套餐费自动计算金额 并完成对会员金额的修改 结账完成之后 实时更新订单信息 并记录账单信息展示在前台 2.非会员结账:展示当前客户所点的所有商品和具体信息,通过手动输入套餐费自动计算应收金额 在输入实收金额自动 计算找零 确认结账之后实时更新订单信息 并记录账单信息展示在前台 3.删除订单:通过获取当前的id 传到后台进行删除 我的网盘: 用户登陆时通过io流自动新建一个存储空间如果存在则打开 ①在后台查询数据在前台展示对应信息 !!!图片在前台通过循环在后台获取的数据进行展示 ②对网盘里的东西进行增删改查 总结:整体上看起来没有难度没有什么技术点 但逻辑思维紧密且对数据的传输跨度大 对数据库的修改较为复杂 采购进货负责人:(杨强) 客户可以直接新增,也可以点击以有信息进行回显新增 点击供商编号和项目编号可以选择辅助信息 输入单价,数量,实付金额进行计算 新增YqT_cg,YqT_cgc,YqT_th,YqT_thc 修改YqT_goods,YqT_supplier 采购退货 客户可以直接退货,也可以点击以有信息进行回显退货 点击采购编号和项目编号可以选择辅助信息 输入单价,数量,进行计算 修改yqt_thc,YqT_th,t_cgc,t_goods,t_supplier 库存明细 增删改查t_goods; 我的网盘 uploadify上传图片 springmvc配置multipartResolver config.properties里配置: filereal=D:\\tomcat2\\apache-tomcat8090\\webapps\\img realPath=http://192.168.3.5:8090/img/ js里导uploadify文件 配置D:\tomcat2\apache-tomcat8090\bin并启动 yq/util导UploadFile.java jsp页面在body引入js文件 会员管理 负责人(韩苏雨) 会员管理模块 1、会员基本信息:主要是注册一些会员信息,然后用到了easyUI的格,新增会员时,主要是给会员卡号做出了一些判断,判断了会员卡号不能为空,不能重复,对于日期,是获取当前系统时间。 2、会员卡充值:首先对会员信息做了一个简单的查询,然后点击会员卡号充值,弹出一个easyUI的弹框,然后,给会员卡一个点击事件,点击会员卡号,继续弹出一个弹框,是对会员卡号的查询,选择会员卡号,然后会对相应的姓名,余额等等进行回显,日期是获取当前系统时间,然后点击充值金额,然后让充值金额和余额相加,付给现有余额。 3、会员卡挂失/解挂:选择将要挂失或者解挂的会员卡号、会员姓名、身份 证号,对其进行挂失或解挂,从数据库查询。 4、会员卡查询:是查询会员卡明细情况,在查询窗口选择要查询的会员卡号、会员姓名,单击"确定"即可查询出该会员卡的情况。查询出来的信息不允许用户自行更改、添加和删除 5、其余一些注册、权限、以及一些前台页面等等。。。。。 财务管理负责负责人(陈帅任) 我做的是一个财务管理模块, 财务管理模块有以下功能 1.会员结账营业额 2.非会员结账营业额 3.商品采购付款单 4.商品采购付款统计 5.套餐结账营业额 6.单点结账营业额 7.比较额度 8.redis缓存 我的1.会员结账营业额2.非会员结账营业额4.商品采购付款统计7.比较额度这四个模块使用的是ECharts可视化图ECharts 提供了常规的折线图、柱状图、散点图、饼图、K线图,用于统计的盒形图,用于地理数据可视化的地图、热力图、线图,用于关系数据可视化的关系图、treemap、旭日图,多维数据可视化的平行坐标,还有用于 BI 的漏斗图,仪盘,并且支持图与图之间的混搭。 基础信息负责人(高亚锟) 员工信息 员工 查询 新增 删除 员工的编号使用随机数 供货商信息 供货商 查询 新增 删除 同样的随机数 但是和业务模块相关联 需要把不需要展示的东西也要完成新增以便业务模块的需要 仓库信息 仓库 查询 新增 删除 商品类别 商品类别 查询 新增 删除 商品信息 这个是3联查新增修改都是需要弹框 只回显id 弹出来然后显示出另一个的所有数据 然后进行赋值 赋值进去的必须是disable框 disable框数据和仓库信息的数据是正确的 但是不能修改 只能修改标的id 根据id再重新进行复制 最后在新增或者是修改 统计查询模块负责人(张炫林) 统一使用easyui框架下的组件保证页面的协调性 统计查询进入页面: 页面展示分页功能 条件查询功能(下拉式选择查询模式,查询项目) 查询模式为下拉动态获取必选与查询项目对应比如:时间有<>名字没有 查询项目下拉动态 取消筛选按功能 Mongodb 短信HttpClient
文名: 经典Java EE企业应用实战--基于WebLogic/JBoss的JSF+EJB 3+JPA整合开发 原名: 经典Java EE企业应用实战--基于WebLogic/JBoss的JSF+EJB 3+JPA整合开发 作者: 李刚 资源格式: PDF 版本: 第一版 出版社: 电子工业出版社书号: 9787121115349发行时间: 2010年8日 地区: 大陆 语言: 简体文 简介: 内容简介:   本书是《轻量级java ee企业应用实战》的姊妹篇,《轻量级java ee企业应用实战》主要介绍以spring+hibernate为基础的java ee应用;本书则主要介绍以ejb 3+jpa为基础的java ee应用。ejb 3、jpa规范都属于sun公司所制订的java ee规范,因此把基于ejb 3+jpa的应用称为经典java ee架构,目前这种架构在java开发领域也有极大的市场占有率。   本书介绍了java ee规范的三大主要规范jsf、ejb 3和jpa,其jsf是sun公司提供的jsf ri;ejb 3部分则包含session bean、message driven bean的详细介绍。所使用的应用服务器是jboss 5.1和weblogic 11g,详细介绍了这两种应用服务器的安装和使用,以及如何在两大主流服务器上安装、部署java ee应用。   本书内容主要包括三部分,第一部分介绍java ee开发的基础知识,以及如何搭建开发环境,包括安装jboss、weblogic应用服务器,以及如何使用svn、netbeans等。第二部分详细讲解了jsf ri、jta、jndi、rmi、jms、javamail、ejb 3的session bean、message driven bean、jpa、jax-ws 2、jaas等java ee知识,这部分知识以jsf+ejb 3+jpa整合开发为重点,通过使用netbeans ide工具上手,带领读者逐步深入jsf+ejb 3+jpa整合开发。这部分内容是笔者讲授“疯狂java实训”的培训讲义,也是本书的重点部分。第三部分提供了一个jsf+ejb 3+ jpa整合开发的项目:电子拍卖系统。这个项目包括5个实体,这5个实体之间具有复杂的关联关系,而且业务逻辑也相对复杂,希望让读者理论联系实际,真正将jsf+ejb 3+jpa整合真正运用到实际开发。该案例采用目前最流行、最规范的java ee架构,整个应用分为jpa实体层、eao层、业务逻辑层、mvc层和视图层,各层之间分层清晰,层与层之间以松耦合的方法组织在一起。该案例既提供了ide无关的、基于ant管理的项目源码,也提供了基于netbeans ide的项目源码,最大限度地满足读者的需求。 作者简介: 李刚,从事10年的Java EE应用开发。曾任LITEON公司的J2EE技术主管,负责该公司的企业信息平台的架构设计。曾任广州电信、广东龙泉科技等公司的技术培训导师。2007年3月26日的《电脑报》专访人物。现任新东方广州心软件教学总监,并曾任广东技术师范学院计算机科学系的兼职副教授。   培训的学生已在华为、立信、普信、网易、电信盈科、企动力等公司就职。   国内知名的高端IT技术作家,已出版《Spring 2.0宝典》、《基于J2EE的Ajax宝典》、《轻量级J2EE企业应用实战》、《Struts 2权威指南》、《Ruby On Rails敏捷开发最佳实践》等著作。 目录: 第0章 学习Java的正确方法 1 0.1 我适合不适合编程 2 0.2 走出象牙塔 4 0.3 学习Java,应该如此疯狂 7 第1章 经典Java EE应用和开发环境 9 1.1 经典Java EE应用概述 10 1.1.1 Java EE 6相关规范 10 1.1.2 经典Java EE应用的分层模型 11 1.1.3 经典Java EE应用的组件 13 1.1.4 经典Java EE应用架构的优势 13 1.1.5 常用的企业服务器 14 1.2 经典Java EE应用相关技术 14 1.2.1 JSP、Servlet和JavaBean及 替代技术 14 1.2.2 JSF及替代技术 15 1.2.3 EJB组件技术简介 15 1.3 JBoss的下载和安装 15 1.3.1 下载和安装JBoss服务器 16 1.3.2 配置JBoss的服务端口 18 1.3.3 进入控制台 19 1.3.4 部署Web应用 22 1.4 WebLogic的下载和安装 24 1.4.1 WebLogic的下载和安装 24 1.4.2 WebLogic的基本配置 25 1.4.3 修改WebLogic的服务端口 29 1.4.4 部署Web应用 30 1.5 NetBeans的安装和使用 32 1.5.1 NetBeans的下载和安装 32 1.5.2 使用NetBeans开发Java EE应用 33 1.5.3 打开NetBeans项目 36 1.5.4 导入Eclipse项目 37 1.6 使用SVN进行协作开发 38 1.6.1 下载和安装SVN服务器 39 1.6.2 配置SVN资源库 39 1.6.3 下载和安装SVN客户端 41 1.6.4 发布项目到服务器 41 1.6.5 从服务器下载项目 42 1.6.6 提交(Commit)修改 42 1.6.7 同步(Update)本地文件 43 1.6.8 添加文件和目录 44 1.6.9 删除文件和目录 45 1.6.10 查看文件或目录的版本变革 45 1.6.11 从以前版本重新开始 46 1.6.12 创建分支 46 1.6.13 沿着分支开发 46 1.6.14 合并分支 47 1.6.15 使用NetBeans作为SVN客户端 48 1.7 本章小结 50 第2章 JSF的基本用法 51 2.1 MVC和JSF 52 2.1.1 MVC和常见MVC框架 52 2.1.2 JSF的优势 56 2.2 下载和安装JSF 57 2.3 JSF使用入门 60 2.3.1 从输入页面开始 60 2.3.2 开发托管Bean 61 2.3.3 定义导航规则 63 2.4 解读JSF配置 65 2.4.1 配置核心控制器(FacesServlet) 65 2.4.2 JSF配置文件结构 68 2.5 托管Bean和达式语言 69 2.5.1 托管Bean的属性和达式语言 69 2.5.2 托管Bean的方法 78 2.5.3 托管Bean的分类 80 2.5.4 初始化托管Bean的属性 85 2.5.5 通过FacesContext访问应用环境 89 2.6 导航模型 91 2.6.1 静态导航 93 2.6.2 动态导航 93 2.7 使用UI标签创建视图页面 94 2.7.1 UI标签概述 94 2.7.2 UI标签的通用属性 97 2.7.3 单相关标签 98 2.7.4 其他标签 103 2.8 JSF的运行流程和生命周期 109 2.8.1 恢复视图阶段 110 2.8.2 应用请求值阶段 110 2.8.3 处理输入校验阶段 111 2.8.4 更新模型的值阶段 111 2.8.5 调用应用阶段 111 2.8.6 生成响应阶段 111 2.9 利用JSF的消息 112 2.10 本章小结 116 第3章 深入使用JSF 117 3.1 JSF事件机制 118 3.1.1 Java事件模型概述 118 3.1.2 Java事件模型示例 119 3.1.3 JSF事件模型 120 3.1.4 Action事件 122 3.1.5 值改变事件 125 3.1.6 生命周期事件 128 3.1.7 将监听器绑定到Bean属性 130 3.2 JSF的国际化支持 132 3.2.1 加载国际化资源文件 132 3.2.2 使用国际化消息 134 3.2.3 动态数据国际化 137 3.2.4 让用户选择语言 142 3.3 使用转换器完成类型转换 143 3.3.1 转换器概述、用途 144 3.3.2 JSF内建转换器 144 3.3.3 使用转换器 145 3.3.4 转换失败后的错误消息 149 3.4 自定义转换器 154 3.4.1 实现转换器类 154 3.4.2 注册转换器 156 3.4.3 使用自定义转换器 159 3.4.4 绑定到Bean属性的转换器 159 3.5 使用验证器进行输入校验 161 3.5.1 输入校验概述 161 3.5.2 JSF内置校验器 162 3.5.3 校验失败后的错误消息 163 3.5.4 必填校验器 165 3.6 自定义校验器 166 3.6.1 开发自定义校验器 166 3.6.2 注册校验器 167 3.6.3 使用自定义校验器 168 3.6.4 为自定义校验器开发专用标签 169 3.6.5 使用托管Bean的方法执行校验 173 3.6.6 绑定到Bean属性的校验器 175 3.7 本章小结 177 第4章 利用JDBC和JTA访问 数据库和管理全局事务 178 4.1 JDBC和容器管理的数据源 179 4.1.1 JDBC概述 179 4.1.2 使用JDBC执行数据库访问 180 4.1.3 使用WebLogic服务器管理的 数据源 182 4.1.4 使用JBoss服务器管理的数据源 187 4.2 事务和JTA 191 4.2.1 事务的基本概念 191 4.2.2 分布式事务处理、XA规范和 2PC协议 192 4.2.3 使用JTA全局事务保证多 数据库的一致性 193 4.3 事务隔离、传播属性的设置 198 4.3.1 并发访问和隔离 198 4.3.2 事务属性 199 4.4 EJB的事务管理 201 4.4.1 容器管理事务(CMT) 201 4.4.2 Bean管理事务(BMT) 201 4.5 事务超时设置 201 4.6 本章小结 203 第5章 JNDI和远程方法调用 204 5.1 JNDI的概念 205 5.1.1 命名服务 205 5.1.2 目录服务 206 5.1.3 JNDI的优点 206 5.2 JNDI编程入门 207 5.2.1 文件系统的命名服务 207 5.2.2 JNDI编程 208 5.3 服务器提供的JNDI支持 212 5.3.1 WebLogic的JNDI支持 212 5.3.2 JBoss的JNDI支持 215 5.4 RMI概述 216 5.4.1 RMI的相关概念 216 5.4.2 RMI的作用和意义 217 5.5 RMI编程 217 5.5.1 开发RMI服务器 217 5.5.2 开发RMI客户端 220 5.5.3 RMI的基本原理 220 5.6 同时作为客户端和服务器的 RMI程序 222 5.6.1 开发客户端程序 222 5.6.2 开发服务器端程序 223 5.7 本章小结 225 第6章 利用JMS实现企业消息处理 226 6.1 面向消息的架构和JMS概述 227 6.1.1 面向消息的应用架构 227 6.1.2 JMS的基础知识和优势 228 6.1.3 JMS的两个重要版本 229 6.2 PTP类型的JMS 230 6.2.1 配置PTP的JMS服务器 231 6.2.2 PTP消息的发送 241 6.2.3 PTP消息的同步接收 244 6.2.4 PTP消息的异步接收 246 6.3 Pub-Sub类型的JMS 248 6.3.1 配置Pub-Sub模型的JMS 服务器 248 6.3.2 消息的生产、消费 250 6.3.3 可靠的JMS订阅 251 6.4 JMS消息 253 6.4.1 JMS消息类型 253 6.4.2 JMS消息头和消息属性 253 6.4.3 重用消息对象 254 6.4.4 JMS传递方式和有效时间 255 6.4.5 设置消息的优先级 256 6.4.6 消息的确认方式 256 6.4.7 消息选择器 257 6.4.8 消息的临时目的261 6.5 使用队列浏览器查看全部消息 264 6.6 JMS和事务 265 6.6.1 使用事务性Session 265 6.6.2 利用JTA全局事务 267 6.7 JMS服务器的异常监听 268 6.8 JMS集群 269 6.9 本章小结 270 第7章 利用JavaMail实现E-mail 271 7.1 E-mail简介 272 7.1.1 SMTP协议简介 272 7.1.2 POP3协议简介 272 7.1.3 IMAP4协议简介 273 7.1.4 E-mail的用途 273 7.2 JavaMail介绍 274 7.2.1 JavaMail下载和安装 274 7.2.2 JavaMail的常用API 275 7.2.3 使用JavaMail发送邮件 277 7.2.4 使用JavaMail接收邮件 281 7.3 应用服务器的JavaMail支持 287 7.3.1 在WebLogic配置JavaMail 288 7.3.2 通过WebLogic的邮件支持来 发送邮件 290 7.3.3 在JBoss配置JavaMail 292 7.4 本章小结 294 第8章 会话EJB 295 8.1 EJB概述 296 8.1.1 EJB的概念和意义 296 8.1.2 EJB的发展历史 298 8.1.3 EJB的优势和使用场景 299 8.2 EJB的分类 301 8.2.1 Session Bean的概念和作用 302 8.2.2 Message Driven Bean的概念和 作用 303 8.2.3 实体和JPA 303 8.3 开发无状态的Session Bean 304 8.3.1 开发远程调用的无状态 Session Bean 304 8.3.2 开发本地调用的无状态 Session Bean 311 8.4 发布Session Bean 314 8.4.1 打包EJB-JAR 315 8.4.2 Annotation与部署描述文件 315 8.5 开发有状态的Session Bean 318 8.6 Session Bean的生命周期 321 8.6.1 无状态Session Bean的生命周期 321 8.6.2 有状态Session Bean的生命周期 322 8.6.3 定制Session Bean的生命 周期行为 323 8.7 在Session Bean使用事务 327 8.7.1 容器管理事务 327 8.7.2 Bean管理事务 330 8.8 拦截器 332 8.9 依赖注入 335 8.9.1 EJB注入 336 8.9.2 资源注入 339 8.10 配置EJB引用 340 8.11 使用计时器进行任务调度 342 8.12 本章小结 345 第9章 消息驱动EJB 346 9.1 JMS和EJB 347 9.1.1 为什么使用MDB 347 9.1.2 使用MDB的设计原则 348 9.2 使用消息驱动Bean 349 9.2.1 使用@MessageDriven和@ActivationConfigProperty 350 9.2.2 实现MessageListener 352 9.2.3 MDB的生命周期 353 9.2.4 MDB的依赖注入 356 9.2.5 事务管理和异常处理 359 9.3 使用NetBeans开发EJB 359 9.3.1 使用NetBeans开发Session Bean 359 9.3.2 使用NetBeans开发MDB 362 9.4 本章小结 363 第10章 Java持久化API(JPA) 364 10.1 实体简介 365 10.1.1 对象/关系数据库映射(ORM) 365 10.1.2 JPA的映射规则 367 10.1.3 JPA规范简介 368 10.2 实体入门 368 10.2.1 开发实体 369 10.2.2 在Java SE环境下使用 Hibernate JPA实现 370 10.2.3 在Java SE环境下使用 TopLink JPA实现 374 10.2.4 在Java SE环境下使用 EntityManager 377 10.2.5 使用orm.xml管理O/R映射 379 10.3 理解实体 382 10.3.1 持久化上下文和持久化单元 382 10.3.2 实体类的要求 382 10.3.3 实体的状态 383 10.3.4 管理实体的方法 384 10.4 实体的基本映射387 10.4.1 映射实体类的属性 387 10.4.2 将实体映射到多个 394 10.4.3 映射复合类型的属性 396 10.4.4 映射实体类的主键 398 10.5 关联关系映射 402 10.5.1 单向N-1关联 403 10.5.2 单向1-1关联 406 10.5.3 单向1-N关联 409 10.5.4 单向N-N关联 411 10.5.5 双向1-1关联 414 10.5.6 双向1-N关联 417 10.5.7 双向N-N关联 420 10.5.8 使用Map集合记录关联实体 423 10.5.9 对关联实体进行排序 424 10.6 继承关系映射 426 10.6.1 整个类层次对应一张的 映射策略 427 10.6.2 连接子类的映射策略 430 10.6.3 每个具体类对应一张的 映射策略 434 10.7 使用抽象实体和非实体父类 436 10.7.1 抽象实体 436 10.7.2 非实体父类 438 10.7.3 重定义子类实体的外键列 440 10.8 实体的生命周期和监听器 444 10.8.1 实体的生命周期与回调事件 444 10.8.2 使用专门的监听器实现回调 448 10.8.3 为全部实体配置默认监听器 450 10.8.4 排除监听器 452 10.9 本章小结 455 第11章 JPA的查询支持 456 11.1 查询API 457 11.1.1 面向对象的JPQL 457 11.1.2 查询API简介 457 11.2 执行查询 459 11.2.1 使用Query创建查询 459 11.2.2 设置查询参数 459 11.2.3 取得查询结果 460 11.3 JPQL语法 461 11.3.1 使用from子句 462 11.3.2 使用select子句 463 11.3.3 查询部分属性 463 11.3.4 查询使用构造器 464 11.3.5 使用distinct排除相同的记录 465 11.3.6 where子句和条件达式 466 11.3.7 使用JPQL函数 466 11.3.8 多态查询 467 11.3.9 关联和连接 469 11.3.10 使用order by进行结果排序 473 11.3.11 JPQL查询的聚集函数 473 11.3.12 使用group by进行分组 474 11.3.13 结果集分页 475 11.3.14 使用子查询 475 11.3.15 命名查询 476 11.4 批量更新和批量删除 478 11.4.1 批量更新 479 11.4.2 批量删除 480 11.5 原生SQL查询 481 11.5.1 使用原生SQL查询 481 11.5.2 结果集映射和实体查询 482 11.5.3 使用命名的原生SQL查询 486 11.5.4 调用存储过程 488 11.6 本章小结 490 第12章 Web层和EJB的整合 491 12.1 Java EE应用的架构 492 12.1.1 SSH架构的复习和应用架构的 思考 492 12.1.2 MVC层和业务层整合 494 12.1.3 DAO模式和EAO模式 495 12.1.4 使用Session Facade模式 499 12.2 从Web层访问Session Bean 500 12.2.1 使用依赖注入访问无状态 Session Bean 501 12.2.2 通过EJB引用访问有状态 Session Bean 507 12.2.3 在工具类调用Session Bean 509 12.3 在Web层使用JPA 511 12.3.1 使用容器管理的EntityManager 512 12.3.2 在容器内使用应用程序管理的 EntityManager 516 12.3.3 通过ThreadLocal在容器外使用 安全的EntityManager 518 12.4 基于JBoss的JSF+EJB 3+JPA 整合 522 12.4.1 开发JPA实体 522 12.4.2 开发EAO对象 524 12.4.3 开发业务逻辑组件 526 12.4.4 定义JSF的托管Bean来 处理请求 527 12.5 基于WebLogic的Struts 2+ EJB 3+JPA整合 531 12.5.1 开发实体并配置持久化单元 531 12.5.2 开发EAO组件和业务逻辑组件 532 12.5.3 配置EJB引用 532 12.5.4 定义Action来处理用户请求 532 12.6 本章小结 536 第13章 EJB和Web Service 537 13.1 Web Service概述 538 13.1.1 Web Service概述 538 13.1.2 Web Service平台概述 539 13.1.3 Web Service的广泛应用 542 13.2 JAX-WS:Java EE 5 Web Service平台 543 13.2.1 Java EE的Web Service支持 543 13.2.2 为什么选择EJB开发 Web Service 544 13.3 使用JAX-WS 2.0开发 Web Service 545 13.3.1 使用@WebService 545 13.3.2 使用@WebMethod 551 13.3.3 使用@SOAPBinding指定 Web Service风格 553 13.3.4 使用@WebParam 555 13.3.5 使用@WebResult 556 13.3.6 使用@OneWay 558 13.4 客户端调用Web Service 558 13.5 本章小结 559 第14章 利用JAAS开发安全的应用 560 14.1 JAAS概述 561 14.1.1 Java EE应用的安全概述 561 14.1.2 安全域、用户、组和角色概念 561 14.1.3 JAAS的基本流程 563 14.2 管理服务器的用户和组 565 14.2.1 管理WebLogic服务器上的 用户和组 565 14.2.2 管理JBoss服务器上的用户和 角色 573 14.2.3 使用RDBMS管理Jboss 服务器上的用户和角色 574 14.3 开发安全的Web应用 576 14.3.1 声明安全性 576 14.3.2 映射安全角色 579 14.3.3 基于JBoss服务器的单登录 580 14.3.4 基于WebLogic服务器的安全 角色映射 583 14.3.5 基于WebLogic服务器的 单登录 583 14.3.6 Web应用编程式安全 584 14.4 开发安全的Java EE应用 585 14.4.1 为EJB声明安全性 585 14.4.2 应用客户端访问被保护的方法 587 14.4.3 使用Web组件调用EJB被 保护的方法 588 14.4.4 EJB编程式安全 592 14.5 使用SSL建立安全连接 592 14.5.1 SSL基础知识 593 14.5.2 安装和配置SSL支持 593 14.5.3 在配置描述符指定安全连接 595 14.6 本章小结 597 第15章 电子拍卖系统 598 15.1 系统功能简介和架构设计 599 15.1.1 系统功能简介 599 15.1.2 系统架构设计 599 15.2 持久层设计 600 15.2.1 系统实体 601 15.2.2 系统E-R图和数据 601 15.2.3 实现JPA 实体 603 15.2.4 管理持久化单元 612 15.3 实现系统EAO层 614 15.3.1 实现EAO基类 615 15.3.2 实现系统EAO组件 618 15.4 实现业务逻辑层 622 15.4.1 定义业务逻辑组件接口 622 15.4.2 依赖注入EAO组件 624 15.4.3 业务逻辑组件的异常处理 625 15.4.4 处理用户竞价 627 15.4.5 判断拍卖物品状态 631 15.4.6 事务管理 633 15.5 实现系统Web层 633 15.5.1 安装JSF 633 15.5.2 处理用户登录 634 15.5.3 图形验证码 639 15.5.4 登录控制 642 15.5.5 添加物品 643 15.5.6 处理用户竞价 650 15.6 使用SiteMesh页面装饰 656 15.6.1 在Web应用安装SiteMesh 656 15.6.2 定义页面装饰 657 15.7 本章小结 659

110,534

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧