一溜烟读音:整合 JSF Spring Hibernate的小例子
来源:百度文库 编辑:偶看新闻 时间:2024/04/28 23:55:38
整合 JSF+Spring+Hibernate的小例子
(1)UserInfo.java
package com.zhaoqingjie.service.hibernate;
import java.io.Serializable;
import org.apache.commons.lang.builder.ToStringBuilder;
public class UserInfo implements Serializable{
private String id;
private String username;
private String email;
public UserInfo(String id,String username,String email){
this.id = id;
this.username = username;
this.email = email;
}
public UserInfo(){
}
public UserInfo(String id){
this.id = id;
}
public String getId(){
return id;
}
public void setId(String id){
this.id = id;
}
public String getEmail(){
return email;
}
public void setEmail(String email){
this.email = emial;
}
public String getUsername(){
return username;
}
public void setUsername(String username){
this.username = username;
}
public String toString(){
return new ToStringBuilder(this).append("id",getId()).toString();
}
}
(2)UserInfo.hbm.xml
"-//Hibernate/Hibernate Mapping DTD 2.0//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-2.0.dtd" >
@hibernate.class
table="userinfo"
@hibernate.id
generator-class="assigned"
type="java.lang.String"
column="id"
@hibernate.property
column="username"
length="36"
@hibernate.property
column="email"
length="60"
-------------------------------------------------------------------------------------------------------
(3)IUserInfoDAO.java
package com.zhaoqingjie.spring.service.dao;
import com.openv.spring.domainmodel.UserInfoVO;
import org.springframework.dao.DataAccessException;
import java.io.Serializable;
public interface IUserInfoDAO extends Serializable{
public boolean setUserInfo(UserInfoVO userinfoVO)throws DataAccessException;
}
(4)UserInfoDAO.java
package com.zhaoqingjie.spring.service.dao.impl;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.doomdark.uuid.UUIDGenerator;
import org.springframework.dao.DataAccessException;
import org.springframework.orm.hibernate.support.HibernateDaoSupport;
import com.zhaoqingjie.spring.domainmodel.UserInfoVO;
import com.zhaoqingjie.spring.service.dao.IUserInfoDAO;
import com.zhaoqingjie.spring.service.hibernate.UserInfo;
public class UserInfoDAO extends HibernateDaoSupport implements IUserInfoDAO{
private static final Log log = LogFactory.getLog(UserInfoDAO.class);
public boolean setUserInfo(UserInfoVO userinfoVO)throws DataAccessException{
if(userinfoVO == null){
return false;
}
UserInfo ui = new UserInfo();
ui.setId(getID());
ui.setUsername(userinfoVO.getUsername().trim());
ui.setEmail(userinfoVO.getEmail().trim());
this.getHibernateTemplate().save(ui);
return true;
}
private String getID(){
return UUIDGenerator.getInatance().generateTimeBaseUUID().toString();
}
}
--------------------------------------------------------------------------------------------------
(5)IExampleManager.java
package com.zhaoqingjie.spring.service;
import com.openv.spring.domainmodel.UserInfoVO;
import org.springframework.dao.DataAccessException;
import java.io.Serializable;
public interface IExampleManager extends Serializable {
public boolean setUserInfo(UserInfoVO userinfoVO)
throws DataAccessException;
}
(6)ExampleManagerImpl.java
package com.zhaoqingjie.spring.service.impl;
import com.openv.spring.domainmodel.UserInfoVO;
import com.openv.spring.service.IExample29Manager;
import com.openv.spring.service.dao.IUserInfoDAO;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.springframework.dao.DataAccessException;
public class ExampleManagerImpl implements IExampleManager {
private static final Log log = LogFactory
.getLog(ExampleManagerImpl.class);
private IUserInfoDAO userinfo;
public ExampleManagerImpl() {
log.info("ExampleManagerImpl()...................");
}
public void setUserinfo(IUserInfoDAO userinfoDAO)
throws DataAccessException {
this.userinfo = userinfoDAO;
}
public boolean setUserInfo(UserInfoVO userinfoVO)
throws DataAccessException {
return userinfo.setUserInfo(userinfoVO);
}
}
-----------------------------------------------------------------------------
(7)UserInfoVO.java
package com.zhaoqingjie.spring.domainmodel;
import java.io.Serializable;
public class UserInfoVO implements Serializable{
private String username;
private String email;
public String getEmail(){
return email;
}
public void setEmail(String email){
this.email = email;
}
public String getUsername(){
return username;
}
public void setUsername(String username){
this.username = username;
}
}
------------------------------------------------------------------------------------------
JSF表示层
(8)InfoBean.java
package com.zhaoqingjie.spring.jsf;
import javax.faces.context.FacesContext;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.springframework.context.ApplicationContext;
import org.springframework.web.jsf.FacesContextUtils;
import com.openv.spring.domainmodel.UserInfoVO;
import com.openv.spring.service.IExampleManager;
public class InfoBean {
private static final Log log = LogFactory.getLog(InfoBean.class);
private String username = null;
private String email = null;
private String response = null;
private long maximum = 0;
private boolean maximumSet = false;
private long minimum = 0;
private boolean minimumSet = false;
public InfoBean() {
}
public String getEmail() {
return email;
}
public void setEmail(String email) {
this.email = email;
}
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
public String submitPersonInfo() {
log.info(username);
log.info(email);
ApplicationContext ac = FacesContextUtils
.getWebApplicationContext(FacesContext.getCurrentInstance());
IExampleManager em = (IExampleManager) ac
.getBean("exampleService");
UserInfoVO uiVO = new UserInfoVO();
uiVO.setUsername(username);
uiVO.setEmail(email);
boolean flag = em.setUserInfo(uiVO);
if (flag) {
setResponse("注册成功");
return "success";
} else {
setResponse("注册失败");
return "failure";
}
}
public void setResponse(String response) {
this.response = response;
}
public String getResponse() {
return null;
}
public long getMaximum() {
return (this.maximum);
}
public void setMaximum(long maximum) {
this.maximum = maximum;
this.maximumSet = true;
}
public long getMinimum() {
return (this.minimum);
}
public void setMinimum(long minimum) {
this.minimum = minimum;
this.minimumSet = true;
}
}
(9)index.jsp
(10)home.jsp
<%@ page contentType="text/html; charset=gbk" %>
<%@ taglib uri="http://java.sun.com/jsf/html" prefix="h" %>
<%@ taglib uri="http://java.sun.com/jsf/core" prefix="f" %>
用户注册
bordercolor="#0099CC" cellpadding="6" bordercolorlight="#999999">
(11)success.jsp
<%@ page contentType="text/html; charset=gbk" %>
<%@ taglib uri="http://java.sun.com/jsf/html" prefix="h" %>
<%@ taglib uri="http://java.sun.com/jsf/core" prefix="f" %>
用户注册成功
url="images/form-success.jpg" alt="注册成功!"/>
value="返回" action="su"/>
(12)failure.jsp
<%@ page contentType="text/html; charset=gbk" %>
<%@ taglib uri="http://java.sun.com/jsf/html" prefix="h" %>
<%@ taglib uri="http://java.sun.com/jsf/core" prefix="f" %>
用户注册失败
url="images/form-error.jpg" alt="注册失败!"/>
value="返回" action="su"/>
(13)web.xml
http://java.sun.com/xml/ns/j2ee "
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee
http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"
version="2.4">
example
contextConfigLocation
/WEB-INF/applicationContext.xml
org.springframework.web.context.ContextLoaderListener
FacesServlet
FacesServlet
javax.faces.webapp.FacesServlet
1
FacesServlet
/example/*
(14)applicationContext.xml
"http://www.springframework.org/dtd/spring-beans.dtd">
class="org.springframework.jndi.JndiObjectFactoryBean">
java:/MySqlDS
class="org.springframework.orm.hibernate.LocalSessionFactoryBean">
net.sf.hibernate.dialect.MySQLDialect
true
class="org.springframework.orm.hibernate.HibernateTransactionManager">
class="com.openv.spring.service.impl.Example29ManagerImpl">
class="org.springframework.transaction.interceptor.TransactionProxyFactoryBean">
PROPAGATION_REQUIRED,readOnly
PROPAGATION_REQUIRED
class="com.openv.spring.service.dao.impl.UserInfoDAO">
(15)faces-config.xml
"-//Sun Microsystems, Inc.//DTD JavaServer Faces Config 1.1//EN"
"http://java.sun.com/dtd/web-facesconfig_1_1.dtd">
zh_CN
JSF Home Page
/home.jsp
success
success
/success.jsp
failure
failure
/failure.jsp
/success.jsp
su
/home.jsp
/failure.jsp
su
/home.jsp
InfoBean
InfoBean
com.openv.spring.jsf.InfoBean
session
minimum
long
6
maximum
long
18
(1)UserInfo.java
package com.zhaoqingjie.service.hibernate;
import java.io.Serializable;
import org.apache.commons.lang.builder.ToStringBuilder;
public class UserInfo implements Serializable{
private String id;
private String username;
private String email;
public UserInfo(String id,String username,String email){
this.id = id;
this.username = username;
this.email = email;
}
public UserInfo(){
}
public UserInfo(String id){
this.id = id;
}
public String getId(){
return id;
}
public void setId(String id){
this.id = id;
}
public String getEmail(){
return email;
}
public void setEmail(String email){
this.email = emial;
}
public String getUsername(){
return username;
}
public void setUsername(String username){
this.username = username;
}
public String toString(){
return new ToStringBuilder(this).append("id",getId()).toString();
}
}
(2)UserInfo.hbm.xml
"-//Hibernate/Hibernate Mapping DTD 2.0//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-2.0.dtd" >
@hibernate.class
table="userinfo"
@hibernate.id
generator-class="assigned"
type="java.lang.String"
column="id"
@hibernate.property
column="username"
length="36"
@hibernate.property
column="email"
length="60"
-------------------------------------------------------------------------------------------------------
(3)IUserInfoDAO.java
package com.zhaoqingjie.spring.service.dao;
import com.openv.spring.domainmodel.UserInfoVO;
import org.springframework.dao.DataAccessException;
import java.io.Serializable;
public interface IUserInfoDAO extends Serializable{
public boolean setUserInfo(UserInfoVO userinfoVO)throws DataAccessException;
}
(4)UserInfoDAO.java
package com.zhaoqingjie.spring.service.dao.impl;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.doomdark.uuid.UUIDGenerator;
import org.springframework.dao.DataAccessException;
import org.springframework.orm.hibernate.support.HibernateDaoSupport;
import com.zhaoqingjie.spring.domainmodel.UserInfoVO;
import com.zhaoqingjie.spring.service.dao.IUserInfoDAO;
import com.zhaoqingjie.spring.service.hibernate.UserInfo;
public class UserInfoDAO extends HibernateDaoSupport implements IUserInfoDAO{
private static final Log log = LogFactory.getLog(UserInfoDAO.class);
public boolean setUserInfo(UserInfoVO userinfoVO)throws DataAccessException{
if(userinfoVO == null){
return false;
}
UserInfo ui = new UserInfo();
ui.setId(getID());
ui.setUsername(userinfoVO.getUsername().trim());
ui.setEmail(userinfoVO.getEmail().trim());
this.getHibernateTemplate().save(ui);
return true;
}
private String getID(){
return UUIDGenerator.getInatance().generateTimeBaseUUID().toString();
}
}
--------------------------------------------------------------------------------------------------
(5)IExampleManager.java
package com.zhaoqingjie.spring.service;
import com.openv.spring.domainmodel.UserInfoVO;
import org.springframework.dao.DataAccessException;
import java.io.Serializable;
public interface IExampleManager extends Serializable {
public boolean setUserInfo(UserInfoVO userinfoVO)
throws DataAccessException;
}
(6)ExampleManagerImpl.java
package com.zhaoqingjie.spring.service.impl;
import com.openv.spring.domainmodel.UserInfoVO;
import com.openv.spring.service.IExample29Manager;
import com.openv.spring.service.dao.IUserInfoDAO;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.springframework.dao.DataAccessException;
public class ExampleManagerImpl implements IExampleManager {
private static final Log log = LogFactory
.getLog(ExampleManagerImpl.class);
private IUserInfoDAO userinfo;
public ExampleManagerImpl() {
log.info("ExampleManagerImpl()...................");
}
public void setUserinfo(IUserInfoDAO userinfoDAO)
throws DataAccessException {
this.userinfo = userinfoDAO;
}
public boolean setUserInfo(UserInfoVO userinfoVO)
throws DataAccessException {
return userinfo.setUserInfo(userinfoVO);
}
}
-----------------------------------------------------------------------------
(7)UserInfoVO.java
package com.zhaoqingjie.spring.domainmodel;
import java.io.Serializable;
public class UserInfoVO implements Serializable{
private String username;
private String email;
public String getEmail(){
return email;
}
public void setEmail(String email){
this.email = email;
}
public String getUsername(){
return username;
}
public void setUsername(String username){
this.username = username;
}
}
------------------------------------------------------------------------------------------
JSF表示层
(8)InfoBean.java
package com.zhaoqingjie.spring.jsf;
import javax.faces.context.FacesContext;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.springframework.context.ApplicationContext;
import org.springframework.web.jsf.FacesContextUtils;
import com.openv.spring.domainmodel.UserInfoVO;
import com.openv.spring.service.IExampleManager;
public class InfoBean {
private static final Log log = LogFactory.getLog(InfoBean.class);
private String username = null;
private String email = null;
private String response = null;
private long maximum = 0;
private boolean maximumSet = false;
private long minimum = 0;
private boolean minimumSet = false;
public InfoBean() {
}
public String getEmail() {
return email;
}
public void setEmail(String email) {
this.email = email;
}
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
public String submitPersonInfo() {
log.info(username);
log.info(email);
ApplicationContext ac = FacesContextUtils
.getWebApplicationContext(FacesContext.getCurrentInstance());
IExampleManager em = (IExampleManager) ac
.getBean("exampleService");
UserInfoVO uiVO = new UserInfoVO();
uiVO.setUsername(username);
uiVO.setEmail(email);
boolean flag = em.setUserInfo(uiVO);
if (flag) {
setResponse("注册成功");
return "success";
} else {
setResponse("注册失败");
return "failure";
}
}
public void setResponse(String response) {
this.response = response;
}
public String getResponse() {
return null;
}
public long getMaximum() {
return (this.maximum);
}
public void setMaximum(long maximum) {
this.maximum = maximum;
this.maximumSet = true;
}
public long getMinimum() {
return (this.minimum);
}
public void setMinimum(long minimum) {
this.minimum = minimum;
this.minimumSet = true;
}
}
(9)index.jsp
(10)home.jsp
<%@ page contentType="text/html; charset=gbk" %>
<%@ taglib uri="http://java.sun.com/jsf/html" prefix="h" %>
<%@ taglib uri="http://java.sun.com/jsf/core" prefix="f" %>
用户注册
输入用户注册信息: | |
用户名 | |
E_mail | |
(11)success.jsp
<%@ page contentType="text/html; charset=gbk" %>
<%@ taglib uri="http://java.sun.com/jsf/html" prefix="h" %>
<%@ taglib uri="http://java.sun.com/jsf/core" prefix="f" %>
用户注册成功
value="#{InfoBean.response}"/>
(12)failure.jsp
<%@ page contentType="text/html; charset=gbk" %>
<%@ taglib uri="http://java.sun.com/jsf/html" prefix="h" %>
<%@ taglib uri="http://java.sun.com/jsf/core" prefix="f" %>
用户注册失败
value="#{InfoBean.response}"/>
(13)web.xml
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee
http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"
version="2.4">
(14)applicationContext.xml
"http://www.springframework.org/dtd/spring-beans.dtd">
com/openv/spring/service/hibernate/UserInfo.hbm.xml
net.sf.hibernate.dialect.MySQLDialect
true
PROPAGATION_REQUIRED,readOnly
PROPAGATION_REQUIRED
(15)faces-config.xml
"-//Sun Microsystems, Inc.//DTD JavaServer Faces Config 1.1//EN"
"http://java.sun.com/dtd/web-facesconfig_1_1.dtd">
JSF Home Page
success
failure
InfoBean
com.openv.spring.jsf.InfoBean