首 页文章中心下载中心繁體中文
设为首页
加入收藏
联系我们
您当前的位置:开源盛世-源代码下载网 -> 文章中心 -> GIS 专区 -> 文章内容 退出登录 用户管理
栏目导航
· VC++专区 · V B 专区
· GIS 专区 · PDA 专区
· 其他编程 · 网站开发类
· 数据库类 · 软件应用
· 网络安全 · 论文专区
· 综合资讯
热门文章
· Tab Control控件使用...
· 学生档案管理系统
· [图文] 排列组合公式
· UTF-8与GB2312之间的...
· DirectShow下载安装...
· Virtual PC 在PAE模...
· Windows2000终端服务...
· MapInfo上的GIS系统...
· Mapbasic参考手册索...
· MapX应用开发中文讲...
相关文章
· ArcGIS在菜单中调用...
· [图文] Server Java开发--B...
· ArcGIS Server Java...
· ArcGIS Server Java...
· ArcGIS Server Java...
· [图文] ArcGIS Server Java...
· ArcGIS Server Java...
· ArcGIS Server Java...
· [图文] ArcGIS Server Java...
· ArcGIS Server Java...
ArcGIS Server Java开发 JSF基础
作者:不详  来源:vscodes.com整理  发布时间:2007-6-26 17:18:12  发布人:Polaris

减小字体 增大字体

   有很多开发人员问我,如果我已经有了一个JSPApplication,为了使用JSF,为了使用我们新版的ArcGIS ServerJava ADF,我需要重新修改写我的程序以让它们适应整个JSF框架么?这是一个很有意思的问题,我可以想象出大家头皮发麻,左右为难的感觉,这也引出了今天的话题,Servlet容器是如何对JSF的程序进行处理的呢?

    随便找一个JSFApplication,可以是我们的ArcGIS ServerSample,也可以是任何您从网上下载JSF例子,打开web.xml文件,你就可以看到该文件里面有如下的servlet映射:


<servlet>
    <servlet-name>Faces Servlet</servlet-name>
    <servlet-class>javax.faces.webapp.FacesServlet</servlet-class>
    <load-on-startup>1</load-on-startup>
  </servlet>
<servlet-mapping>
    <servlet-name>Faces Servlet</servlet-name>
    <url-pattern>*.jsf</url-pattern>
  </servlet-mapping>


    这是Java程序员最熟悉不过的Servlet配置了,该Servlet映射是什么意思呢?将所有对后缀名为jsf的请求,都交由javax.faces.webapp.FacesServlet来处理。哦,另外插一句,JSF的标准是公开的,如果你觉得这个FacesServlet不好,你大可以自己写一个JSF处理Servlet。将所有对jsf的请求自己来处理。事实上,已经有人这么做了,这就是Myfaces,可以参考Apache的网站。
言归正转,如何将JSF的应用集成到已经有的应用程序中呢,您一定已经想到了。事实上事情很简单,在访问某个JSF页面的时候,映射到某个目录即可。这个目录在web.xml进行了设置,比如下面的配置就可以把所有的对faces的请求,让Face Servlet来处理:


<servlet-mapping>
    <servlet-name>Faces Servlet</servlet-name>
    <url-pattern>/faces/*</url-pattern>
  </servlet-mapping>


    所以,如果你在根目录了放了一个hello.jsp页面,这个jsp页面使用了JSF框架,那么你在访问这个jsp页面时用http://servername/faces/hello.jsp就可以了,你的容器会把这样的请求提交Face Servlet来处理,这个时候,就轮到Face Servlet来大显身手了,它会忠实地执行你的请求。

    JSFManaged Bean是保存在session中的,所以你在JSF页面和普通JSP之间切换页面的时候,不会丢失信息,反过来也一样。JSF自己有自己的Page Navigation系统,但是它仍然可以跟普通的JSP页面互相切换,我们在后面的讲座中会讲到。

    所以如果你已经存在的一个项目,想上我们的ArcGIS Server,利用其基于JSFADF进行开发,也是完全可以的。当然,新的应用最好用JSF框架开发,开始时可能需要一点时间去学习,对于你后面会用到的强大的JSF的功能,这些投资是完全值得的。


    欢迎大家进入美妙的JSF的世界。

    了解了Servlet是如何处理你的JSF请求的,那么接下去我们来看看,让JSF程序跑起来需要什么必要条件,一个Servlet容器是必需的,这个一般取决于公司给我们配什么,或者客户要求什么。一般免费的好选择是Tomcat,价格便宜量又足,我们大家都用它。当然如果项目大,经费充足,IBMJ2EE容器WebsphereBea公司的 Weblogic也是一个好选择。选用大公司J2EE容器有一个好处,即使三更或者五更出了问题,你照样可以拍着桌子让他们的工程师过来帮你解决问题,如果你用我们ESRI的软件,你也可以这样;而用免费的软件三更出了问题只有我们自己出马了,当然,google和百度在这个时候看在点击率的份上,还是可以拉我们一把的。除了一个好的容器,还需要一个JSF的实现,用SUNReference Implementation总是不会错的,人家是标准的制定者嘛,名字也起做“参考实现”,写来让你参考的。也可以选择功能更加强大的MyfacesESRIArcGIS Server ADF遵循标准的JSF,所以ADF可以跑在Sun JSF实现,或者Myfaces上。我们这次所有的教程都是基于sun的标准的JSF实现。还有其它的JSF实现,大家可以根据自己的爱好,择优选择之。如果你觉得都不好用,大可以参考标准自己写一个实现,除了你的老板(要投入更多的开发经费)和你的team (要干更多的活) ,是没有人有意见的。

  如果您像我一样选择了SUN的参考实现,那么去SUN的网站上去下载一个JSF的开发包吧,如果不想下载,随便找一个Server Java ADF的例子,在WEB-INF/lib目录里面有JSF的包,名为jsf-api.jarjsf-impl.jar的两个包就是;注意那个JSP的标准标签库jstl.jar,把它跟jsf的包放在一起,你不一定用标准标签库,但是JSF用到了它。

  我把JSFdoc放在这里给大家下载,因为这个东西实在不好找,有人知道好的下载URL,可以在这里贴一个。

  把这些包放在一个web applicationlib目录里面有,你的程序你可以使用JSF的强大功能了。让我也来俗气一下,写一个简单的hello world作为今天的结束吧。注意在你的web application里面的web.xml配置文件添加了Face Servlet的声明和URI映射。



<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<%@ page c%>
<%@ taglib uri="http://java.sun.com/jsf/core" prefix="f" %>
<%@ taglib uri="http://java.sun.com/jsf/html" prefix="h" %>
<meta http-equiv="Content-Type" c>

<f:view>
  <html>
    <head>
      <title>
        欢迎来到ArcGIS Server ADF 世界
      </title>

    </head>
    <body>
      <h:form id="welcomeForm">
        <h:outputText id="welcomeOutput" value="欢迎来到ArcGIS Server Java ADF 教程!"  style="color: red;"/>
        <p>
         <h:message id="errors" for="helloInput" style="color: red"/>
        </p>
        <p>
          <h:outputLabel for="helloInput">
            <h:outputText id="helloInputLabel"
                          value="123"/>
          </h:outputLabel>
      </h:form>
    </body>
  </html>
</f:view>


    保存后访问Http://servername:port/faces/hello.jsp即可,如果页面能够出来,那么恭喜您,您已经迈入了JSF wonderland的大门。

End of《ArcGIS Server Java开发 JSF基础》

[] [返回上一页] [打 印] [收 藏]
 
∷相关“ArcGIS Server Java开发 JSF基础”文章评论∷
(评论内容只代表网友观点,与本站立场无关!) [更多评论...]
关于本站 - 网站帮助 - 广告合作 - 下载声明 - 友情连接 - 网站地图 网站目录 鄂ICP备06007162
开源盛世 版权所有Copyright © 2003-2005 VSCodes.Com. All Rights Reserved.