网络编程 | 站长之家 | 网页制作 | 图形图象 | 操作系统 | 冲浪宝典 | 软件教学 | 网络办公 | 邮件系统 | 网络安全 | 认证考试 | 系统进程
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,移动开发
本月文章推荐
.介绍NEC扩展API.
.DBCP连接池测试用例(8月修正版).
.谨慎使用单精度/双精度这两数值类.
.J2EE基础:Java EJB容器存取和实.
.Java变量类型间的相互转换.
.Java 语法介绍(一):Java语言的基.
.课程介绍(9):SL-310 超越CGI开发.
.WebWork中使用动态Form字段.
.探索Application Server的世界.
.详细讲解怎样在Java中运行其它应.
.向高手请教ant构建工具的类装载器.
.Sun公司计划推出Java语言工具主要.
.在J2EE组件中引用和查找Web服务.
.Sun:JavaFX Mobile和JavaFX Scr.
.Enterprise JavaBeans 基础知识简.
.SWT/JFace入门指南之用Layout管理.
.了解Hibernate的FlushMode.NEVER.
.Java的网络功能与编程6.
.Spring MVC验证的配置步骤.
.java基础知识:KVM的扩展.

关于可扩展的web架构设计的探索-框架结构的描述文件

发表日期:2008-1-5


    这两天我一直在想,怎样定义框架结构的描述文件。我从以下几个方面考虑:

  1. 完整性。在框架的答应范围内任何情况它都能够描述。
  2. 语义性。所有的描述必须是唯一、明确。
  3. 一致性。所有的描述必须是统一,不可相互冲突。
  4. 可引用性。所有描述元素必须可达,必须易于访问。
  5. 可维护性。描述文件可配置、可扩展、可再生。
  6. 可读性。所有的描述必须是易于理解。

    现在我需要这样的一个描述文件:描述框架网页,也就是frame的网页。 先前我分析了eclipse的插件描述文件。它是这样定义的:

<?XML version="1.0" encoding="UTF-8"?>
<plugin
   id="com.nidapeng.eclipse.plugin"
   name="Welcome to Eclipse"
   version="1.0"
   provider-name="Ni Dapeng">
<requires>
   <import plugin="org.eclipse.ui"/>
</requires>
<runtime>
   <library name="welcome.jar"/>
</runtime>
<extension
      point="org.eclipse.ui.views">
   <category
         name="Welcome"
         id="com.nidapeng.eclipse.plugin.category1">
  </category>
   <view
         name="Welcome to Eclipse"
         category="com.nidapeng.eclipse.plugin.category1"
         class="com.nidapeng.eclipse.plugin.Welcome"
         id="com.nidapeng.eclipse.plugin.view1">
  </view>
</extension>
</plugin>
    plugin.xml中一共有四个主要的标签:plugin,requires,runtime,extension。其中plugin标签的属性提供的是我们要开发的Welcome插件的基本信息,除了name,version,provider-name等,最重要的是id,我们通过它可以索引到此元素。requires标签中所列出的是需要的插件,这里我们要用到Eclipse Workbench和SWT API,因此导入了org.eclipse.ui插件。 runtime标签指明的是我们开发的插件所在JAR包的文件名。extension标签是插件扩展点的信息。 org.eclipse.ui.views是Eclipse系统提供的观察窗口扩展点,我们的例子是一个观察窗口(View),这表明我们是要在 org.eclipse.ui.views扩展点上进一步开发。 extension中还包括category和view两个标签,并且在view的属性中声明了Welcome插件的类名。

    我以为我发现了宝贝,兴奋了好一阵!你看,多么美妙的结构。包含了外部包的声明、运行时的库、扩展点的设置、视图的定义。最最闪亮之处就是扩展点。这意味着所有的插件都可以具备容器的能力,插件可以插入另外一个插件里面,插件本身就是个可扩展的。

    当我着手建立这样的Java模型时候,我碰到难题了。我怎样才能将插件视图插入到框架视图里呢?我怎样才能实现框架与插件之间的通信,包括事件的传递。

    首先说明一下这个框架的具体的应用和所采用的技术。这个框架是个web应用,窗体可配置的,可能是上下一分为二,也可能是左右一分为二等等,并且窗体可嵌套的。窗体的每一区域具体的视图也可配置的,可能是个导航条,也可能是个列表框。技术打算采用struts的架构,保留action、bean、view。它们可以帮助我们完成其中一些繁重的工作。所以容器治理只能是struts本身的ActionServlet容器或者它的子类。

    Struts是一个高度可配置、高度扩展性的MVC框架,我们几乎可以用它开发任何能想到的用Java技术的Web应用。MVC模式的每一部分在StrUCts中都有相关对应部分。在struts里action是控制层,bean是模型层,view是视图层。

    现在我们把框架需求整理一下,以便我们更好的分析和定义框架的描述文件。

  1. 窗体可配置
  2. 窗体可嵌套
  3. 视图可配置
  4. 视图可定义
  5. 建立在struts框架之上

    好了,现在知道我们需要做什么了。我们的描述文件里需要包括下列元素:

  1. 窗体描述
  2. 扩展点描述
  3. antion关联

    这里没有视图描述,因为struts已经将action关联了视图。所以我们只需要治理action就行了。视图的处理全部交给struts去做了。

    太累了,这里先放上初步的框架描述文件。以后等大脑清醒了,再阐述~

<?xml version="1.0" encoding="UTF-8"?>
/*begin插件定义*/
<plugin
    id="com.useeasy.plugin"
    name="Welcome to frame"
    version="1.0"
    provider-name="doJava">
/*begin扩展区定义*/
<frameset
    rows="64,*"
    desc="可扩展插件的web框架"
    extension="com.useeasy.frame">
<frame
    id="com.useeasy.header"
    scrolling="no"
    noresize="true"
    action="/headAction"
    desc="第一个扩展区"
</frame> 
<frame
    id="com.useeasy.main
    action="/listAction"
    desc="第二个扩展区">
</frame> 
</frameset> //定义两个扩展区
/*end扩展区定义
</plugin>
/*end插件定义*/


上一篇:利用 Java Web Start发布你用java程序 人气:574
下一篇:JAVA 多进程应用 多个定时器作业的SWING界面及实现 -- s00n 人气:1356
浏览全部Java的内容 Dreamweaver插件下载 网页广告代码 祝你圣诞节快乐 2009年新年快乐