说三分钟是对于熟练手来说,但本质于对于建立一个框架还要有其他很多的工程如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
本系统是基于jsf+spring+hibernate+ajax实现的一个网络文件管理系统.运行环境 WEB服务:TOMCAT6 数据库:SQLSERVER2005 JDK1.4以上 本系统采用了基于角色的权限管理
ajax+jsf+spring+hibernate开发的实例源码
JSF+Spring+Hibernate(框架整合)详细过程,有代码和视图
JSF+Spring+Hibernate 分页显示 SQL Server数据库
JSF+Spring+Hibernate jar文件压缩包,hibernate最小配置,Spring 2.0 jar, richfaces
这是jsf+spring2.5+jpa(hibernate)的jar包,很多人为了jsj环境而配置半天,在此提供jar包共享。注:除了ajax4jsf和tomahawk-1.1.3.jar,因为csdn只让我上传20mb,大家自己可以下一下自己试试。
JSF+Spring+Hibernate小例子 博文链接:https://suhuanxi.iteye.com/blog/219200
JSF+Spring+hibernate整合网站例子 JSF+Spring+hibernate整合网站例子
JSF2.0+Spring+Hibernate
jsf+spring+hibernate整合实例,实现基本的操作逻辑.
jsf+spring+hibernate例子.
使用JSF建立一个真实的Web应用程序不是没有意义的任务,这篇文章介绍了如何将JSF与Sping Framework和Hibernate集成,并且给出了使用这些技术建立这个真实的Web应用程序的最佳实践和设计指导.
java 项目 JCatalog电子商务系统案例 jsf+spring+hibernate
JSF2.2.6+Spring + Hibernate整合可运行
jsf+hibernate+spring集成案例分析
JSF+Spring+JPA以我个人看来,应该说是Struts2+Spring+Hibernate的替代解决方案。 引入JPA去取代或者说包装或者说是升级Hibernate是为了符合JAVA EE的规范,达到ORM统一的结果。下次项目用EJB也好、用TOPLINK也好、...
JSF+Spring+Ibatis示例,对学习JAVA企业应用开发有巨大的帮助!