动态网站制作指南 [  QQ表情  ]
[ 投票调查 ]
[ 企业邮箱 ]
[ 网站空间 ]
网络编程 | 站长之家 | 网页制作 | 图形图象 | 操作系统 | 冲浪宝典 | 软件教学 | 网络办公 | 邮件系统 | 网络安全 | 认证考试 | 系统进程
ASP源码 | .Net源码 | PHP源码 | JSP源码 | JAVA源码 | CGI源码 | VB源码 | C++源码 | Delphi源码 | PB源码 | VF源码 | 汇编 | 服务器
Firefox | IE | Maxthon | 迅雷 | 电驴 | BitComet | FlashGet | QQ | QQ空间 | Vista | 输入法 | Ghost | Word | Excel | wps | Powerpoint
asp | .net | php | jsp | Sql | c# | Ajax | xml | Dreamweaver | FrontPages | Javascript | css | photoshop | fireworks | Flash | Cad | Discuz!
当前位置 > 网站建设学院 > 网络编程 > Java教程
Tag:注入,存储过程,分页,安全,优化,xmlhttp,fso,jmail,application,session,防盗链,stream,无组件,组件,md5,乱码,缓存,加密,验证码,算法,cookies,ubb,正则表达式,水印,索引,日志,压缩,base64,url重写,上传,控件,Web.config,JDBC,函数,内存,PDF,迁移,结构,破解,编译,配置,进程,分词,IIS,Apache,Tomcat,phpmyadmin,Gzip,触发器,socket
网络编程:ASP教程,ASP.NET教程,PHP教程,JSP教程,C#教程,数据库,XML教程,Ajax,Java,Perl,Shell,VB教程,Delphi,C/C++教程,软件工程,J2EE/J2ME,移动开发
文章搜索服务
邮件订阅
输入你的邮件地址,
你将不会错过任何关于:
[ Java教程 ]的信息

本月文章推荐
.WebSphere应用服务器保护电子商务.
.J2ME程序开发全方位基础讲解汇总.
.设计 FileSystemObject.
.Java动画中消除闪烁的两个绝招.
.Tomcat新手攻略.
.学习日期、日期格式、日期的解析.
..NET下开发Windows 服务应用程序.
.Struts 1.2.2 新功能全新体验.
.初探Java类加载机制的奥秘.
.数据压缩格式Java语言应用程序设.
.Lucene索引文件格式的规格定义.
.JFC/Swing活学活用JLabel文字魔法.
.编写高级应用程序1.
.简单的JDBC应用程序for Java DB.
.Java的Build工具??Ant应用指南.
.对象private:不能接触!.
.DudoJ框架——更进一步的设想.
.开发基于JNDI的应用程序.
.Java数据类型的封装类.
.jboss配置 mysql数据库连接.

用导航组件来构建动态 Portal 菜单

发表日期:2008-1-5 |



  简介:GridSphere 门户框架
  在上一年,基于 Portlet 的门户已成为门户服务器平台的最令人兴奋的领域之一。Java Specification Request (JSR)168(即 portlet API)的出现将答应门户供给商提供公共编程模型,该模型答应开发人员更快地将新功能插入到门户服务器中,消费者可以轻松地使用这些功能。现在,许多门户供给商支持 portlet,包括 IBM WebSphere、Sun One Portal Server、Oracle 9iAS 和 Jakarta Jetspeed 项目。
  
  GridSphere 门户 提供一个基于 portlet 的高级开放源代码门户。GridSphere 是在欧盟提供基金的 GridLab 项目 下开发的,提供了一个非常复杂的门户,该门户为各种终端用户提供高度定制的环境。portlet 模型向用户提供了一个灵活易用的接口,并向门户开发人员提供了一个模型,用于创建可插入的和动态的应用程序支持。下面简要列出核心的 GridSphere 特性:
  
  Portlet API 的实现与 IBM WebSphere Portal Server 4.2 或更高版本紧密兼容。
  易于开发并易于与插入到 GridSphere portlet 容器中的“第三方 portlet”集成。
  级别更高的模型,用于使用可视的 bean 和 GridSphere User Interface (UI) 标签库构建复杂的 portlet。
  灵活的基于 XML 的门户表示描述,可以轻松对其进行修改来创建自定义的门户布局。
  对基于角色的访问控制(Role Based Access Control,RBAC)提供内置的支持,RBAC 将用户分为 guest、user、admin 和 super user。
  复杂的服务模型,答应创建“用户服务”,可以按照用户权限限制服务方法。
  通过 Hibernate for RDBMS 数据库支持提供数据的持久性。
  为 portlet 服务的服务端测试集成了 Junit/Cactus 单位测试,包括生成测试报告。
  GridSphere 核心 portlet 提供基本功能,包括登录、注销、用户和访问控制治理。
  由于 GridSphere portlet API 几乎与 WebSphere portlet API 完全相同,所以您应该多看看 developerWorks 文章,这些文章在 参考资料 和 IBM WebSphere Portal Zone 中列出。在理论上,使用 IBM WebSphere Portal Server 开发本文中的示例 portlet 应该不难。GridSphere API 与 JSR Portlet API 1.0 最后的规范非常类似,gridSphere 的将来版本是符合 JSR 168 的。
  
  GridSphere 项目
  GridSphere Web 站点提供关于开发 portlet 的附加文档、有关使用 GridSphere 的信息和其他资源的集合。要获得这些信息,请加入 GridSphere 邮件列表中。
  
  当前的 GridSphere 版本提供了一个门户、一个 portlet 容器和一组有用的核心 portlet,包括用户和组治理以及布局定制和 portlet 订阅。
  
  安装 GridSphere
  从 http://www.gridsphere.org 下载最新的 GridSphere 版本并按照指示安装该门户。前提条件是您必须在系统中安装了 Java 技术 Ant 和 Tomcat 4.1.X servlet 容器。安装了 GridSphere 后,可以只启动 Tomcat,然后在 Web 浏览器中,单击 http://127.0.0.1:8080/gridsphere/gridsphere 查看该门户。初始配置答应您以“root”身份登录,而且不用输入口令。登录后,转至 Administration->Users 选项卡,单击 root 用户来编辑配置文件。更改口令和其他设置,包括您的登录名和电子邮件地址。登录后,您就成为 GridSphere 门户治理员。
  
  图 1. GridSphere 用户治理器 portlet
  
 用导航组件来构建动态 Portal 菜单(图一)

  网格服务简介
  在提供对用户的虚拟组织(Virtual Organization,VO)内的计算资源和数据资源的安全统一访问方面,门户正变得越来越复杂,所以网格 portlet 必须依靠某种类型的中间件来执行这些操作。开放网格服务基础设施(Open Grid Services InfrastrUCture,OGSI)规定如何创建网格服务,而 OGSI 是整体开放网格服务体系结构(Open Grid Services Architecture,OGSA)的一部分。Globus Toolkit 3.0 (GT3) 提供了 OGSI 的 Java 参考实现。GT3 提供了强制性网格服务特性,如服务调用、生存期治理、服务数据接口、依靠底层公钥基础设施(Public Key Infrastructure,PKI)的安全接口。网格服务扩展了 Web 服务,因此在实际中,编程模型很相似。
  
  简而言之,使用 GT3 创建网格服务的步骤如下所示:
  
  创建定义服务接口的 WSDL 接口。可以采用工具转换采用 Java 或 C 语言编写现有接口以生成 WSDL。
  使用 GT3 工具从 WSDL 服务器接口生成客户机和服务器存根(stub)。
  填写服务器骨架(skeleton)实现代码。
  配置服务部署描述符并部署服务到宿主容器。
  幸运的是,GT3 与一组供我们使用的示例服务绑定在一起。因此,我们将集中讨论使用现有服务和现有的客户机存根代码来访问服务。 幸运的是,您下载的 Tomcat 服务器还可以充当 OGSI 网格服务宿主环境,答应 GridSphere 门户框架和 OGSA GT3 示例服务一起运行。
  
  下一节预备开发示例 portlet,您应从 Globus Web site 下载最新的 GT3 版本。要构建示例并部署到 Tomcat 容器中,请发出下列命令,其中 $CATALINA_HOME 设置为下载 Tomcat 的位置。
  
   %> ant
   %> ant samples
   %> ant -Dtomcat.dir=$CATALINA_HOME deployTomcat
  
  现在,由于示例 portlet 需要一些 GT3 类,所以需要将 OGSA Web 应用程序的库复制到 portlet 可以找到的 Tomcat 共享库目录。
  
   %> cp $CATALINA_HOME/webapps/ogsa/WEB-INF/lib/*.jar $CATALINA_HOME/shared/lib/
  
  根据 GT3 User's Guide(请参阅“参考资料”),最后一步是将下列条目添加到 $CATALINA_HOME/conf/web.xml 中,配置 Tomcat 以接受 WSDL、GWSDL 和 XSD 文件扩展名:
  
  <mime-mapping>
    <extension>gwsdl</extension>
    <mime-type>text/xml</mime-type>
  </mime-mapping>
  <mime-mapping>
    <extension>wsdl</extension>
    <mime-type>text/xml</mime-type>
  </mime-mapping>
  <mime-mapping>
    <extension>xsd</extension>
    <mime-type>text/xml</mime-type>
  </mime-mapping>
  
  编写网格计数器服务 portlet
  在网格 portlet 示例中,我们使用 Globus Toolkit 提供的示例 OGSI 计数器服务编写一个简单的加减数字的 portlet。计数器服务表示为 CounterPortType,它是基 GridService 接口的子类,有三个方法,如下面的图 2 所示:
  
  图 2. 计数器服务的 UML 图
  
 用导航组件来构建动态 Portal 菜单(图二)

  add(int a) 和 suBTract(int b) 方法添加或减去提供的值并返回新值。getValue() 方法只返回静态计数器值的当前结果。
  
  1. 编写 portlet
  在计数器 portlet 示例中,用户可以输入整数值,然后单击 "Add" 或 "Subtract" 按钮加上或减去计数器服务的值,并显示已更新的计数器值。
  
  当第一次实例化 portlet 时,init() 方法被调用,向该 portlet 提供由任何后续 portlet 请求使用的所有必需的初始信息或配置信息。portlet 编程模型将表示(portlet 的呈现)和逻辑(当某个动作发生时必须执行的操作)分为不同的 portlet 方法。portlet 容器负责调用 doView() 呈现方法来显示 portlet,并在 portlet 收到事件(如按钮单击或表单提交)时,负责调用 actionPerformed() 方法。Portlet 可以向用户提供几种模式,包括 Edit、Configure 或 Help,从而向用户提供特定模式的接口。portlet 必须提供适当的呈现方法,如 doEdit 用于支持编辑模式。对于熟悉 servlet 的人员而言,portlet 开发非常相似,只是 servlet 的 doGet 或 doPost() 方法由 actionPerformed() 和 doXXX() portlet 方法取代。portlet 编程和 servlet 编程的另一个显著差别在于 PortletResponse、PortletConfig 和 PortletContext 类的使用,这些类在现有的由 Java Servlet API 提供的 HttpServletRequest、HttpServletResponse、ServletConfig 和 ServletContext 类的基础上装饰(也就是提供)了附加的功能。
  
  最终的 portlet 如下所示:
  
  清单 1. 计数器服务 portlet
  
  public class GridCounterPortlet extends AbstractPortlet {
  
  public static final String VIEW_jsp = "/jsp/ogsa/counter/view_counter.jsp";
  
  // Create a URL for the counter service
  private static final String counterUrl =
  "http://127.0.0.1:8080/ogsa/services/samples/counter/basic/CounterFactoryService";
  
  private LocatorType locator = null;
  private CounterPortType counter = null;
  
  public void init(PortletConfig config) throws UnavailableException {
  super.init(config);
  try {
   // Create a grid service handle from the service URL
   URL GSH = new URL(counterUrl);
  
   // Get a reference to the CounterService Factory
   OGSIServiceGridLocator gridLocator = new OGSIServiceGridLocator();
   Factory factory = gridLocator.getFactoryPort(GSH);
   GridServiceFactory counterFactory = new GridServiceFactory(factory);
  
   // Create a new CounterService instance and get a refe
上一篇:JBuilder 编辑器常规设置及优化(1) 人气:694
下一篇:华山论剑:C#对Java 人气:518
浏览全部Java的内容 Dreamweaver插件下载 常用网页广告代码全集
  最新网站源码 最新软件下载
2008-10-10 企业网站智能管理系统(TZIMS) v6
2008-10-10 拓文asp.net网站内容管理系统 v6
2008-10-10 动网论坛PHP版 v2.0++ Build 081
2008-10-10 免费时代CMS v5.0
2008-10-10 wodig第四季中文DIGG社区 v4.1 b
2008-10-10 老Y文章管理系统 v2.2 bulid 081
2008-10-10 魔法盒动感相册 ASP+SQL版 v2.0
2008-10-10 Asoft签到管理系统 v3.0 Pack1
2008-10-10 哥特人音乐网潮流留言本 v1.1
2008-10-11 联系人分组工具 v1.1 中文破解版
2008-10-11 FaceMelter变脸 v2.0 汉化破解版
2008-10-11 PathTracker道路跟踪仪 v1.2 破解
2008-10-11 Rooms手机聊天室 v0.6.7 破解版
2008-10-11 RemoteDesktop远程桌面 v1.0 破解
2008-10-11 ProRemote远程调音台 v1.0.1 破解
2008-10-11 PicShare照片共享 v1.0.0 破解版
2008-10-11 Photogene照片编辑器 v1.5 汉化破
2008-10-11 WriteRoom共享文档 v1.0 破解版
  发表评论
姓 名: 验证码:
内 容:
站长工具:网站收录查询 | Google PR查询 | ALEXA排名查询 | CSS在线编辑器 | 广告代码 | js/vbs加密 | md5加密 | 进制转换 | UTF-8 转换工具 | Html转换js | Html转换asp | Html转换php | Html转换perl
实用工具:汉字翻译拼音 | 拼音字典 | 符号对照表 | 个税计算 | 实时汇率查询换算 | 经典小工具 | 汉字简繁转换 | 普通单位换算 | 公制单位换算 | 生辰老黄历 | 国内电话区号 | 国家代码与域名缩写 | 文字加密解密 | 健康查询 | 万年历 | 汉字横竖排版 | 手机号码查询 | 计算器 | ip搜索
业务联系 | 广告刊登 | 频道合作 | 投稿荐稿 | 联系方式 | 加入收藏 | RSS订阅
Copyright © 2000-2008 www.knowsky.com All rights reserved | 网络实名:动态网站制作指南 | 沪ICP备05001343号
ホームページ制作 不動産検索システム 求人情報
防水工事·改修工事 フットサル大会 探偵
SEO対策 中国語教室 ホームページ作成