- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
网络程序设计编程基础
控制器的算法概要 分析输入参数 发布时 将用户输入发给PubTopic;转向 Pub.jsp 订阅时 将用户输入发给SubTopic;转向 Sub.jsp 查询时 从DataBean查询出版信息;传输到 Show.jsp 继续时 转向 Sub.jsp 实现技术 设计模式 JSP 实现页面视图 View Servlet 实现控制 Control JMS 实现消息传递 交互关系 JSP 表单动作(form)? CtrlServlet CtrlServlet 发消息 ? 消息主题 Servlet 转发 ? JSP 页面 消息响应 ? 无状态会话Bean ? 数据库 数据传输 构件之间:参数、消息 Servlet和JSP之间:sessions/request属性 7.3 设计要点小结 需求分析 从用户的角度、外部功能需求 数据分析、运行环境、约束条件 人机交互设计 界面设计、使用方法的设计 软件结构设计 MVC 模式:功能分解 View – Control – Model 模块划分 ? 对象模型(数据 + 功能) P2P 消息模型 发送者和接收者一一对应 消息队列专用、消息先进先出 发送者 。。。 。。。 消息 队列 。。。 。。。 接收者 发送消息 确认 接收消息 P2P 通信过程 EJB 环境下P2P通信的实现 创建消息队列 通过 JNDI 获得消息队列 通过 JNDI 获得消息队列工厂 建立消息队列连接 建立消息队列作业 建立发送者对象或接收者对象 发送或接收消息 关闭队列链接 消息队列 Queue 是一种 EJB 资源、由 JNDI 管理 发布/订阅模型 主题 一个或多个发布者、一个或多个订阅者 保持主题和订阅者的联系 发布者 主题 订阅者 订阅者 发布 传递 传递 订阅 订阅 发布/订阅通信过程 EJB 环境下发布/订阅的实现 创建主题 通过 JNDI 获得主题 通过 JNDI 获得主题创建工厂 建立主题连接 建立主题作业 建立发布者对象或订阅者对象 发布者发布主题或订阅者预约主题(注册监听者) 关闭主题连接 监听者对象 负责接收消息、分析处理消息 主题 Topic 是一种 EJB 资源、由JNDI管理 JMS 资源的创建和注册(GlassFish环境) “新建文件” 定义 JMS 资源(自动生成队列或主题) 管理对象资源 P2P 消息队列:javax.jms.Queue 发布/订阅主题:javax.jms.Topic 连接器资源 队列连接工厂、主题连接工厂 注册 服务器资源描述:sun-resources.xml 可手工修改(如:资源的name属性) 消息驱动Bean的开发 MDB 的用途 支持P2P模型的接收者 支持发布/订阅模型的订阅者 创建方法 “新建文件”?”企业“?”消息驱动Bean“ 指定 EJB 名:myMsg 在项目目标处指定消息队列或主题的JNDI名称 生成的程序 myMsgBean.java 生成消息监听类 myMsgBean 消息处理函数onMessage 例6-1:消息接收Bean的代码 @MessageDriven(mappedName=“jms/Queue1”, activationConfig={ @activationConfigProperty( 通信模式 propertyName=“acknowledgeMode”, propertyValue=“Auto-acknowledge”), @activationConfigProperty( 目标类型 propertyName=“destinationType”, propertyValue=“javax.jms.Queue”) }) public class myMsgBean implements MessageListener { public myMsgBean( ) { } public onMessage( Message message ) { … 消息处理的业务逻辑(手工编制) } } 消息发送代码的生成 右键(任意 Java程序的编辑中) 点击?”企业资源”?”发送JMS消息” 选择消息驱动Bean、对象资源、工厂资源 在程序中自动生成代码 createJMSMessageForjmsTopic1 方法(或Query1) 用于构造消息(按照应用需求) sendJMSMessageToTopic1 方法(Query1) 用于发送消息 使用范围 P2P模型的发送者、发布/订阅模型的发布者 例6-2:消息发送代码?队列Query1 public class MyProg { @Resource(name = “jms/Queue1”) private Queue Que
文档评论(0)