<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    隨筆-112  評論-73  文章-0  trackbacks-0

    ????最近在準備一個項目,經過比較最終選JSF1.2 +Spring2.0 +Hibernate3.2的框架,至于為什么我就不說了,每個都有自己的看法。下面進入正題。

    ????開發工具是MyEclipse5.5 支持JEE5的開發,其實用到JEE5的功能可能很少或者沒有,但即然有還是選擇先進的技術吧。JSF1.2暫時選擇SUN的實現,以后要可以隨時換成MyFaces的(現在MyFaces是1.1.5吧?),Spring是2.0.5版。使用Maven2來管理Jar包和生命周期,用著也是很方便的,比ANT要少寫不少配置的東西。而且有專門的E clipse下的插件。

    ????開始操作吧。

    1. 新建工程

    在MyEclipse下新建一個Web工程。注意J2EE服務器選擇J2EE5.0 ,然后點完成。以前的MyEclise新建Web工程很慢,有時會死機,現在好多了。已經好長時間沒用MyEclipse了。

    1. 加入JSF

    在工程目錄上點右鍵,在菜單中選擇MyEclipse->Add JSF Capabilities…會出現一個窗口,如圖

    Faces-config.xml 文件放到/WEB-INF/目錄下,Faces Servlet name 保持不變是 Faces Servlet即可,我將URL pattern 改成了*.jsf ,不改也可以只是要注意后面涉及到訪問JSF的都要用*.faces。

    現在JSF就配置好了,主要是web.xml中的一個Servlet和faces-config.xml。

    1. 加入Spring

    用MyEclipse也能夠象加入JSF一樣加入Spring 的支持,但是我們要用MAVEN2來管理JAR包,所以就不用這種方式加入。在工程點上右鍵,在彈出的菜單中選擇Maven2然后選擇endable。(要求你得先正確安裝Maven2Eclipse的插件, 插件的更新地址是:http://m2eclipse.codehaus.org/update/,多數是不成功,得找一個正確的Eclipse版本,我也是換了好多個版本)。

    在彈出的窗口中輸入要求的信息,主要是packaging 選擇war。

    完成后工程根目錄就會新建一個pom.xml 文件。在文件上右鍵,maven2->add dependency 來加入需要的jar包??聪旅嫱暾?a href="#_完整pom.xml">pom.xml(注意:編輯完pom.xml之后編譯工程就要聯網下載jar包了。)

    ?

    在WEB-INF/目錄下一個名為applicationContext.xml的文件,因為了Spring啟動時會自己在這個目錄下查找這個文件。內容如下:

    <?xml version="1.0" encoding="UTF-8"?>

    <beans xmlns=http://www.springframework.org/schema/beans xmlns:xsi=http://www.w3.org/2001/XMLSchema-instance xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.0.xsd">

    ????????????

    </beans>

    只是一個沒有任何配置的文件。

    1. JSF結合Spring

      Spring 加入后,得讓它能夠和JSF結合起來工作,也就是在JSF中能夠訪問Spring中的bean,只需要在web.xml文件中加入下面一段:

    ????<listener>

    ????????<listener-class>

    ????????????org.springframework.web.context.ContextLoaderListener

    ????????</listener-class>

    ????</listener>

    這樣就可以訪問Spring 中的bean 了。

    ????例如:

    ????????Faces-confg.xml中的一段代碼

    ????<managed-bean>

    ????????<managed-bean-name>UserBean</managed-bean-name>

    ????????<managed-bean-class>

    ????????????cn.xiangyunsoft.web.jsf.beans.UserBean

    ????????</managed-bean-class>

    ????????<managed-bean-scope>session</managed-bean-scope>

    ????????<managed-property>

    ????????????<property-name>userDao</property-name>

    ????????????<value>#{userDao}</value>

    ????????</managed-property>

    ????</managed-bean>

    ????其中#{userDao} 這個就是訪問Spring中的bean .

    ????applicationContext.xml

    ????<bean id="userDao"

    ????????class="cn.xiangyunsoft.busniess.dao.impl.UserDaoImpl">

    ????????……

    ????</bean>

    ????

    1. ????加入Hibernate3

      在pom.xml文件中加入依賴包??春竺嫱暾?a href="#_完整pom.xml">pom.xml

    applicationContext.xml文件加入下面代碼

    ????<bean id="XYSDataSource"

    ????????class="org.apache.commons.dbcp.BasicDataSource">

    ????????<property name="driverClassName"

    ????????????value="net.sourceforge.jtds.jdbc.Driver">

    ????????</property>

    ????????<property name="url"

    ????????????value="jdbc:jtds:sqlserver://localhost:1433/erpdata">

    ????????</property>

    ????????<property name="username" value="sa"></property>

    ????????<property name="password" value=""></property>

    ????</bean>

    ????<bean id="HibernateSessionFactory"

    ????????class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">

    ????????<property name="dataSource">

    ????????????<ref bean="XYSDataSource" />

    ????????</property>

    ????????<property name="hibernateProperties">

    ????????????<props>

    ????????????????<prop key="hibernate.dialect">

    ????????????????????org.hibernate.dialect.SQLServerDialect

    ????????????????</prop>

    ????????????</props>

    ????????</property>

    ????</bean>

    第一個bean XYSDataSource是設置數據源,也可以把它換成JNDI方式由服務器管理的數據源。

    第二個bean HibernateSessionFactory是設置HibernateSession工廠,可以通過Spring bean 來訪問Hibernate session.因為使用annotations方式配置hibernate,所以連hibernate.cfg.xml 都不用了!

    1. 完整pom.xml

    <?xml version="1.0" encoding="UTF-8"?><project>

    <modelVersion>4.0.0</modelVersion>

    <groupId>cn.xiangyunsoft</groupId>

    <artifactId>XI</artifactId>

    <packaging>war</packaging>

    <version>0.0.1</version>

    <description></description>

    <dependencies>

    <dependency>

    <groupId>org.springframework</groupId>

    <artifactId>spring-core</artifactId>

    <version>2.0.5</version>

    </dependency>

    <dependency>

    <groupId>org.springframework</groupId>

    <artifactId>spring-support</artifactId>

    <version>2.0.5</version>

    </dependency>

    <dependency>

    <groupId>org.springframework</groupId>

    <artifactId>spring-hibernate3</artifactId>

    <version>2.0.5</version>

    </dependency>

    <dependency>

    <groupId>org.springframework</groupId>

    <artifactId>spring-aop</artifactId>

    <version>2.0.5</version>

    </dependency>

    <dependency>

    <groupId>org.springframework</groupId>

    <artifactId>spring-jpa</artifactId>

    <version>2.0.5</version>

    </dependency>

    <dependency>

    <groupId>org.springframework</groupId>

    <artifactId>spring-jms</artifactId>

    <version>2.0.5</version>

    </dependency>

    <dependency>

    <groupId>org.springframework</groupId>

    <artifactId>spring-jca</artifactId>

    <version>2.0.5</version>

    </dependency>

    <dependency>

    <groupId>org.springframework</groupId>

    <artifactId>spring</artifactId>

    <version>2.0.5</version>

    </dependency>

    <dependency>

    <groupId>org.hibernate</groupId>

    <artifactId>hibernate-annotations</artifactId>

    <version>3.2.1.ga</version>

    </dependency>

    <dependency>

    <groupId>commons-dbcp</groupId>

    <artifactId>commons-dbcp</artifactId>

    <version>1.2.2</version>

    </dependency>

    </dependencies>

    </project>

    好了。所有的配置都完成了。現在他們可以好好的相處了。就差加點代碼讓它們工作了。過兩天會把完整的代碼發上來。

    還有,JSF+Spring+hibernate最少需要那些Spring的包還沒試。誰知道可以知會一下?,F在差不多是都加上了。

    posted on 2007-05-24 15:46 Libo 閱讀(5464) 評論(16)  編輯  收藏

    評論:
    # re: JSF1.2 +Spring2.0 +Hibernate3.2 2007-05-24 16:58 | 三告習習
    把排版弄好些吧
    這樣子看起來挺吃力的哦
    比如,xml文件可以用“插入代碼”,那里可以選擇xml格式的  回復  更多評論
      
    # re: JSF1.2 +Spring2.0 +Hibernate3.2 2007-05-24 18:46 | 魚腸劍
    發上來才看出來排版比較亂.我是用Word發的.而且是沒有圖.不知道大家都是用什么來寫BLOG.怎么備份BLOG.  回復  更多評論
      
    # re: JSF1.2 +Spring2.0 +Hibernate3.2 2007-05-24 19:58 | Thomas
    要開始的項目,也用jsf+hibernate+spring,有機會,交流交流。  回復  更多評論
      
    # re: JSF1.2 +Spring2.0 +Hibernate3.2 2007-05-24 21:52 | Druze.libo
    使用myfaces,別忘了用tomahawk和sandbox  回復  更多評論
      
    # re: JSF1.2 +Spring2.0 +Hibernate3.2 2007-05-25 07:45 | 布衣郎
    光一個jsf是不夠的,還需要faceslet,ajax4jsf,richfaces的支持。夠你忙乎一段時間的。  回復  更多評論
      
    # re: JSF1.2 +Spring2.0 +Hibernate3.2 2007-05-25 08:22 | lgx522
    MyEclipse是D版吧。既然開源就開源到底,還是用wtp和FacesIDE這類的東西重新架一次吧。  回復  更多評論
      
    # 用Myface里的tomahawk和facelets吧!!! 2007-05-26 19:36 | qq-445104284
    我已經試用過JSF1.2,它解決了與JSP的兼容問題,但組件用起來遠不如Tomahawk,比如動態樹形菜單,HTML編輯器,文件上傳.這些Tomahawk做得很好!但tomahawk是基于JSF1.1的,與JSP不兼容,怎么辦?所以,引入了Facelets.Facelets很好得解決了JSF與JSP的兼容問題,另外Facelets引入了模版的技術-XHTML,這個東西要比Struts的Tiles好用得多.建議大家看一下那本core of jsf.掌握好JSF1.1.
      還望多多指教,我的qq:445104284.  回復  更多評論
      
    # re: JSF1.2 +Spring2.0 +Hibernate3.2 2007-06-06 05:09 | chinaboy
    對你的文章很感興趣,你的后續什莫時候發表?  回復  更多評論
      
    # re: JSF1.2 +Spring2.0 +Hibernate3.2 [未登錄] 2007-08-13 14:11 | wzjin
    知道配置也沒有用!  回復  更多評論
      
    # re: JSF1.2 +Spring2.0 +Hibernate3.2 2007-10-26 10:18 | 中華信鴿
    不錯。  回復  更多評論
      
    # re: JSF1.2 +Spring2.0 +Hibernate3.2 2008-06-11 23:56 | gembin
    RichFaces3.2.0+Spring2.5.4 +Hibernate3.2 怎么配置

    我的 BackingBean Setter方法里設的值總是 NULL  回復  更多評論
      
    # re: JSF1.2 +Spring2.0 +Hibernate3.2 2008-06-12 00:03 | gembin
    <context-param>
    <param-name>javax.faces.STATE_SAVING_METHOD</param-name>
    <param-value>client</param-value>
    </context-param>
    <context-param>
    <param-name>org.richfaces.SKIN</param-name>
    <param-value>blueSky</param-value>
    </context-param>
    <context-param>
    <param-name>contextConfigLocation</param-name>
    <param-value>/WEB-INF/applicationContext.xml</param-value>
    </context-param>
    <listener>
    <listener-class>
    org.springframework.web.context.ContextLoaderListener
    </listener-class>
    </listener>
    <filter>
    <display-name>Ajax4jsf Filter</display-name>
    <filter-name>ajax4jsf</filter-name>
    <filter-class>org.ajax4jsf.Filter</filter-class>
    </filter>
    <filter-mapping>
    <filter-name>ajax4jsf</filter-name>
    <servlet-name>Faces Servlet</servlet-name>
    <dispatcher>REQUEST</dispatcher>
    <dispatcher>FORWARD</dispatcher>
    <dispatcher>INCLUDE</dispatcher>
    </filter-mapping>
    <!--servlet>
    <servlet-name>spring</servlet-name>
    <servlet-class>
    org.springframework.web.servlet.DispatcherServlet
    </servlet-class>
    <load-on-startup>2</load-on-startup>
    </servlet-->
    <!-- Faces Servlet -->
    <servlet>
    <servlet-name>Faces Servlet</servlet-name>
    <servlet-class>javax.faces.webapp.FacesServlet</servlet-class>
    <load-on-startup>1</load-on-startup>
    </servlet>

    <!-- Faces Servlet Mapping -->
    <servlet-mapping>
    <servlet-name>Faces Servlet</servlet-name>
    <url-pattern>*.jsf</url-pattern>
    </servlet-mapping>
    <application>
    <variable-resolver>
    org.springframework.web.jsf.DelegatingVariableResolver
    </variable-resolver>
    <!-- locale-config>
    <default-locale>en</default-locale>
    <supported-locale>en</supported-locale>
    <supported-locale>es</supported-locale>
    </locale-config>
    <message-bundle>messages</message-bundle-->
    </application>  回復  更多評論
      
    # re: JSF1.2 +Spring2.0 +Hibernate3.2 2008-06-12 19:07 | Libo
    richfaces沒用過.Spring2.5和JSF的結合好象用2.0的方法也是可以的.
    setter方法里是NULL?不太明白什么意思?
    最好有代碼才好判斷.再有你看看bean的作用域是什么?session or request?  回復  更多評論
      
    # re: JSF1.2 +Spring2.0 +Hibernate3.2 [未登錄] 2008-06-15 09:12 | sa
    嚴重: Error configuring application listener of class com.sun.faces.config.ConfigureListener
    java.lang.NoClassDefFoundError: org/apache/commons/digester/RuleSet
    at java.lang.Class.getDeclaredConstructors0(Native Method)
    at java.lang.Class.privateGetDeclaredConstructors(Class.java:2389)
    at java.lang.Class.getConstructor0(Class.java:2699)
    at java.lang.Class.newInstance0(Class.java:326)
    at java.lang.Class.newInstance(Class.java:308)
    at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:3771)
    at org.apache.catalina.core.StandardContext.start(StandardContext.java:4336)
    at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:761)
    at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:741)
    at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:525)
    at org.apache.catalina.startup.HostConfig.deployDirectory(HostConfig.java:920)
    at org.apache.catalina.startup.HostConfig.deployDirectories(HostConfig.java:883)
    at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:492)
    at org.apache.catalina.startup.HostConfig.start(HostConfig.java:1138)
    at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:311)
    at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:120)
    at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1023)
    at org.apache.catalina.core.StandardHost.start(StandardHost.java:719)
    at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1015)
    at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:443)
    at org.apache.catalina.core.StandardService.start(StandardService.java:448)
    at org.apache.catalina.core.StandardServer.start(StandardServer.java:710)
    at org.apache.catalina.startup.Catalina.start(Catalina.java:552)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:597)
    at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:288)
    at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:413)
    2008-6-15 9:02:23 org.apache.catalina.core.StandardContext listenerStart
    把jsf-api.jar,jsf-impl.jar,jstl-1.2.jar加入tomcat6/lib時, 就只有一個新建工程時的index.jsp,里面沒有加入任何一行代碼,啟動tomcat6就報這個錯誤,使用jdk6,請樓主及知道的人員告訴我原因,我的油箱675074381@qq.com 或者ling2012.yahoo.cn  回復  更多評論
      
    # re: JSF1.2 +Spring2.0 +Hibernate3.2 2008-06-16 13:37 | gembin
    java.lang.NoClassDefFoundError: org/apache/commons/digester/RuleSet

    看樣子是少commons-digester 包把  回復  更多評論
      
    # re: JSF1.2 +Spring2.0 +Hibernate3.2 2008-10-11 11:24 | 素馨花
    推薦一個非常棒的jsf1.2的實例Donuts1.3軟件myfaces1.2+tomahawk1.1.7),
    (www.xerllent.cn),下載頁面:http://www.xerllent.cn/sites/home/TypeView.jsp?TypeID=67

    軟件安裝需要sqlserver2000支持。)  回復  更多評論
      

    只有注冊用戶登錄后才能發表評論。


    網站導航:
     
    主站蜘蛛池模板: 国产一卡2卡3卡4卡无卡免费视频| 日韩中文字幕精品免费一区| 亚洲黄色三级视频| 国产卡一卡二卡三免费入口| 人妻无码中文字幕免费视频蜜桃| 亚洲AV无码乱码国产麻豆穿越| 性xxxxx免费视频播放| 一级一片免费视频播放| 亚洲综合久久1区2区3区| 免费人成在线观看播放国产 | 欧亚精品一区三区免费| 成人午夜影视全部免费看| 中文字幕亚洲免费无线观看日本| 日本特黄特色aa大片免费| 嫩草在线视频www免费看| 亚洲一本到无码av中文字幕| 亚洲日韩中文无码久久| 在线观看成人免费视频| 七色永久性tv网站免费看| 国产综合激情在线亚洲第一页| 久久亚洲中文字幕精品有坂深雪| 免费一级毛片免费播放| 国产成人免费高清激情明星| 久久九九久精品国产免费直播| 欧洲 亚洲 国产图片综合| 亚洲成人动漫在线| 中文字幕亚洲天堂| 免费观看四虎精品国产永久 | 久久精品国产亚洲7777| 免费A级毛片无码免费视| 久久精品乱子伦免费| kk4kk免费视频毛片| 亚洲爆乳无码专区www| 亚洲国产成人久久99精品| 久久精品国产亚洲综合色| 亚洲国产成人五月综合网 | 国产成人精品久久亚洲高清不卡 | 久久久久国色AV免费看图片| 污污网站免费观看| 中文字幕在线免费观看视频| 一级女性全黄生活片免费看|