说三分钟是对于熟练手来说,但本质于对于建立一个框架还要有其他很多的工程如util,common。模块xml配置,以及还要应对那些模块整合所带来的一些冲突,解决这些可不是一件好玩的事。最好是多做一下全量备份或者版本控制,以免出了问题无法找到原因或者也无法还原。
好了,下面开始吧.
建立web工程就不用说了,
1.add jsf: 工程右键->myeclipse->add jsf capabilities 可以选择MyFaces 1.1.1或者MyFaces 0.xx版本,后面弹出的是就OK。这里如果是选择Sun JSF Reference Implementation xxx版本时会出现一包问题,这是JAR包的冲突问题,如果有谁在此版本上实现了在jsf配置文件能够注入bean的请告诉我。。。。
2.add spring:工程右键->myeclipse->add Spring capabilities.
3.add hibernate:工程右键->myeclipse ->add hibernate capabilites。hibernate配置可以引用spring的配置文件,当然你可以利用hibernate.hbm.xml来配置你的工程,再引入一下dataSource的DB连接,后面的"create SessionFacotry class"就不用建立,如果你有用到也可以建立。
4.利用hibernate工具生成
UserTable.java
UserTable.hbm.xml
这两个文件
5.建立dao,service的接口及其实现类或者麻烦点再加个ucc
dao:
public interface UserDao {
public UserTable getUser(String username);
}
public class UserDaoImpl extends HibernateDaoSupport implements UserDao{
public UserTable getUser(String username) {
UserTable user=(UserTable)getHibernateTemplate().get(UserTable.class, username);
return user;
}
}
bs:
public interface UserService {
public UserTable getUser(String username);
}
public class UserServiceImpl implements UserService{
private UserDao userDao;
public UserTable getUser(String username) {
// TODO Auto-generated method stub
return userDao.getUser(username);
}
public UserDao getUserDao() {
return userDao;
}
public void setUserDao(UserDao userDao) {
this.userDao = userDao;
}
}
6.配置spring把刚才建立的这几个dao,service,ucc相应的bean设置进去
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "http://www.springframework.org/dtd/spring-beans.dtd">
<beans>
<bean id="dataSource"
class="org.apache.commons.dbcp.BasicDataSource">
<property name="driverClassName">
<value>oracle.jdbc.driver.OracleDriver</value>
</property>
<property name="url">
<value>jdbc:oracle:thin:@localhost:1521:oracle</value>
</property>
<property name="username">
<value>test</value>
</property>
<property name="password">
<value>test</value>
</property>
</bean>
<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.Oracle9Dialect
</prop>
</props>
</property>
<property name="mappingResources">
<list>
<value>com/lgh/hibernate/UserTable.hbm.xml</value>
</list>
</property>
</bean>
<bean id="userDao" class="com.lgh.test.dao.UserDaoImpl">
<property name="sessionFactory">
<ref bean="sessionFactory" />
</property>
</bean>
<!-- -->
<bean id="userService" class="com.lgh.test.service.UserServiceImpl">
<property name="userDao">
<ref bean="userDao" />
</property>
</bean>
</beans>
7.设置的bean容器怎么初始化呢?配置我们的xml
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="2.4" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
<!-- spring 加载bean -->
<servlet>
<servlet-name>context</servlet-name>
<servlet-class>org.springframework.web.context.ContextLoaderServlet</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<context-param>
<param-name>javax.faces.CONFIG_FILES</param-name>
<param-value>/WEB-INF/faces-config.xml</param-value>
</context-param>
<!-- jsf 加载 -->
<listener>
<listener-class>org.apache.myfaces.webapp.StartupServletContextListener</listener-class>
</listener>
<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>
</web-app>
8.jsp页面及对应的BackingBean就是(bb啦),jsf配置文件(faces-config.xml)
face-config.xml配置manage-bean导航
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE faces-config PUBLIC "-//Sun Microsystems, Inc.//DTD JavaServer Faces Config 1.1//EN" "http://java.sun.com/dtd/web-facesconfig_1_1.dtd">
<faces-config>
<application>
<variable-resolver>org.springframework.web.jsf.DelegatingVariableResolver</variable-resolver>
</application>
<managed-bean>
<managed-bean-name>UserLoginBB</managed-bean-name>
<managed-bean-class>
com.lgh.test.ucc.UserLoginBB
</managed-bean-class>
<managed-bean-scope>request</managed-bean-scope>
<managed-property>
<property-name>username</property-name>
<property-class>java.lang.String</property-class>
<value></value>
</managed-property>
<managed-property>
<property-name>password</property-name>
<property-class>java.lang.String</property-class>
<value></value>
</managed-property>
<!-- -->
<managed-property>
<property-name>userService</property-name>
<value>#{userService}</value>
</managed-property>
</managed-bean>
</faces-config>
登录的页面:
<f:view>
<h:form rendered="true" id="loginForm">
<h:inputText required="false" rendered="true"
value="#{UserLoginBB.username}"></h:inputText>
<br>
<h:inputText required="false" rendered="true"
value="#{UserLoginBB.password}">
<br>
</h:inputText>
<br>
<h:commandButton action="#{UserLoginBB.userLogin}" rendered="true"
value="登录"></h:commandButton>
</h:form>
</f:view>
它所对应的BB:
public class UserLoginBB {
private UserService userService;
private String username;
private String password;
public String userLogin(){
//方法一
// ApplicationContext context=FacesContextUtils.getWebApplicationContext(FacesContext.getCurrentInstance());
// UserService service = (UserService)context.getBean("userService");
// UserTable user = service.getUser("Hibernate1");
//方法二??采用manager-bean来配置userService
UserTable user = userService.getUser("Hibernate1");
System.out.println("hello"+user.getPassword());
return user.getPassword();
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
public UserService getUserService() {
return userService;
}
public void setUserService(UserService userService) {
this.userService = userService;
}
}
附上代码
分享到:
相关推荐
本系统是基于jsf+spring+hibernate+ajax实现的一个网络文件管理系统.运行环境 WEB服务:TOMCAT6 数据库:SQLSERVER2005 JDK1.4以上 本系统采用了基于角色的权限管理
总结来说,"jsf+spring+hibernate" 的组合为开发者提供了一个强大而灵活的框架,能够有效地处理复杂的 Web 应用场景,包括用户认证、数据操作和业务流程控制。通过合理的设计和配置,可以构建出高效、可扩展的应用...
这个"JSF+Spring+Hibernate小例子"为我们提供了一个整合这三者的基础应用,帮助开发者理解如何将它们有效地结合在一起。 **JavaServer Faces (JSF)** JSF是一种MVC(Model-View-Controller)框架,主要用于构建用户...
JSF+Spring+Hibernate jar文件压缩包,hibernate最小配置,Spring 2.0 jar, richfaces
以下是对"JSF+Spring+Hibernate"整合的详细过程的阐述: 1. **JavaServer Faces (JSF)**:JSF是一种基于组件的MVC(模型-视图-控制器)框架,主要用于构建企业级的Web应用程序。它提供了一套预定义的UI组件,使得...
这是jsf+spring2.5+jpa(hibernate)的jar包,很多人为了jsj环境而配置半天,在此提供jar包共享。注:除了ajax4jsf和tomahawk-1.1.3.jar,因为csdn只让我上传20mb,大家自己可以下一下自己试试。
**Ajax、JSF、Spring和Hibernate是四种在Java Web开发中广泛应用的技术,它们共同构建了高效、灵活且功能强大的Web应用程序。** **Ajax(Asynchronous JavaScript and XML)** 是一种在无需重新加载整个网页的情况...
JavaServer Faces (JSF)、Spring Framework 和 Hibernate 是构建现代 Web 应用程序的三个关键技术。JSF 是一种用户界面框架,适用于基于 Model-View-Controller (MVC) 架构的应用程序,提供了丰富的组件库和事件驱动...
总的来说,JSF+Spring+Hibernate的组合提供了强大的功能,用于构建高效的分页显示系统。在实际应用中,我们需要根据项目规模和性能需求,灵活运用这些技术和策略,以实现最优的用户体验和系统性能。
"jsf+spring+hibernate实例"是一个典型的Java Web项目结构,它展示了如何利用这三个强大的框架构建一个完整的应用。JSF提供了用户友好的界面,Spring作为业务逻辑中心,管理组件和事务,而Hibernate则负责与数据库的...
快速建立一个基于_jsf+spring+hibernate工程.doc和jsf+spring+hibernate整合笔记.docx可能详细讲述了如何从零开始构建这样的工程,包括环境配置、依赖注入、实体定义、数据访问对象(DAO)的创建以及控制器的设置等...
总结来说,"JSF+Spring+Hibernate 架构的网上商店"利用了这些技术的协同工作,构建了一个完整的电子商务平台。JSF 提供用户界面,Spring 处理业务逻辑和事务管理,Hibernate 实现数据持久化,而MySQL作为可靠的...
通过上述步骤,我们可以成功搭建起一个基于JSF+Spring+JPA的开发环境。这样的技术栈不仅遵循了Java EE的标准,还能够提供更好的代码复用性和可维护性。此外,JSF提供的事件驱动机制和Ajax支持也极大地简化了前端开发...
这个“JSF2.2.6+Spring + Hibernate整合可运行”项目,旨在提供一个完整的、可运行的框架,以便开发者能够快速搭建基于这些技术的系统。下面我们将详细探讨这三个关键组件以及它们如何协同工作。 **JavaServer ...
JSF+Spring+Ibatis示例,对学习JAVA企业应用开发有巨大的帮助!
AppFuse是一个快速应用开发框架,它提供了一个基础架构,用于创建基于Spring、Hibernate和JSF的Web应用程序。通过分析这个项目,你可以看到这三个框架如何组合在一起,以及它们在实际应用中的工作方式。 6. **开发...
具体的配置看这的WORD文档 博文链接:https://luxiangdong.iteye.com/blog/215634
在实际项目中,"JSF+Spring+Hibernate+AJAX"的组合常被称为"Java EE的金三角",因为它们能够协同工作,提供一个高效、可扩展的开发平台。例如,JSF负责展示层,Spring管理业务逻辑和服务,而Hibernate处理数据持久化...