`
lxdhdgss
  • 浏览: 45124 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
最近访客 更多访客>>
社区版块
存档分类
最新评论

JSF+Spring+Hibernate 配置

    博客分类:
  • JAVA
阅读更多
这几天开始用jsf+spring+hibernate.以前没有配置过jsf,所以在网上找了很多问题,也花了不少时间。
碰到的问题比较多,最终配置是这样的。

晕,只能上传三张照片
还是上传个word大家下载去看吧。
最主要的问题是JSF和SPRING的结合,我用的是SPRING手册极力推荐的方法。
使用DelegatingVariableResolver,这个用起来觉得还是比较干净的。
faces-config.xml的配置文件如下:
<?xml version='1.0' encoding='UTF-8'?>

<faces-config 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-facesconfig_1_2.xsd"
    version="1.2">
    
    <application>
    <variable-resolver>org.springframework.web.jsf.DelegatingVariableResolver</variable-resolver>
      <locale-config>
        <default-locale>zh_CN</default-locale>
        <supported-locale>en</supported-locale>
        <supported-locale>es</supported-locale>
      </locale-config>
     
    </application>
    
    <navigation-rule>
     <from-view-id>main</from-view-id>
    </navigation-rule>
    
    <managed-bean>
    <managed-bean-name>product</managed-bean-name>
    <managed-bean-class>com.geedao.righterp.web.page.MainBacking</managed-bean-class>
    <managed-bean-scope>session</managed-bean-scope>
    <managed-property>
    <property-name>productService</property-name>
    <value>#{productService}</value>
    </managed-property>

    </managed-bean>
</faces-config>

web.xml
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="2.5" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee   http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"> 
  
  <context-param>
    <param-name>contextConfigLocaition</param-name>
    <param-value>/WEB-INF/applicationContext.xml</param-value>
  </context-param>
  <listener>
    <listener-class>
      org.springframework.web.context.ContextLoaderListener
    </listener-class>
  </listener>
  <context-param>
    <param-name>javax.faces.CONFIG_FILES</param-name>
    <param-value>/WEB-INF/faces-config.xml</param-value>
  </context-param>
  <servlet>
    <servlet-name>Faces Servlet</servlet-name>
    <servlet-class>javax.faces.webapp.FacesServlet</servlet-class>
    <load-on-startup>0</load-on-startup>
  </servlet>
  <servlet-mapping>
    <servlet-name>Faces Servlet</servlet-name>
    <url-pattern>/faces/*</url-pattern>
  </servlet-mapping>
  <welcome-file-list>
    <welcome-file>index.jsp</welcome-file>
  </welcome-file-list>
</web-app>

proxool.xml
<?xml version="1.0" encoding="UTF-8"?>
<!-- the proxool configuration can be embedded within your own application's.
    Anything outside the "proxool" tag is ignored. -->

<proxool>
    <alias>erp</alias>
    <driver-url>jdbc:mysql://localhost:3306/数据库名称</driver-url>    
    <driver-class>com.mysql.jdbc.Driver</driver-class>
    <driver-properties>
        <property name="user" value="用户名" />
        <property name="password" value="密码" />
    </driver-properties>
    <minimum-connection-count>2</minimum-connection-count>
    <maximum-connection-count>20</maximum-connection-count>
    <maximum-connection-lifetime>180000</maximum-connection-lifetime> <!-- 5 hours -->
    <house-keeping-test-sql>values(current TimeStamp)</house-keeping-test-sql>
    <statistics>1m,15m,1d</statistics>
    <statistics-log-level>INFO</statistics-log-level>
    <fatal-sql-exception>Connection is closed,SQLSTATE=08003,Error opening socket. SQLSTATE=08S01,SQLSTATE=08S01</fatal-sql-exception>
    <fatal-sql-exception-wrapper-class>org.logicalcobwebs.proxool.FatalRuntimeException</fatal-sql-exception-wrapper-class>
    <verbose>false</verbose>
</proxool>

applicationContext.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.0.xsd">

	<bean id="SessionFactory"
		class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
		<property name="hibernateProperties">
			<props>
				<prop key="hibernate.dialect">org.hibernate.dialect.MySQLDialect</prop>
                <prop key="hibernate.show_sql">true</prop>
                <prop key="hibernate.cglib.use_reflection_optimizer">true</prop>
                <prop key="hibernate.proxool.xml">proxool.xml</prop>
                <prop key="hibernate.proxool.pool_alias">erp</prop>
			</props>	
		</property>
		<property name="mappingResources">
            <list>
                <value>com/geedao/righterp/domain/Product.hbm.xml</value>
                <value>com/geedao/righterp/domain/User.hbm.xml</value>
            </list>
            </property>
		</bean>
	<bean id="productDAO" class="com.geedao.righterp.dao.hibernate.ProductDAO">
		<property name="sessionFactory">
			<ref bean="SessionFactory" />
		</property>
	</bean>
	<bean id="userDAO" class="com.geedao.righterp.dao.hibernate.UserDAO">
		<property name="sessionFactory">
			<ref bean="SessionFactory" />
		</property>
	</bean>
	<bean id="productService" class="com.geedao.righterp.service.method.ProductServiceMethod">
	 <property name="productDAO">
	   <ref bean="productDAO" /> 
	 </property>
	</bean>
</beans>

public class MainBacking {

	private int id;
	private String name;
	private User user;
	private ProductService productService;
	public List getProductList(){
		
		//ApplicationContext ctx = FacesContextUtils.getWebApplicationContext(FacesContext.getCurrentInstance());
		return productService.getList();
	}

	public int getId() {
		return id;
	}
	public void setId(int id) {
		this.id = id;
	}
	public String getName() {
		return name;
	}
	public void setName(String name) {
		this.name = name;
	}
	public User getUser() {
		return user;
	}
	public void setUser(User user) {
		this.user = user;
	}
	public ProductService getProductService() {
		return productService;
	}
	public void setProductService(ProductService productService) {
		this.productService = productService;
	}
	
}

加入richfaces后的配置也贴上来,其实richfaces自带的用户手册里面有的。我用的是3.2的,目前没有出现什么问题。
 <display-name>a4jEchoText</display-name>
	<context-param>
		<param-name>org.richfaces.SKIN</param-name>
		<param-value>blueSky</param-value>
	</context-param>
	<context-param>
		<param-name>javax.faces.STATE_SAVING_METHOD</param-name>
		<param-value>server</param-value>
	</context-param>
	<filter>
		<display-name>RichFaces Filter</display-name>
		<filter-name>richfaces</filter-name>
		<filter-class>org.ajax4jsf.Filter</filter-class>
	</filter>
	<filter-mapping>
		<filter-name>richfaces</filter-name>
		<servlet-name>Faces Servlet</servlet-name>
		<dispatcher>REQUEST</dispatcher>
		<dispatcher>FORWARD</dispatcher>
		<dispatcher>INCLUDE</dispatcher>
	</filter-mapping>
	<listener>
		<listener-class>
			com.sun.faces.config.ConfigureListener
		</listener-class>
	</listener>

把这一段加到web.xml里就可以了。


杭州印刷
4
2
分享到:
评论
6 楼 supercrsky 2008-10-17  
[flash=200,200][/flash][/url][url][url][/url][img][/img]
引用
[u][/u][i][/i][/b][b][/b][b][b][/b]
5 楼 thcsyy 2008-09-21  
我还没学jsf,不过看了蛮受益的
   谢谢啊!!!
4 楼 dynastytan 2008-08-29  
对于初学JSF的人来说,最难的不是怎么写这写配置文件,而是启动工程的jar文件,网上都说运行jsf只需要jsf-impl.jar,jsf-api.jar,jstl.jar,standard.jar 这几个文件就可以,但是我都有这些,结果用JBoss启动功能,不是报少这个类就是少那个类,真痛苦。。。没看到有谁介绍这些,郁闷


3 楼 lxdhdgss 2008-07-19  
我这个项目只是自己拿来测试的,所以没有用到Ajax4j.
如果要加的话可以按照Ajax4j的文档,在web.xml里做下修改.
2 楼 aidiyuxin 2008-07-18  
好贴~!
楼主怎么不把
ajax4j配上啊?
要不然使用的时候会抛异常的
如<h:htmlInput>什么的,就会出现异常
1 楼 racnow 2008-07-17  
呵呵,干的头大了,上来晃荡晃荡~!

相关推荐

    JSF+Spring+Hibernate小例子

    1. **配置环境**:首先,需要在项目中引入JSF、Spring和Hibernate的依赖库,以及相应的配置文件(如spring.xml、hibernate.cfg.xml)。 2. **JSF配置**:在faces-config.xml中配置JSF的导航规则,定义视图和动作的...

    JSF+Spring+Hibernate jar lib

    JSF+Spring+Hibernate jar文件压缩包,hibernate最小配置,Spring 2.0 jar, richfaces

    jsf+spring+hibernate

    【JSF+Spring+Hibernate整合开发】 JSF (JavaServer Faces)、Spring 和 Hibernate 是 Java 开发中的三大核心技术,常用于构建企业级的 Web 应用程序。它们各自扮演着不同的角色,共同构建了一个强大的后端架构。 1...

    jsf+spring2.5+jpa(hibernate)的jar包

    这是jsf+spring2.5+jpa(hibernate)的jar包,很多人为了jsj环境而配置半天,在此提供jar包共享。注:除了ajax4jsf和tomahawk-1.1.3.jar,因为csdn只让我上传20mb,大家自己可以下一下自己试试。

    JSF+Spring+Hibernate(框架整合)详细过程

    1. **配置Spring**:首先,我们需要在Spring配置文件中定义Bean,包括JSF Managed Beans和Hibernate Session Factory。Bean的定义可以是XML配置或基于注解的方式。 2. **JSF与Spring的整合**:为了使JSF能够使用...

    JSF+Spring+Hibernate配置以及分页查询和Excel文件导出

    在这个场景中,"JSF+Spring+Hibernate配置以及分页查询和Excel文件导出"是一个典型的企业级应用开发组合。下面将详细阐述这些技术及其整合方式。 1. JavaServer Faces (JSF): JSF是一种Java标准的MVC(模型-视图-...

    JSF+Spring+Hibernate的实例讲解.doc

    JavaServer Faces (JSF)、Spring Framework 和 Hibernate 是构建现代 Web 应用程序的三个关键技术。JSF 是一种用户界面框架,适用于基于 Model-View-Controller (MVC) 架构的应用程序,提供了丰富的组件库和事件驱动...

    ajax+jsf+spring+hibernate

    **Ajax、JSF、Spring和Hibernate是四种在Java Web开发中广泛应用的技术,它们共同构建了高效、灵活且功能强大的Web应用程序。** **Ajax(Asynchronous JavaScript and XML)** 是一种在无需重新加载整个网页的情况...

    jsf+spring+hibernate实例

    4. **配置Spring**:创建Spring的配置文件,配置Bean,包括JSF Managed Beans、Service层接口及其实现,以及Hibernate的相关配置。 5. **配置JSF**:创建JSF页面,使用Managed Beans绑定到页面元素,定义动作事件...

    JSF+Spring+Hibernate 分页显示

    本主题将深入探讨如何使用JavaServer Faces (JSF)、Spring框架和Hibernate ORM工具来实现SQL Server数据库中的数据分页显示。 **JavaServer Faces (JSF)** JSF是一个Java标准,用于构建企业级的Web应用程序。它提供...

    jsf+spring+hibernate架构的网上商店

    **JSF+Spring+Hibernate 架构的网上商店** 在当今的互联网开发中,JavaScript 面向服务器框架(JSF)、Spring 框架和 Hibernate ORM 工具的组合被广泛用于构建复杂的Web应用程序,尤其是电子商务平台。这种架构模式...

    基于jsf+spring+hibernate+ajax的网络文件管理系统

    本系统是基于jsf+spring+hibernate+ajax实现的一个网络文件管理系统.运行环境 WEB服务:TOMCAT6 数据库:SQLSERVER2005 JDK1.4以上 本系统采用了基于角色的权限管理

    JSF+Spring+JPA(Hibernate实现)的环境搭建

    ### JSF+Spring+JPA(Hibernate实现)的环境搭建详解 #### 一、概述 在当前企业级应用开发中,技术栈的选择至关重要。本文旨在详细介绍如何构建基于JSF(JavaServer Faces)、Spring以及JPA(Java Persistence API,...

    JSF+Spring+Hibernate相关技术文档

    Eclipsejsf+开发配置图解.doc和整合(JSF+SPring+hibernate).doc可能包含了如何在Eclipse环境中配置和集成JSF与Spring的步骤,同时提供了整合这两大框架的实践指南。 Hibernate是一个强大的ORM(对象关系映射)工具...

    JSF2.2.6+Spring + Hibernate整合可运行

    在IT行业中,Web开发是至关重要的领域,而JavaServer Faces(JSF)、Spring和Hibernate是构建企业级Java Web应用程序的三大支柱。这个“JSF2.2.6+Spring + Hibernate整合可运行”项目,旨在提供一个完整的、可运行的...

Global site tag (gtag.js) - Google Analytics