免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1223 | 回复: 0
打印 上一主题 下一主题

hibernate+spring+struts例子 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2006-08-17 21:18 |只看该作者 |倒序浏览
hibernate+spring+struts例子
希望对刚开始学习的朋友有点帮助 如有不正确的地方希望大家指出
1.基本DAO所有的DAO继承他
package com.jrnt.common;
import org.springframework.orm.hibernate.support.HibernateDaoSupport;
public class BaseDAO extends HibernateDaoSupport {
}
2.BeanFactory
package com.jrnt.common;
import org.springframework.context.support.FileSystemXmlApplicationContext;
import org.springframework.context.ApplicationContext;
public class BeanFactory {
private static ApplicationContext context;
/**
  * 在应用程序启动时配置spring框架
  *
  * @param filePath
  */
public static void init(String filePath) {
  if (context == null) {
   context = new FileSystemXmlApplicationContext(filePath);
  }
}
/**
  * 方法用于获取业务对象。
  *
  * @param beanName
  * @return
  */
public static Object getBusinessOjbect(String beanName) {
  return context.getBean(beanName);
}
/**
  * 方法用于获取数据操作对象即DAO对象。
  *
  * @param beanName
  * @return
  */
public static Object getDAOObject(String beanName) {
  return context.getBean(beanName);
}
/**
  * 在应用程序关闭时,清空spring框架配置信息。
  */
public static void clear() {
  if (context != null) {
   context = null;
  }
}
}
3.Filter
package com.jrnt.common;
import java.io.IOException;
import javax.servlet.Filter;
import javax.servlet.FilterChain;
import javax.servlet.FilterConfig;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
public class SetCharacterEncodingFilter implements Filter {
protected String encoding = null;
protected FilterConfig filterConfig = null;
protected boolean ignore = true;
public void destroy() {
  this.encoding = null;
  this.filterConfig = null;
}
public void doFilter(ServletRequest request, ServletResponse response,
   FilterChain chain) throws IOException, ServletException {
  if (ignore || (request.getCharacterEncoding() == null)) {
   String encoding = selectEncoding(request);
   if (encoding != null)
    request.setCharacterEncoding(encoding);
  }
  chain.doFilter(request, response);
}
public void init(FilterConfig filterConfig) throws ServletException {
  this.filterConfig = filterConfig;
  this.encoding = filterConfig.getInitParameter("encoding");
  String value = filterConfig.getInitParameter("ignore");
  if (value == null)
   this.ignore = true;
  else if (value.equalsIgnoreCase("true"))
   this.ignore = true;
  else if (value.equalsIgnoreCase("yes"))
   this.ignore = true;
  else
   this.ignore = false;
}
protected String selectEncoding(ServletRequest request) {
  return (this.encoding);
}
}
4.SpringListener
package com.jrnt.common;
import javax.servlet.ServletContextEvent;
import javax.servlet.ServletContextListener;
public class SpringListener implements ServletContextListener {
  
public void contextInitialized(ServletContextEvent sce) {
  String relativePath = sce.getServletContext().getInitParameter(
    "springConfig");
  String realPath = sce.getServletContext().getRealPath(relativePath);
  BeanFactory.init(realPath);
  this.configBaseInfos(sce);
}
public void contextDestroyed(ServletContextEvent sce) {
  BeanFactory.clear();
}
private void configBaseInfos(ServletContextEvent sce) {
}
}
5.hibernate持久类
package com.jrnt.persistence.userms;
import java.io.Serializable;
import org.apache.commons.lang.builder.ToStringBuilder;
/** @author Hibernate CodeGenerator */
public class AppUser implements Serializable {
/** persistent field */
private String bh;
/** persistent field */
private String jh;
/** persistent field */
private String mm;
/** persistent field */
private String zt;
/** persistent field */
private String zgshjb;
/** persistent field */
private String dwdh;
/** persistent field */
private String xm;
/** persistent field */
private String ndshjb;
/** persistent field */
private String ndshqx;
/** persistent field */
private String zgshqx;
/** full constructor */
public AppUser(String bh, String jh, String mm, String zt, String zgshjb,
   String dwdh, String xm, String ndshjb, String ndshqx, String zgshqx) {
  this.bh = bh;
  this.jh = jh;
  this.mm = mm;
  this.zt = zt;
  this.zgshjb = zgshjb;
  this.dwdh = dwdh;
  this.xm = xm;
  this.ndshjb = ndshjb;
  this.ndshqx = ndshqx;
  this.zgshqx = zgshqx;
}
/** default constructor */
public AppUser() {
}
public String getBh() {
  return this.bh;
}
public void setBh(String bh) {
  this.bh = bh;
}
public String getJh() {
  return this.jh;
}
public void setJh(String jh) {
  this.jh = jh;
}
public String getMm() {
  return this.mm;
}
public void setMm(String mm) {
  this.mm = mm;
}
public String getZt() {
  return this.zt;
}
public void setZt(String zt) {
  this.zt = zt;
}
public String getZgshjb() {
  return this.zgshjb;
}
public void setZgshjb(String zgshjb) {
  this.zgshjb = zgshjb;
}
public String getDwdh() {
  return this.dwdh;
}
public void setDwdh(String dwdh) {
  this.dwdh = dwdh;
}
public String getXm() {
  return this.xm;
}
public void setXm(String xm) {
  this.xm = xm;
}
public String getNdshjb() {
  return this.ndshjb;
}
public void setNdshjb(String ndshjb) {
  this.ndshjb = ndshjb;
}
public String getNdshqx() {
  return this.ndshqx;
}
public void setNdshqx(String ndshqx) {
  this.ndshqx = ndshqx;
}
public String getZgshqx() {
  return this.zgshqx;
}
public void setZgshqx(String zgshqx) {
  this.zgshqx = zgshqx;
}
public String toString() {
  return new ToStringBuilder(this).toString();
}
}
配置文件
6.Session
接口
package com.jrnt.userms.logic;
import com.jrnt.persistence.userms.AppUser;
public interface UserLoginSession {
public AppUser checkLogin(String username, String userpassword);
public boolean updataPassword(AppUser appUser);
}
实例化类
package com.jrnt.userms.logic.impl;
import com.jrnt.userms.logic.UserLoginSession;
import com.jrnt.persistence.userms.AppUser;
import com.jrnt.common.BeanFactory;
import com.jrnt.userms.dao.AppUserLoginDao;
public class UserLoginSessionImpl extends BeanFactory implements
  UserLoginSession {
private AppUserLoginDao appUserLoginDao;
public void setAppUserLoginDao(AppUserLoginDao appUserLoginDao) {
  this.appUserLoginDao = appUserLoginDao;
}
public AppUser checkLogin(String username, String userpassword) {
  return this.appUserLoginDao.findByCount(username, userpassword);
}
public boolean updataPassword(AppUser appUser) {
  return appUserLoginDao.updataPassword(appUser);
}
}

7.DAO
接口
package com.jrnt.userms.dao;
import com.jrnt.persistence.userms.AppUser;
public interface AppUserLoginDao {
public AppUser findByCount(String username, String userpassword);
public boolean updataPassword(AppUser appUser);
}
实例化类
package com.jrnt.userms.dao.impl;
import java.util.List;
import com.jrnt.userms.dao.AppUserLoginDao;
import com.jrnt.common.BaseDAO;
import com.jrnt.persistence.userms.AppUser;
public class AppUserLoginDaoImpl extends BaseDAO implements AppUserLoginDao {
public AppUser findByCount(String username, String userpassword) {
  String Sql = "from AppUser as t where t.yhm='" + username
    + "' and t.mm='" + userpassword + "'";
  List list = super.getHibernateTemplate().find(Sql);
  if (list.size() > 0) {
   return (AppUser) list.get(0);
  }
  return null;
}
public boolean updataPassword(AppUser appUser) {
  try {
   super.getHibernateTemplate().update(appUser);
   return true;
  } catch (Exception ex) {
   return false;
  }
}
}
8.STRUTS
  actionform
package com.jrnt.userms.struts.form;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionErrors;
import org.apache.struts.action.ActionMapping;
import javax.servlet.http.HttpServletRequest;
public class UserloginForm extends ActionForm {
private String username;
private String userpassword;

public String getUsername() {
  return username;
}
public void setUsername(String username) {
  this.username = username;
}
public void setUserpassword(String userpassword) {
  this.userpassword = userpassword;
}
public String getUserpassword() {
  return userpassword;
}
public ActionErrors validate(ActionMapping actionMapping,
   HttpServletRequest httpServletRequest) {
  return null;
}
public void reset() {
  username = null;
  userpassword = null;
}
}
action
package com.jrnt.userms.struts.action;
import javax.servlet.http.*;
import com.jrnt.common.BeanFactory;
import com.jrnt.persistence.userms.AppUser;
import com.jrnt.userms.logic.UserLoginSession;
import com.jrnt.userms.struts.form.UserloginForm;
import org.apache.struts.action.*;
public class UserloginAction extends Action {
private AppUser appuser;
private String username;
private String userpassword;
UserLoginSession userloginsession = (UserLoginSession) BeanFactory
   .getBusinessOjbect("UserLoginSession");
public ActionForward execute(ActionMapping mapping, ActionForm form,
   HttpServletRequest request, HttpServletResponse response) {
  UserloginForm userloginForm = (UserloginForm) form;
  this.username = userloginForm.getUsername();
  this.userpassword = userloginForm.getUserpassword();
  HttpSession session = request.getSession(true);
  session.removeAttribute("USER_ID");
  this.appuser = userloginsession.checkLogin(this.username,
    this.userpassword);
  if (appuser == null) {
   session.setAttribute("errMsg", "error!");
   userloginForm.reset();
   return mapping.findForward("loginagin");
  } else {
   session.setAttribute("USER_ID", this.username);
   return mapping.findForward("index");
  }
}
}
配置文件
web.xml
  sgms
  
    springConfig
    /WEB-INF/springbeans.xml
  
  
    Set Character Encoding
    com.jrnt.common.SetCharacterEncodingFilter
   
      encoding
      GBK
   
  
  
    Set Character Encoding
    /*
  
  
    com.jrnt.common.SpringListener
  
  
    action
    org.apache.struts.action.ActionServlet
   
      config
      /WEB-INF/struts-config.xml
   
   
      debug
      2
   
    2
  
  
    action
    *.do
  
  
    http://java.sun.com/jstl/core
    /WEB-INF/c.tld
  
  
    http://java.sun.com/jstl/core_rt
    /WEB-INF/c-rt.tld
  
  
    http://java.sun.com/jstl/xml
    /WEB-INF/x.tld
  
  
    http://java.sun.com/jstl/xml_rt
    /WEB-INF/x-rt.tld
  
  
    http://java.sun.com/jstl/fmt
    /WEB-INF/fmt.tld
  
  
    http://java.sun.com/jstl/fmt_rt
    /WEB-INF/fmt-rt.tld
  
  
    http://java.sun.com/jstl/sql
    /WEB-INF/sql.tld
  
  
    http://java.sun.com/jstl/sql_rt
    /WEB-INF/sql-rt.tld
  
  
    /WEB-INF/struts-bean.tld
    /WEB-INF/struts-bean.tld
  
  
    /WEB-INF/struts-html.tld
    /WEB-INF/struts-html.tld
  
  
    /WEB-INF/struts-logic.tld
    /WEB-INF/struts-logic.tld
  
  
    /WEB-INF/struts-tiles.tld
    /WEB-INF/struts-tiles.tld
  
  
    /WEB-INF/struts-nested.tld
    /WEB-INF/struts-nested.tld
  
springbeans.xml
  
   
      java:/SgmsDS
   
  
  
   
      
        false
        true
        100
        80
      
   
   
      
   
   
      
        com/jrnt/persistence/userms/AppUser.hbm.xml
      
   
  
  
   
      
   
  
  
   
      
   
   
      
        PROPAGATION_REQUIRED
        PROPAGATION_REQUIRED
        PROPAGATION_REQUIRED
        PROPAGATION_REQUIRED,readOnly
        PROPAGATION_REQUIRED,readOnly
        PROPAGATION_REQUIRED,readOnly
      
   
  
  
   
  
  
   
  
  
   
   
struts-config.xml
  
   
  
  
   
      
      
   
  
  
上述代码的业务逻辑有所省略。
配置JBOSS和JNDI(根据自己的实际情况进行配置)
如上述代码有什么问题请联系我 谢谢 QQ284926629 EMAIL
angus1923@sina.com


本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u/19695/showart_156884.html
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP