JSF 2.0 + Spring + Hibernate integration

系统 2053 0

Here’s a long article to show you how to integrate JSF 2.0(also jsf 1.X) , Spring and Hibernate together. At the end of the article, you will create a page which display a list of the existing customer from database .This article is using for tell you how to integrate jsf,spring ,hibernate .Maybe you can expand it by add a button to add a record into DB or do anything else you like to . But first , you can follow me . all right  , Let's integrate it now . 

P.S In this example, we are using Oracle database and deploy to Jboss web container.

1. Project Structure

Directory structure of this example:

JSF 2.0 + Spring + Hibernate integration

2. Table Script

Create a customer table and insert 2 dummy records.

      
        CREATE
      
      
        TABLE
      
      
          customer_lwc (

  CUSTOMER_ID 
      
      
        INTEGER
      
      
        NOT
      
      
        NULL
      
      
        ,

  NAME 
      
      
        VARCHAR
      
      (
      
        45
      
      ) 
      
        NOT
      
      
        NULL
      
      
        ,

  ADDRESS 
      
      
        VARCHAR
      
      (
      
        255
      
      ) 
      
        NOT
      
      
        NULL
      
      
        ,

  CREATED_DATE DATE 
      
      
        NOT
      
      
        NULL
      
      
        ,

  
      
      
        PRIMARY
      
      
        KEY
      
      
         (CUSTOMER_ID)

) 
      
    
      
        INSERT
      
      
        INTO
      
      
         CUSTOMER_LWC

  (CUSTOMER_ID, NAME, ADDRESS, CREATED_DATE)


      
      
        VALUES
      
      
        

  (
      
      
        1
      
      , 
      
        '
      
      
        Liang Wei Cheng
      
      
        '
      
      , 
      
        '
      
      
        ChongQing University
      
      
        '
      
      
        , SYSDATE);


      
      
        INSERT
      
      
        INTO
      
      
         CUSTOMER_LWC

  (CUSTOMER_ID, NAME, ADDRESS, CREATED_DATE)


      
      
        VALUES
      
      
        

  (
      
      
        2
      
      , 
      
        '
      
      
        Tester
      
      
        '
      
      , 
      
        '
      
      
        Singtel
      
      
        '
      
      , SYSDATE 
      
        -
      
      
        1
      
      );
    

3. Hibernate Stuff

A model class and Hibernate mapping file for customer table.

File : Customer.java

      
        package
      
      
         com.singtel.customer.model;




      
      
        import
      
      
         java.util.Date;




      
      
        public
      
      
        class
      
      
         Customer{

    

    
      
      
        public
      
      
        long
      
      
         customerId;

    
      
      
        public
      
      
         String name;

    
      
      
        public
      
      
         String address;

    
      
      
        public
      
      
         Date createdDate;

    

    
      
      
        public
      
      
        long
      
      
         getCustomerId() {

        
      
      
        return
      
      
         customerId;

    }

    
      
      
        public
      
      
        void
      
       setCustomerId(
      
        long
      
      
         customerId) {

        
      
      
        this
      
      .customerId =
      
         customerId;

    }

    
      
      
        public
      
      
         String getName() {

        
      
      
        return
      
      
         name;

    }

    
      
      
        public
      
      
        void
      
      
         setName(String name) {

        
      
      
        this
      
      .name =
      
         name;

    }

    
      
      
        public
      
      
         String getAddress() {

        
      
      
        return
      
      
         address;

    }

    
      
      
        public
      
      
        void
      
      
         setAddress(String address) {

        
      
      
        this
      
      .address =
      
         address;

    }

    
      
      
        public
      
      
         Date getCreatedDate() {

        
      
      
        return
      
      
         createdDate;

    }

    
      
      
        public
      
      
        void
      
      
         setCreatedDate(Date createdDate) {

        
      
      
        this
      
      .createdDate =
      
         createdDate;

    }

    

}
      
    

File : Customer.hbm.xml

      
        <?
      
      
        xml version="1.0"
      
      
        ?>
      
      
        <!
      
      
        DOCTYPE hibernate-mapping PUBLIC 

"-//Hibernate/Hibernate Mapping DTD 3.0//EN"

"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd"
      
      
        >
      
      
        <
      
      
        hibernate-mapping
      
      
        >
      
      
        <
      
      
        class 
      
      
        name
      
      
        ="com.singtel.customer.model.Customer"
      
      
         

        table
      
      
        ="customer_lwc"
      
      
         catalog
      
      
        ="OPS$ESHOP"
      
      
        >
      
      
        <
      
      
        id 
      
      
        name
      
      
        ="customerId"
      
      
         type
      
      
        ="long"
      
      
        >
      
      
        <
      
      
        column 
      
      
        name
      
      
        ="CUSTOMER_ID"
      
      
        />
      
      
        <
      
      
        generator 
      
      
        class
      
      
        ="identity"
      
      
        />
      
      
        </
      
      
        id
      
      
        >
      
      
        <
      
      
        property 
      
      
        name
      
      
        ="name"
      
      
         type
      
      
        ="string"
      
      
        >
      
      
        <
      
      
        column 
      
      
        name
      
      
        ="NAME"
      
      
         length
      
      
        ="45"
      
      
         not-null
      
      
        ="true"
      
      
        />
      
      
        </
      
      
        property
      
      
        >
      
      
        <
      
      
        property 
      
      
        name
      
      
        ="address"
      
      
         type
      
      
        ="string"
      
      
        >
      
      
        <
      
      
        column 
      
      
        name
      
      
        ="ADDRESS"
      
      
         not-null
      
      
        ="true"
      
      
        />
      
      
        </
      
      
        property
      
      
        >
      
      
        <
      
      
        property 
      
      
        name
      
      
        ="createdDate"
      
      
         type
      
      
        ="timestamp"
      
      
        >
      
      
        <
      
      
        column 
      
      
        name
      
      
        ="CREATED_DATE"
      
      
         length
      
      
        ="19"
      
      
         not-null
      
      
        ="true"
      
      
        />
      
      
        </
      
      
        property
      
      
        >
      
      
        </
      
      
        class
      
      
        >
      
      
        </
      
      
        hibernate-mapping
      
      
        >
      
    

4. Spring Stuff

Spring’s BO and DAO classes for business logic and database interaction.

File : CustomerBo.java

      
        package
      
      
         com.singtel.customer.bo;

 


      
      
        import
      
      
         java.util.List;

 


      
      
        import
      
      
         com.singtel.customer.model.Customer;

 


      
      
        public
      
      
        interface
      
      
         CustomerBo{

 

    
      
      
        void
      
      
         addCustomer(Customer customer);

 

    List
      
      <Customer>
      
         findAllCustomer();

 

}
      
    

File : CustomerBoImpl.java

      
        package
      
      
         com.singtel.customer.bo.impl;

 


      
      
        import
      
      
         java.util.List;

 


      
      
        import
      
      
         com.singtel.customer.bo.CustomerBo;


      
      
        import
      
      
         com.singtel.customer.dao.CustomerDao;


      
      
        import
      
      
         com.singtel.customer.model.Customer;

 


      
      
        public
      
      
        class
      
       CustomerBoImpl 
      
        implements
      
      
         CustomerBo{

 

    CustomerDao customerDao;

 

    
      
      
        public
      
      
        void
      
      
         setCustomerDao(CustomerDao customerDao) {

        
      
      
        this
      
      .customerDao =
      
         customerDao;

    }

 

    
      
      
        public
      
      
        void
      
      
         addCustomer(Customer customer){

 

        customerDao.addCustomer(customer);

 

    }

 

    
      
      
        public
      
       List<Customer>
      
         findAllCustomer(){

 

        
      
      
        return
      
      
         customerDao.findAllCustomer();

    }

}
      
    

File : CustomerDao.java

      
        package
      
      
         com.singtel.customer.dao;

 


      
      
        import
      
      
         java.util.List;

 


      
      
        import
      
      
         com.singtel.customer.model.Customer;

 


      
      
        public
      
      
        interface
      
      
         CustomerDao{

 

    
      
      
        void
      
      
         addCustomer(Customer customer);

 

    List
      
      <Customer>
      
         findAllCustomer();

 

}
      
    

File : CustomerDaoImpl.java

      
        package
      
      
         com.singtel.customer.dao.impl;

 


      
      
        import
      
      
         java.util.Date;


      
      
        import
      
      
         java.util.List;

 


      
      
        import
      
      
         com.singtel.customer.dao.CustomerDao;


      
      
        import
      
      
         com.singtel.customer.model.Customer;


      
      
        import
      
      
         org.springframework.orm.hibernate3.support.HibernateDaoSupport;

 


      
      
        public
      
      
        class
      
       CustomerDaoImpl 
      
        extends
      
      
         

       HibernateDaoSupport 
      
      
        implements
      
      
         CustomerDao{

 

    
      
      
        public
      
      
        void
      
      
         addCustomer(Customer customer){

 

        customer.setCreatedDate(
      
      
        new
      
      
         Date());

        getHibernateTemplate().save(customer);

 

    }

 

    
      
      
        public
      
       List<Customer>
      
         findAllCustomer(){

 

        
      
      
        return
      
       getHibernateTemplate().find("from Customer"
      
        );

 

    }

}
      
    

File : CustomerBean.xml

      <?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.5.xsd">
      
      

 

       <bean id="customerBo" 

         
      
        class
      
      ="com.singtel.customer.bo.impl.CustomerBoImpl" >

           <property name="customerDao" ref="customerDao" />

       </bean>

 

       <bean id="customerDao" 

         
      
        class
      
      ="com.singtel.customer.dao.impl.CustomerDaoImpl" >

           <property name="sessionFactory" ref="sessionFactory"></property>

       </bean>

 

</beans>
    

5. Spring + Database

Configure database detail in Spring.

File : db.properties

      jdbc.driverClassName=oracle.jdbc.
      
        OracleDriver

jdbc
      
      .url=jdbc
      
        :oracle:thin
      
      :@127.0.0.1:1521
      
        :XE
      
      
        

jdbc
      
      .username=ops$
      
        eshop

jdbc
      
      .password=password
    

File : DataSource.xml

      <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.5.xsd">
      
      



    <
      
        bean

        
      
      
        class
      
      ="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">

        <property name="location">

            <value>classpath:/config/database/db.properties</value>

        </property>

    </bean>



    <bean id="dataSource"

        
      
        class
      
      ="org.springframework.jdbc.datasource.DriverManagerDataSource">

        <property name="driverClassName" value="${jdbc.driverClassName}" />

        <property name="url" value="${jdbc.url}" />

        <property name="username" value="${jdbc.username}" />

        <property name="password" value="${jdbc.password}" />

    </bean>



</beans>
    

6. Spring + Hibernate

Integrate Hibernate and Spring via LocalSessionFactoryBean .

File : HibernateSessionFactory.xml

      
        <?
      
      
        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.5.xsd"
      
      
        >
      
      
        <!--
      
      
         Hibernate session factory 
      
      
        -->
      
      
        <
      
      
        bean 
      
      
        id
      
      
        ="sessionFactory"
      
      
        

        class
      
      
        ="org.springframework.orm.hibernate3.LocalSessionFactoryBean"
      
      
        >
      
      
        <
      
      
        property 
      
      
        name
      
      
        ="dataSource"
      
      
        >
      
      
        <
      
      
        ref 
      
      
        bean
      
      
        ="dataSource"
      
      
        />
      
      
        </
      
      
        property
      
      
        >
      
      
        <
      
      
        property 
      
      
        name
      
      
        ="hibernateProperties"
      
      
        >
      
      
        <
      
      
        props
      
      
        >
      
      
        <
      
      
        prop 
      
      
        key
      
      
        ="hibernate.dialect"
      
      
        >
      
      org.hibernate.dialect.MySQLDialect
      
        </
      
      
        prop
      
      
        >
      
      
        <
      
      
        prop 
      
      
        key
      
      
        ="hibernate.show_sql"
      
      
        >
      
      true
      
        </
      
      
        prop
      
      
        >
      
      
        </
      
      
        props
      
      
        >
      
      
        </
      
      
        property
      
      
        >
      
      
        <
      
      
        property 
      
      
        name
      
      
        ="mappingResources"
      
      
        >
      
      
        <
      
      
        list
      
      
        >
      
      
        <!--
      
      
         

                <value>

                    classpath:/com/singtel/customer/hibernate/Customer.hbm.xml 

                </value> 

                
      
      
        -->
      
      
        <
      
      
        value
      
      
        >
      
      com/singtel/customer/hibernate/Customer.hbm.xml
      
        </
      
      
        value
      
      
        >
      
      
        </
      
      
        list
      
      
        >
      
      
        </
      
      
        property
      
      
        >
      
      
        </
      
      
        bean
      
      
        >
      
      
        </
      
      
        beans
      
      
        >
      
    

7. JSF 2.0

JSF managed bean to call Spring’s BO to add or get customer’s records from database.

File : CustomerBean.java

      
        package
      
      
         com.singtel;




      
      
        import
      
      
         java.io.Serializable;


      
      
        import
      
      
         java.util.List;




      
      
        import
      
      
         com.singtel.customer.bo.CustomerBo;


      
      
        import
      
      
         com.singtel.customer.model.Customer;




      
      
        public
      
      
        class
      
       CustomerBean 
      
        implements
      
      
         Serializable{

 

    
      
      
        //
      
      
        DI via Spring
      
      
            CustomerBo customerBo;

    List
      
      <Customer>
      
         customerList;

    
      
      
        public
      
      
         String name ;

    
      
      
        public
      
      
         String address ;

    

    
      
      
        public
      
      
         String getName() {

        
      
      
        return
      
      
         name;

    }



    
      
      
        public
      
      
        void
      
      
         setName(String name) {

        
      
      
        this
      
      .name =
      
         name;

    }



    
      
      
        public
      
      
         String getAddress() {

        
      
      
        return
      
      
         address;

    }



    
      
      
        public
      
      
        void
      
      
         setAddress(String address) {

        
      
      
        this
      
      .address =
      
         address;

    }



    
      
      
        public
      
      
        void
      
      
         setCustomerBo(CustomerBo customerBo) {

        
      
      
        this
      
      .customerBo =
      
         customerBo;

    }

 

    
      
      
        //
      
      
        get all customer data from database
      
      
        public
      
       List<Customer>
      
         getCustomerList(){

        
      
      
        return
      
      
         customerBo.findAllCustomer();

    }

    

    
      
      
        //
      
      
        add a new customer data into database
      
      
        public
      
      
         String addCustomer(){

        

        Customer cust 
      
      = 
      
        new
      
      
         Customer();

        cust.setName(getName());

        cust.setAddress(getAddress());

        

        customerBo.addCustomer(cust);

        

        clearForm();

        

        
      
      
        return
      
       ""
      
        ;

    }

    

    
      
      
        //
      
      
        clear form values
      
      
        private
      
      
        void
      
      
         clearForm(){

        setName(
      
      ""
      
        );

        setAddress(
      
      ""
      
        );

    }

    

}
      
    

A JSF page to display existing customer records via h:dataTable and a few text components to allow user to insert new customer record into database.

File : test.jsp

      
        <%
      
      
        @ taglib uri
      
      
        =
      
      
        "
      
      
        http://java.sun.com/jsf/core
      
      
        "
      
      
         prefix
      
      
        =
      
      
        "
      
      
        f
      
      
        "
      
      
        %>
      
      
        <%
      
      
        @ taglib uri
      
      
        =
      
      
        "
      
      
        http://java.sun.com/jsf/html
      
      
        "
      
      
         prefix
      
      
        =
      
      
        "
      
      
        h
      
      
        "
      
      
        %>
      
      
        <%
      
      
        @ page import
      
      
        =
      
      
        "
      
      
        java.util.Calendar
      
      
        "
      
      
        %>
      
      
        <%
      
      
        @ page import
      
      
        =
      
      
        "
      
      
        java.text.SimpleDateFormat
      
      
        "
      
      
        %>
      
      
        <
      
      
        link 
      
      
        href
      
      
        ="css/table-style.css"
      
      
         rel
      
      
        ="stylesheet"
      
      
         type
      
      
        ="text/css"
      
      
        />
      
      
        <
      
      
        html
      
      
        >
      
      
        <
      
      
        f:view
      
      
        >
      
      
        <
      
      
        head
      
      
        >
      
      
        <
      
      
        title
      
      
        >
      
      JSF 2.0 + Spring + Hibernate Example
      
        </
      
      
        title
      
      
        >
      
      
        <
      
      
        meta 
      
      
        http-equiv
      
      
        ="Content-Type"
      
      
         content
      
      
        ="text/html; charset=UTF-8"
      
      
        />
      
      
        </
      
      
        head
      
      
        >
      
      
        <
      
      
        body
      
      
        >
      
      
        <
      
      
        h1
      
      
        >
      
      JSF + Spring + Hibernate
      
        </
      
      
        h1
      
      
        >
      
      
        <
      
      
        h:form
      
      
        >
      
      
        <
      
      
        h:dataTable 
      
      
        value
      
      
        ="#{customer.customerList}"
      
      
         var
      
      
        ="c"
      
      
        

                styleClass
      
      
        ="order-table"
      
      
         headerClass
      
      
        ="order-table-header"
      
      
        

                rowClasses
      
      
        ="order-table-odd-row,order-table-even-row"
      
      
        >
      
      
        <
      
      
        h:column
      
      
        >
      
      
        <
      
      
        f:facet 
      
      
        name
      
      
        ="header"
      
      
        >
      
      
        <
      
      
        h:outputText 
      
      
        value
      
      
        ="Customer ID"
      
      
        />
      
      
        </
      
      
        f:facet
      
      
        >
      
      
        <
      
      
        h:outputText 
      
      
        value
      
      
        ="#{c.customerId}"
      
      
        ></
      
      
        h:outputText
      
      
        >
      
      
        </
      
      
        h:column
      
      
        >
      
      
        <
      
      
        h:column
      
      
        >
      
      
        <
      
      
        f:facet 
      
      
        name
      
      
        ="header"
      
      
        >
      
      
        <
      
      
        h:outputText 
      
      
        value
      
      
        ="Name"
      
      
        />
      
      
        </
      
      
        f:facet
      
      
        >
      
      
        <
      
      
        h:outputText 
      
      
        value
      
      
        ="#{c.name}"
      
      
        ></
      
      
        h:outputText
      
      
        >
      
      
        </
      
      
        h:column
      
      
        >
      
      
        <
      
      
        h:column
      
      
        >
      
      
        <
      
      
        f:facet 
      
      
        name
      
      
        ="header"
      
      
        >
      
      
        <
      
      
        h:outputText 
      
      
        value
      
      
        ="Address"
      
      
        />
      
      
        </
      
      
        f:facet
      
      
        >
      
      
        <
      
      
        h:outputText 
      
      
        value
      
      
        ="#{c.address}"
      
      
        ></
      
      
        h:outputText
      
      
        >
      
      
        </
      
      
        h:column
      
      
        >
      
      
        <
      
      
        h:column
      
      
        >
      
      
        <
      
      
        f:facet 
      
      
        name
      
      
        ="header"
      
      
        >
      
      
        <
      
      
        h:outputText 
      
      
        value
      
      
        ="Created Date"
      
      
        />
      
      
        </
      
      
        f:facet
      
      
        >
      
      
        <
      
      
        h:outputText 
      
      
        value
      
      
        ="#{c.createdDate}"
      
      
        ></
      
      
        h:outputText
      
      
        >
      
      
        </
      
      
        h:column
      
      
        >
      
      
        </
      
      
        h:dataTable
      
      
        >
      
      
        </
      
      
        h:form
      
      
        >
      
      
        </
      
      
        body
      
      
        >
      
      
        </
      
      
        f:view
      
      
        >
      
      
        </
      
      
        html
      
      
        >
      
    

8. JSF 2.0 + Spring

Integrate JSF 2.0 with Spring, see detail explanation here – JSF 2.0 + Spring integration example

File : applicationContext.xml

      
        <
      
      
        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.5.xsd"
      
      
        >
      
      
        <!--
      
      
         Database Configuration 
      
      
        -->
      
      
        <
      
      
        import 
      
      
        resource
      
      
        ="classpath:/config/spring/beans/DataSource.xml"
      
      
        />
      
      
        <
      
      
        import 
      
      
        resource
      
      
        ="classpath:/config/spring/beans/HibernateSessionFactory.xml"
      
      
        />
      
      
        <!--
      
      
         Beans Declaration 
      
      
        -->
      
      
        <
      
      
        import 
      
      
        resource
      
      
        ="classpath:/com/singtel/customer/spring/CustomerBean.xml"
      
      
        />
      
      
        </
      
      
        beans
      
      
        >
      
    

File : faces-config.xml

      <?xml version="1.0"?>

<faces-config version="2.0" xmlns="http://java.sun.com/xml/ns/javaee"
      
        

    xmlns:xi
      
      ="http://www.w3.org/2001/XInclude" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
      
        

    xsi:schemaLocation
      
      ="http://java.sun.com/xml/ns/javaee 

    http:
      
        //
      
      
        java.sun.com/xml/ns/javaee/web-facesconfig_2_0.xsd">
      
      

    <managed-bean>

        <managed-bean-name>customer</managed-bean-name>

        <managed-bean-
      
        class
      
      >com.singtel.CustomerBean</managed-bean-
      
        class
      
      >

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

        <managed-property>

            <property-name>customerBo</property-name>

            <value>#{customerBo}</value>

        </managed-property>

    </managed-bean>

    

    <application>

        <el-resolver>
      
        

            org.springframework.web.jsf.el.SpringBeanFacesELResolver

        
      
      </el-resolver>

      </application>

</faces-config>
    

File : web.xml

      
        <?
      
      
        xml version="1.0" encoding="UTF-8"
      
      
        ?>
      
      
        <
      
      
        web-app 
      
      
        id
      
      
        ="WebApp_ID"
      
      
         version
      
      
        ="3.0"
      
      
        

    xmlns
      
      
        ="http://java.sun.com/xml/ns/javaee"
      
      
         xmlns:xsi
      
      
        ="http://www.w3.org/2001/XMLSchema-instance"
      
      
        

    xsi:schemaLocation
      
      
        ="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"
      
      
        >
      
      
        <
      
      
        display-name
      
      
        >
      
      JHibernateS
      
        </
      
      
        display-name
      
      
        >
      
      
        <!--
      
      
         Regester faces-config.xml in web.xml 
      
      
        -->
      
      
        <
      
      
        context-param
      
      
        >
      
      
        <
      
      
        param-name
      
      
        >
      
      javax.faces.CONFIG_FILES
      
        </
      
      
        param-name
      
      
        >
      
      
        <
      
      
        param-value
      
      
        >
      
      /WEB-INF/faces-config.xml
      
        </
      
      
        param-value
      
      
        >
      
      
        </
      
      
        context-param
      
      
        >
      
      
        <
      
      
        context-param
      
      
        >
      
      
        <
      
      
        param-name
      
      
        >
      
      javax.faces.PROJECT_STAGE
      
        </
      
      
        param-name
      
      
        >
      
      
        <
      
      
        param-value
      
      
        >
      
      Development
      
        </
      
      
        param-value
      
      
        >
      
      
        </
      
      
        context-param
      
      
        >
      
      
        <!--
      
      
         Notice :context-param -> listener -> filter -> servlet Add Support 

        for Spring 
      
      
        -->
      
      
        <
      
      
        context-param
      
      
        >
      
      
        <
      
      
        param-name
      
      
        >
      
      javax.faces.STATE_SAVING_METHOD
      
        </
      
      
        param-name
      
      
        >
      
      
        <
      
      
        param-value
      
      
        >
      
      server
      
        </
      
      
        param-value
      
      
        >
      
      
        </
      
      
        context-param
      
      
        >
      
      
        <
      
      
        listener
      
      
        >
      
      
        <
      
      
        listener-class
      
      
        >
      
      org.springframework.web.context.ContextLoaderListener
      
        </
      
      
        listener-class
      
      
        >
      
      
        </
      
      
        listener
      
      
        >
      
      
        <
      
      
        listener
      
      
        >
      
      
        <
      
      
        listener-class
      
      
        >
      
      org.springframework.web.context.request.RequestContextListener
      
        </
      
      
        listener-class
      
      
        >
      
      
        </
      
      
        listener
      
      
        >
      
      
        <
      
      
        listener
      
      
        >
      
      
        <
      
      
        listener-class
      
      
        >
      
      com.sun.faces.config.ConfigureListener
      
        </
      
      
        listener-class
      
      
        >
      
      
        </
      
      
        listener
      
      
        >
      
      
        <!--
      
      
         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
      
      
        >
      
      
        <
      
      
        welcome-file-list
      
      
        >
      
      
        <
      
      
        welcome-file
      
      
        >
      
      default.jsf
      
        </
      
      
        welcome-file
      
      
        >
      
      
        </
      
      
        welcome-file-list
      
      
        >
      
      
        </
      
      
        web-app
      
      
        >
      
    

9. Demo

Run it,display like following :

JSF 2.0 + Spring + Hibernate integration

 

 

JSF 2.0 + Spring + Hibernate integration


更多文章、技术交流、商务合作、联系博主

微信扫码或搜索:z360901061

微信扫一扫加我为好友

QQ号联系: 360901061

您的支持是博主写作最大的动力,如果您喜欢我的文章,感觉我的文章对您有帮助,请用微信扫描下面二维码支持博主2元、5元、10元、20元等您想捐的金额吧,狠狠点击下面给点支持吧,站长非常感激您!手机微信长按不能支付解决办法:请将微信支付二维码保存到相册,切换到微信,然后点击微信右上角扫一扫功能,选择支付二维码完成支付。

【本文对您有帮助就好】

您的支持是博主写作最大的动力,如果您喜欢我的文章,感觉我的文章对您有帮助,请用微信扫描上面二维码支持博主2元、5元、10元、自定义金额等您想捐的金额吧,站长会非常 感谢您的哦!!!

发表我的评论
最新评论 总共0条评论