当前位置:首页 » 软件开发
开发技术指南» 文章正文
    引言: 技术分析报告:2004-09-17 本期主题:JSF(Jav
 

 

 ·jdbc url    »显示摘要«
    摘要: 1.jdbc url的概念 jdbc url提供了一种标识数据库的方法,可以使相应的驱动程序能识别该数据库并与之建立连接。实际上,驱动程序编程员将决定用什么jdbc url来标识特定的驱动程序。用户不必关心如何来形成jdbc url,它们只须使用与所用的驱动程序一起提供的url即可。jdbc的作用是提供某些约定,驱动程序程序员在构造它们的jdbc url时应该遵循这些约定。 (1)由于jdb......
 ·日前和时间的操作    »显示摘要«
    摘要: java学习笔记(2) 2003/05/02 xuyunsheng 一、java中日期的获取、设置和格式化 1)java提供了3个日期类:date、calendar和dateformat。 date()方法主要用于创建日期对象并获取日期; calendar()方法主要用于获取和设置日期; dateformat()方法主要用于创建日期格式化器,然后再由格式化器将日期转换......


JSF(Java Server Face)与在Web UI实现托拽式快速开发的应用
技术分析报告:2004-09-17

  【程序编程相关:Eclipse最大对手是谁?

本期主题:jsf(java server face)与在web ui实现托拽式快速开发的应用 【推荐阅读:TIJ swot_JAVA的初学者(五)

java server face是快速开发web应用的一个框架与解决方案.他改变了以往基于java web应用的request-response处理机制,采用了事件驱动处理机制.这为在java平台上快速开发web应用提供了可能.jsf框架简化了web form有效性检查.request参数解析,状态管理,多线程支持等任务.开发人员只需实现具体的事件处理器与事务逻辑(在jsf中分别称为handlers与components). 【扩展信息:j2ee简介

java server face介绍

在采用jsf框架进行开发时,不需要继承实现jsf的任何api,应用各组件之间的关系通过一个xml(faces-config.xml)配置文件实现.他的实现方式与以往介绍过的spring框架有些类似.

java server face与mvc架构比较

与现在较为流行的mvc架构有所不同,jsf在设计结构上并没有将视图与逻辑事务严格的分开,而是依赖于java/j2me/code/ target=_blank>程序设计人员的具体实现.比如handlers与components在实际的开发中可以在一个类中实现,这样就会使视图层与逻辑处理层紧密的偶合在一起.建议在进行jsf项目时应严格要求程序设计人员将handlers与components分离.

以下是mvc(以struts为例)与jsf框架在结构设计上的比较

 

从上图可以看出,mvc与jsf的开发结构有很大的区别.mvc主要关注于开发应用各层的松散偶合;jsf则关注于事件处理.从应用上分析,mvc重视结构的划分而jsf致力于为快速开发提供基础解决方案.笔者建议不能简单的比较两种架构的优劣,应结合实际的开发与应用选择.

java server face的技术实现

jsf框架的实现依赖于以下几种技术:java tag lib,ioc type2(setter and getter),xml

在jsf的表示层使用tag lib技术处理web的form object

使用ioc type2与xml将form object与具体的handler与component关联起来

java server face的示例

示例应用需求说明:实现一个用户管理功能,要求将视图层.逻辑层.数据访问层分开,降低各层的偶合度.

下图是示例的简单类图,其中数据层采用dao+hibernate技术

 

userform代码:

package jsfdemo.forms;

 

 

/**

 * created date:2004-8-19

 * @author genstone

 *

 */

public class userform

{

    private string username;

    private long userid;

    private string password;

   

    /**

     * @return returns the username.

     */

    public string getusername()

    {

        return username;

    }

    /**

     * @param username the username to set.

     */

    public void setusername(string username)

    {

        this.username = username;

    }

    /**

     * @return returns the password.

     */

    public string getpassword()

    {

        return password;

    }

    /**

     * @param password the password to set.

     */


...   下一页
 ·session变量的操作    »显示摘要«
    摘要: 将变量放入session中去 例:session.putvalue("anchor",v_key); <%@ page contenttype="text/html;charset=gb2312" %> <%@ page info="database handler"%> <%@ page import="java.io.*"%> <%@ page......
» 本期热门文章:

©2000-2007 All Rights Reserved. 最佳浏览:1024X768 MSIE