构建BBS论坛系统项目用户信息管理模块业务层组件的实现示例

合集下载

J2EE Web组件课程设计——BBS论坛系统项目完整实现实例(业务层BBSInfo相关的功能类)

J2EE Web组件课程设计——BBS论坛系统项目完整实现实例(业务层BBSInfo相关的功能类)
杨教授工作室 精心创作的优秀程序员 职业提升必读系列资料
目录
1.1 BBS 论坛系统项目完整实现实例(业务层 BBSInfo 相关的功能类) ....................2 1.1.1 添加各个 BBS 信息相关的实体 ............................................................................2 1.1.2 在项目中添加相关的接口及实现类 ....................................................................20 1.1.3 编程 BBSInfoManageImple 实现类相关的功能实现代码 .................................23
private String sendInfoTime;
private String content;
杨教授工作室,版权所有3 ,盗版必究, 3/36 页
杨教授工作室 精心创作的优秀程序员 职业提升必读系列资料
private int mailto; private String abstractText; private String lastUpdateTime; private int bbsIconID; private int bbsTypeID; private int bbsTitleID; private int userID; private int bbsID; public BBSInfoVO() { } public String getAbstractText() {
杨教授工作室,版权所有1 ,盗版必究, 1/36 页
杨教授工作室 精心创作的优秀程序员 职业提升必读系列资料

BBS论坛系统项目服务层实现

BBS论坛系统项目服务层实现

7、业务层中的各个业务类的接口 (1)UserInfoManageInterface (2)BBSInfoManageInterface
(3)业务接口中的方法定义要点 输入输出参数都采用VO类 方法名一般为doXXXX 每个方法都应该定义有异常抛出,将DAO的异常进行“ 上传”
8、业务接口的各个实现类 如果项目中不应用Spring IoC,可以增加对应的工厂类
12 、 、合理地分离表现、业务和数据访问服务的职责 J2EE平台中的持久层实现技术 ( ( 11 ) )控制层中的 JDBC:“原子”类型的 Action程序只负责接受请求,调用具体 API ( 的 2Service )J2EE 组件,进行处理后转发 EJB 中的EntityBean(实体Bean) 重量级的O/R Mapping技术 ( ( 32 ) ) Hibernate DAO程序类只需要封装最基本的增删改查等服务 框架 轻量级的 如果在DAO O/R和 Mapping Action程序中存在过多的业务逻辑的处 技术,但以类关系配置为重点 ( 理,业务的改变当然会造成动一处而牵全身的后果。 4)Apache iBATIS 轻量级的O/R Mapping技术,但以SQL语句配置为重点 3 、在业务层设计常存在的一个问题 ——业务逻辑层不是数 ( 5)Sun JDO(Java Data Object) 据访问服务的“转发器” JDBC只是面向关系数据库(RDBMS)JDO更通用,提供 到任何数据底层的存储功能,如关系数据库、文件、 XML ( 1)为什么要分为Controllor、Service和DAO 等,使得应用可移植性更强。 适应三层中所面对的各自的需求变化,为维护、扩 展方便
4、明确系统业务服务层中一般需要哪些组件类 (1)业务实体类(VO类) (2)业务功能接口 (3)业务功能接口的实现类 (4)Util工具类 5、实现项目中的Util工具类 (1)验证码功能 (2)对文章信息中的特殊字符进行转换处理

BBS论坛系统项目前台用户管理模块中的DAO组件的实现示例

BBS论坛系统项目前台用户管理模块中的DAO组件的实现示例

1.1BBS论坛系统项目前台用户管理模块中的DAO组件的实现示例1.1.1前台用户管理模块中的DAO组件的实现过程1、在项目中添加一个HibernateUtil类(1)类名称为HibernateUtil,包名称为com.px1987.webbbs.hibernatedao(2)编程该类2、针对UserManageDAOInterface的DAO接口提供一个实现类(1)类名称为UserManageDAOHibernateImple,包名称为com.px1987.webbbs.hibernatedao、并且继承Observable类(2)编程该实现类3、关于事务的应用问题在开发以数据库为平台的系统中,单用户操作的系统越来越少了,基本上都是多用户操作,并发访问数据库。

在这种情况下,要想保证业务的正常进行,保证数据库的一致性是关键。

比如银行的转账系统,处理不当的话,会造成一个用户的资金减少了,另一个用户的资金却没有增加。

保证数据库的一致性需要对多用户并发访问数据库进行合理的调度,调度的基本单位是事务。

我们知道,事务是用户对数据库的操作序列,事务具有原子性,一致性,隔离性和持续性。

我们可以认为在并发访问的环境下,在同一时刻有多个事务在运行。

调度的基本原则是一个事务应该感觉不到其他事务的存在,它按照正常的业务逻辑进行处理。

并发操作造成的不一致性表现主要有以下3种,我们在编程的时候需要特别注意:(1)丢失修改2个事务同时读入同一个数据并进行修改,如果不加限制,就会出现一个事务的提交破坏另一事务的提交的情况。

比如2个终端同时进行机票的销售工作,每个事务同时都读取到目前剩余的票数,然后各自进行减去一,这样由于提交有先后,造成2个终端销售出去2张机票,结果数据库中只是减去了一张。

(2)不可重复读一个事务读入一批数据,在再次读同样的一批数据之前,有别的事务对这些数据进行了修改,结果第一个事务再次读入它们的时候,出现了和第一次读的时候不一致的情况。

基于Java的BBS论坛系统的设计与实现

基于Java的BBS论坛系统的设计与实现

基于Java的BBS论坛系统的设计与实现一、概述随着信息技术的飞速发展和互联网的广泛普及,网络交流已成为人们获取信息、分享经验和知识、进行互动沟通的重要渠道。

论坛(Bulletin Board System,简称BBS)作为一种古老而有效的网络交流方式,经过多年的发展和演变,已经成为互联网的重要组成部分。

基于Java的BBS论坛系统正是为了满足现代网络交流需求,提供一个稳定、高效、可扩展的在线交流平台。

Java作为一种成熟、稳定、跨平台的编程语言,具有丰富的生态系统和广泛的应用场景。

使用Java开发BBS论坛系统,不仅能够确保系统的可移植性和可扩展性,还能够利用Java社区提供的丰富资源和支持,快速实现论坛系统的核心功能,如用户管理、帖子发布、回复评论、主题分类、权限控制等。

基于Java的BBS论坛系统的设计与实现,将重点关注系统的需求分析、架构设计、功能实现、性能优化等方面。

在系统需求分析阶段,将深入剖析用户需求,明确系统的功能和特点在架构设计阶段,将合理规划系统的整体结构,确保系统的稳定性和可扩展性在功能实现阶段,将使用Java语言和相关技术实现论坛系统的各项功能在性能优化阶段,将通过各种技术手段提升系统的性能和用户体验。

本文旨在详细介绍基于Java的BBS论坛系统的设计与实现过程,包括系统的需求分析、架构设计、功能实现、性能优化等方面,以期为相关领域的开发人员提供参考和借鉴。

同时,本文还将探讨未来论坛系统的发展趋势和挑战,展望未来的发展方向。

1. 背景介绍:简述BBS论坛系统的起源、发展和现状,以及其在互联网社区中的作用。

随着互联网的飞速发展和普及,网络社区成为了人们获取信息、交流意见、分享经验的重要场所。

Bulletin Board System(简称BBS)论坛系统以其独特的交互性和开放性,成为了网络社区中最为活跃和重要的组成部分之一。

BBS论坛系统起源于20世纪80年代的电子布告栏系统(Electronic Bulletin Board),主要用于发布和讨论计算机相关的信息。

J2EE课程设计实训项目《BBS论坛系统》——业务层用户信息管理组件功能实现及对应的单元测试用例(第1部分)

J2EE课程设计实训项目《BBS论坛系统》——业务层用户信息管理组件功能实现及对应的单元测试用例(第1部分)

基于J2EE Struts框架的课程设计实训项目——《BBS论坛系统》——业务层中的用户信息管理组件的功能实现及对应的单元测试用例(第1/2部分)1.1.1构建用户信息管理业务层相关的组件1、添加UserInfoManageInterface接口(1)在项目中添加UserInfoManageInterface接口(2)设计该UserInfoManageInterface接口package com.px1987.webbbs.model;import java.util.ArrayList;import java.util.Map;import com.px1987.webbbs.dao.AdminUserInfoPO;import erInfoPO;import com.px1987.webbbs.exception.WebBBSException;public interface UserInfoManageInterface{public boolean doBatchDeleteUserInfo(ArrayList deletedUserIDs) throws WebBBSException;public boolean doUserLogin(UserInfoVO oneUserInfoVO) throws WebBBSException;public boolean doUserRegister(UserInfoVO oneUserInfoVO) throws WebBBSException;public boolean doUpdateOneUserInfo(UserInfoVO oneUserInfoVO) throws WebBBSException;public boolean doUpdateOneRegisterUserPassWord(UserInfoVO oneUserInfoVO,String newPassWord) throws WebBBSException;public boolean doUpdateOneAdminUserPassWord(UserInfoVO oneUserInfoVO,String newPassWord) throws WebBBSException;public boolean doCheckUserNameExist(String userName,Integer type_User_Admin) throws WebBBSException;public String doGetOneRegisterUserPassWord(UserInfoVO oneRegisterUserInfoVO) throws WebBBSException;public String doGetOneAdminUserPassWord(UserInfoVO oneAdminUserInfoVO) throws WebBBSException;public UserInfoVO doGetOneRegisterUserInfo(String registerUserID) throws WebBBSException;public UserInfoVO doGetMaxIDUserInfo() throws WebBBSException;public UserInfoVO doGetOneRegisterUserInfo(UserInfoVO oneRegisterUserInfoVO) throws WebBBSException;public UserInfoVO doGetOneRegisterUserInfoByName(String userNme) throws WebBBSException;public UserInfoVO doGetOneAdminUserInfo(String adminUserID) throwsWebBBSException;public UserInfoVO doGetOneAdminUserInfo(UserInfoVO oneAdminUserInfoVO) throws WebBBSException;public UserInfoVO doGetOneUserInfo(String userName,String userPassWord, Integer type_User_Admin) throws WebBBSException;public ArrayList<String> doGetAllUserNameInfo(String userName,Integer type_User_Admin ) throws WebBBSException;public int doGetTotalRegisterUserCounter() throws WebBBSException;public boolean doDeleteOneRegisterUserInfo(String registerUserID) throws WebBBSException;public boolean doDeleteOneRegisterUserInfo(UserInfoVO oneRegisterUserInfoVO) throws WebBBSException;public boolean doDeleteOneAdminUserInfo(String adminUserID) throws WebBBSException;public boolean doDeleteOneAdminUserInfo(UserInfoVO oneAdminUserInfoVO) throws WebBBSException;public ArrayList<UserInfoVO> doGetAllRegisterUserInfo() throws WebBBSException;public ArrayList<UserInfoVO> doGetSomeRegisterUserInfo(Map registerUserInfos,int userType) throws WebBBSException;public ArrayList<UserInfoVO> doGetOnePageRegisterUserInfo(PageStateVO_PrototypeonePageStateVO_Prototype,int userType,Map registerUserInfos) throws WebBBSException;public ArrayList<UserInfoVO> doGetOnePageAllUserInfo(PageStateVO_Prototype onePageStateVO_Prototype) throws WebBBSException;public ArrayList<UserInfoVO> doGetAllAdminUserInfo() throws WebBBSException;public ArrayList<UserInfoVO> doGetSomeAdminUserInfo(Map adminUserInfos) throws WebBBSException;}2、为该接口提供实现类UserInfoManageImple继承于java.util.Observable类,并编程该实现类package com.px1987.webbbs.model;import ng.reflect.InvocationTargetException; import java.util.ArrayList;import java.util.Iterator;import java.util.Map;import java.util.Observable;import mons.beanutils.BeanUtils; import com.px1987.webbbs.config.ClassNameConfig;import com.px1987.webbbs.constant.WebBankAllConstants;import com.px1987.webbbs.dao.AdminUserInfoPO;import com.px1987.webbbs.dao.AdminUserManageDAOInterface;import erInfoPO;import erManageDAOInterface;import com.px1987.webbbs.exception.WebBBSException;import com.px1987.webbbs.util.LogInfoFactory;public class UserInfoManageImple extends Observable implements UserInfoManageInterface{private UserManageDAOInterface userInfoManageDAOImpleBean = null;private AdminUserManageDAOInterface adminUserInfoManageDAOImpleBean= null;public void setAdminUserInfoManageDAOImpleBean(AdminUserManageDAOInterface adminUserInfoManageDAOImpleBean) { this.adminUserInfoManageDAOImpleBean = adminUserInfoManageDAOImpleBean;}public void setUserInfoManageDAOImpleBean(UserManageDAOInterface userInfoManageDAOImpleBean) {erInfoManageDAOImpleBean = userInfoManageDAOImpleBean;}public UserInfoManageImple(){//本构造方法在应用Spring IOC获得目标DAO组件对象时应用}/*String adminManageDAOJDBCImpleClassName=null;String userManageDAOJDBCImpleClassName=null;public UserInfoManageImple() throws WebBBSException {//本构造方法在应用可配置化的工厂模式时获得目标DAO组件对象时应用userManageDAOJDBCImpleClassName=ClassNameConfig.getProperty("userManageDAOJDBCImple.className");userInfoManageDAOImpleBean=UserManageDAOFactory.newUserManageDAOBean(userManageDAOJDBCImpleClassName);adminManageDAOJDBCImpleClassName=ClassNameConfig.getProperty("adminManageDAOJDBCImple.className");adminUserInfoManageDAOImpleBean=AdminUserManageDAOFactory.newAdminManageDAOBean(adminManageDAOJDBCImpleClassName);}*/public boolean doBatchDeleteUserInfo(ArrayList deletedUserIDs) throws WebBBSException{return false;}public boolean doCheckUserNameExist(String userName, Integer type_User_Admin) throws WebBBSException {boolean OKOrNot=false;switch(type_User_Admin.intValue()){case 1:UserInfoPO oneUserInfoPO=userInfoManageDAOImpleBean.selectOneUserInfoByName(userName);if(oneUserInfoPO==null){OKOrNot=false;}else{OKOrNot=true;}break;case 2:AdminUserInfoPO oneAdminUserInfoPO=adminUserInfoManageDAOImpleBean.selectOneAdminUserInfoByName(userName);if(oneAdminUserInfoPO==null){OKOrNot=false;}else{OKOrNot=true;}break;default:OKOrNot=false;}return OKOrNot;}public boolean doDeleteOneAdminUserInfo(String adminUserID) throws WebBBSException {boolean OKOrNot=false;OKOrNot=adminUserInfoManageDAOImpleBean.deleteOneAdminUserInfo(adminUserID);return OKOrNot;}public boolean doDeleteOneAdminUserInfo(UserInfoVO oneAdminUserInfoVO) throws WebBBSException {String adminUserID=oneAdminUserInfoVO.getId();return doDeleteOneAdminUserInfo(adminUserID);}public boolean doDeleteOneRegisterUserInfo(String registerUserID)throws WebBBSException {boolean OKOrNot=false;OKOrNot=userInfoManageDAOImpleBean.deleteOneUserInfo(registerUserID);return OKOrNot;}public boolean doDeleteOneRegisterUserInfo(UserInfoVO oneRegisterUserInfoVO) throws WebBBSException {String registerUserID=oneRegisterUserInfoVO.getId();return doDeleteOneRegisterUserInfo(registerUserID);}public ArrayList<UserInfoVO> doGetAllAdminUserInfo() throws WebBBSException{ ArrayList allAdminUserInfoPO=adminUserInfoManageDAOImpleBean.selectAllAdminUserInfo();ArrayList allAdminUserInfoVO=new ArrayList();Iterator allPOItem=allAdminUserInfoPO.iterator();while(allPOItem.hasNext()){AdminUserInfoPO oneAdminUserInfoPO=(AdminUserInfoPO)allPOItem.next();UserInfoVO oneUserInfoVO=new UserInfoVO();try {BeanUtils.copyProperties(oneUserInfoVO, oneAdminUserInfoPO);}catch (IllegalAccessException e){int logImpleKind=Integer.parseInt(ClassNameConfig.getProperty("logImpleKind"));this.addObserver(LogInfoFactory.newLogInstance(logImpleKind));this.setChanged(); //注意要设置变化点notifyObservers(e);throw new WebBBSException("在UserInfoManageImple类的doGetAllAdminUserInfo方法中利用BeanUtils类进行对象拷贝时出现了IllegalAccessException异常");}catch (InvocationTargetException e) {int logImpleKind=Integer.parseInt(ClassNameConfig.getProperty("logImpleKind"));this.addObserver(LogInfoFactory.newLogInstance(logImpleKind));this.setChanged(); //注意要设置变化点notifyObservers(e);throw new WebBBSException("在UserInfoManageImple类的doGetAllAdminUserInfo方法中利用BeanUtils类进行对象拷贝时出现了InvocationTargetException异常");}}return allAdminUserInfoVO;}public ArrayList<UserInfoVO> doGetAllRegisterUserInfo() throws WebBBSException{ArrayList allRegisterUserInfoPO=userInfoManageDAOImpleBean.selectAllUserInfo();ArrayList allRegisterUserInfoVO=new ArrayList();Iterator allPOItem=allRegisterUserInfoPO.iterator();while(allPOItem.hasNext()){UserInfoPO oneUserInfoPO=(UserInfoPO)allPOItem.next();UserInfoVO oneUserInfoVO=new UserInfoVO();try {BeanUtils.copyProperties(oneUserInfoVO, oneUserInfoPO);}catch (IllegalAccessException e){int logImpleKind=Integer.parseInt(ClassNameConfig.getProperty("logImpleKind"));this.addObserver(LogInfoFactory.newLogInstance(logImpleKind));this.setChanged(); //注意要设置变化点notifyObservers(e);throw new WebBBSException("在UserInfoManageImple类的doGetAllRegisterUserInfo方法中利用BeanUtils类进行对象拷贝时出现了IllegalAccessException异常");}catch (InvocationTargetException e) {int logImpleKind=Integer.parseInt(ClassNameConfig.getProperty("logImpleKind"));this.addObserver(LogInfoFactory.newLogInstance(logImpleKind));this.setChanged(); //注意要设置变化点notifyObservers(e);throw new WebBBSException("在UserInfoManageImple类的doGetAllRegisterUserInfo方法中利用BeanUtils类进行对象拷贝时出现了InvocationTargetException异常");}allRegisterUserInfoVO.add(oneUserInfoVO);}return allRegisterUserInfoVO;}public ArrayList<String> doGetAllUserNameInfo(String userName,Integer type_User_Admin) throws WebBBSException {boolean OKOrNot=false;ArrayList allUserNameArrayList=null;// userInfoManageDAOImpleBean=new UserManageDAOJDBCImple();switch(type_User_Admin.intValue()){case 1:allUserNameArrayList=userInfoManageDAOImpleBean.selectAllRegisterUserNameInfo(userName);break;case 2:allUserNameArrayList=adminUserInfoManageDAOImpleBean.selectAllAdminUserNameInfo(userName);break;default:allUserNameArrayList=null;}return allUserNameArrayList;}public UserInfoVO doGetOneAdminUserInfo(String adminUserID)throws WebBBSException{UserInfoVO oneAdminUserInfoVO=new UserInfoVO();AdminUserInfoPO oneAdminUserInfoPO=adminUserInfoManageDAOImpleBean.selectOneAdminUserInfo(adminUserID);try { //利用Bean拷贝BeanUtils.copyProperties(oneAdminUserInfoVO, oneAdminUserInfoPO);}catch (IllegalAccessException e){int logImpleKind=Integer.parseInt(ClassNameConfig.getProperty("logImpleKind"));this.addObserver(LogInfoFactory.newLogInstance(logImpleKind));this.setChanged(); //注意要设置变化点notifyObservers(e);throw new WebBBSException("在UserInfoManageImple类的doGetOneAdminUserInfo方法中利用BeanUtils类进行对象拷贝时出现了IllegalAccessException异常");}catch (InvocationTargetException e){int logImpleKind=Integer.parseInt(ClassNameConfig.getProperty("logImpleKind"));this.addObserver(LogInfoFactory.newLogInstance(logImpleKind));this.setChanged(); //注意要设置变化点notifyObservers(e);throw new WebBBSException("在UserInfoManageImple类的doGetOneAdminUserInfo方法中利用BeanUtils类进行对象拷贝时出现了InvocationTargetException异常");}return oneAdminUserInfoVO;}public UserInfoVO doGetOneAdminUserInfo(UserInfoVO oneAdminUserInfoVO) throws WebBBSException{String adminUserID=oneAdminUserInfoVO.getId();return doGetOneAdminUserInfo(adminUserID);}public String doGetOneAdminUserPassWord(UserInfoVO oneAdminUserInfoVO) throws WebBBSException {String adminUserName=oneAdminUserInfoVO.getUserName();AdminUserInfoPO oneAdminUserInfoPO=adminUserInfoManageDAOImpleBean.selectOneAdminUserInfoByName(adminUserName);return oneAdminUserInfoPO.getUserPassWord();}public UserInfoVO doGetOneRegisterUserInfoByName(String userNme) throws WebBBSException{UserInfoVO oneUserInfoVO=null;UserInfoPO oneUserInfoPO=null;// userInfoManageDAOImpleBean=new UserManageDAOJDBCImple();oneUserInfoVO=new UserInfoVO();oneUserInfoPO=userInfoManageDAOImpleBean.selectOneUserInfoByName(userNme);oneUserInfoVO.setUserName(oneUserInfoPO.getUserName());oneUserInfoVO.setUserPassWord(oneUserInfoPO.getUserPassWord());oneUserInfoVO.setUserType(oneUserInfoPO.getUserType());oneUserInfoVO.setAliaoName(oneUserInfoPO.getAliaoName());oneUserInfoVO.setPassWordAsk(oneUserInfoPO.getPassWordAsk());oneUserInfoVO.setUserImage(oneUserInfoPO.getUserImage());oneUserInfoVO.setPassWordAnswer(oneUserInfoPO.getPassWordAnswer());oneUserInfoVO.setUserMail(oneUserInfoPO.getUserMail());oneUserInfoVO.setRegisterTime(oneUserInfoPO.getRegisterTime());oneUserInfoVO.setUserID(oneUserInfoPO.getId());oneUserInfoVO.setUserResume(oneUserInfoPO.getUserResume());oneUserInfoVO.setType_User_Admin(new Integer(1));oneUserInfoVO.setUserSex(oneUserInfoPO.getUserSex());oneUserInfoVO.setUserBirthDay(oneUserInfoPO.getUserBirthDay());oneUserInfoVO.setUserComeFrom(oneUserInfoPO.getUserComeFrom());oneUserInfoVO.setContactMethod(oneUserInfoPO.getContactMethod());oneUserInfoVO.setUserSign(oneUserInfoPO.getUserSign());oneUserInfoVO.setEmailVisible(oneUserInfoPO.getEmailVisible());oneUserInfoVO.setAcceptAdvise(oneUserInfoPO.getAcceptAdvise());try { //利用Bean拷贝类实现简单地拷贝BeanUtils.copyProperties(oneUserInfoVO,oneUserInfoPO);}catch (IllegalAccessException e){int logImpleKind=Integer.parseInt(ClassNameConfig.getProperty("logImpleKind"));this.addObserver(LogInfoFactory.newLogInstance(logImpleKind));this.setChanged(); //注意要设置变化点notifyObservers(e);throw new WebBBSException("在UserInfoManageImple类的doGetOneRegisterUserInfoByName方法中利用BeanUtils类进行对象拷贝时出现了IllegalAccessException异常");}catch (InvocationTargetException e) {int logImpleKind=Integer.parseInt(ClassNameConfig.getProperty("logImpleKind"));this.addObserver(LogInfoFactory.newLogInstance(logImpleKind));this.setChanged(); //注意要设置变化点notifyObservers(e);throw new WebBBSException("在UserInfoManageImple类的doGetOneRegisterUserInfoByName方法中利用BeanUtils类进行对象拷贝时出现了InvocationTargetException异常");}return oneUserInfoVO;}public UserInfoVO doGetOneRegisterUserInfo(String registerUserID) throws WebBBSException{UserInfoVO oneUserInfoVO=null;UserInfoPO oneUserInfoPO=null;// userInfoManageDAOImpleBean=new UserManageDAOJDBCImple();oneUserInfoVO=new UserInfoVO();oneUserInfoPO=userInfoManageDAOImpleBean.selectOneUserInfo(registerUserID);oneUserInfoVO.setUserName(oneUserInfoPO.getUserName());oneUserInfoVO.setUserPassWord(oneUserInfoPO.getUserPassWord());oneUserInfoVO.setUserType(oneUserInfoPO.getUserType());oneUserInfoVO.setAliaoName(oneUserInfoPO.getAliaoName());oneUserInfoVO.setPassWordAsk(oneUserInfoPO.getPassWordAsk());oneUserInfoVO.setUserImage(oneUserInfoPO.getUserImage());oneUserInfoVO.setPassWordAnswer(oneUserInfoPO.getPassWordAnswer());oneUserInfoVO.setUserMail(oneUserInfoPO.getUserMail());oneUserInfoVO.setRegisterTime(oneUserInfoPO.getRegisterTime());oneUserInfoVO.setId(oneUserInfoPO.getId());oneUserInfoVO.setUserResume(oneUserInfoPO.getUserResume());oneUserInfoVO.setType_User_Admin(new Integer(1));oneUserInfoVO.setUserSex(oneUserInfoPO.getUserSex());oneUserInfoVO.setUserBirthDay(oneUserInfoPO.getUserBirthDay());oneUserInfoVO.setUserComeFrom(oneUserInfoPO.getUserComeFrom());oneUserInfoVO.setContactMethod(oneUserInfoPO.getContactMethod());oneUserInfoVO.setUserSign(oneUserInfoPO.getUserSign());oneUserInfoVO.setEmailVisible(oneUserInfoPO.getEmailVisible());oneUserInfoVO.setAcceptAdvise(oneUserInfoPO.getAcceptAdvise());try { //利用Bean拷贝类实现简单地拷贝BeanUtils.copyProperties(oneUserInfoVO,oneUserInfoPO);}catch (IllegalAccessException e){int logImpleKind=Integer.parseInt(ClassNameConfig.getProperty("logImpleKind"));this.addObserver(LogInfoFactory.newLogInstance(logImpleKind));this.setChanged(); //注意要设置变化点notifyObservers(e);throw new WebBBSException("在UserInfoManageImple类的doGetOneRegisterUserInfo方法中利用BeanUtils类进行对象拷贝时出现了IllegalAccessException异常");}catch (InvocationTargetException e) {int logImpleKind=Integer.parseInt(ClassNameConfig.getProperty("logImpleKind"));this.addObserver(LogInfoFactory.newLogInstance(logImpleKind));this.setChanged(); //注意要设置变化点notifyObservers(e);throw new WebBBSException("在UserInfoManageImple类的doGetOneRegisterUserInfo方法中利用BeanUtils类进行对象拷贝时出现了InvocationTargetException异常");}return oneUserInfoVO;}public UserInfoVO doGetOneRegisterUserInfo(UserInfoVO oneRegisterUserInfoVO)throws WebBBSException {String userNme=oneRegisterUserInfoVO.getUserName();return doGetOneRegisterUserInfoByName(userNme);}public String doGetOneRegisterUserPassWord(UserInfoVO oneRegisterUserInfoVO) throws WebBBSException {String userNme=oneRegisterUserInfoVO.getUserName();UserInfoVO oneUserInfoVO=doGetOneRegisterUserInfoByName(userNme);return oneUserInfoVO.getUserPassWord();}public UserInfoVO doGetOneUserInfo(String userName, String userPassWord, Integer type_User_Admin)throws WebBBSException {UserInfoVO oneUserInfoVO=null;// userInfoManageDAOImpleBean=new UserManageDAOJDBCImple();oneUserInfoVO=new UserInfoVO();switch(type_User_Admin.intValue()){case 1:UserInfoPO oneUserInfoPO=userInfoManageDAOImpleBean.selectOneUserInfoData(userName, userPassWord);oneUserInfoVO.setUserName(oneUserInfoPO.getUserName());oneUserInfoVO.setUserPassWord(oneUserInfoPO.getUserPassWord());oneUserInfoVO.setUserType(oneUserInfoPO.getUserType());oneUserInfoVO.setAliaoName(oneUserInfoPO.getAliaoName());oneUserInfoVO.setPassWordAsk(oneUserInfoPO.getPassWordAsk());oneUserInfoVO.setUserImage(oneUserInfoPO.getUserImage());oneUserInfoVO.setPassWordAnswer(oneUserInfoPO.getPassWordAnswer());oneUserInfoVO.setUserMail(oneUserInfoPO.getUserMail());oneUserInfoVO.setRegisterTime(oneUserInfoPO.getRegisterTime());oneUserInfoVO.setId(oneUserInfoPO.getId());oneUserInfoVO.setUserResume(oneUserInfoPO.getUserResume());oneUserInfoVO.setType_User_Admin(new Integer(1));oneUserInfoVO.setUserSex(oneUserInfoPO.getUserSex());oneUserInfoVO.setUserBirthDay(oneUserInfoPO.getUserBirthDay());oneUserInfoVO.setUserComeFrom(oneUserInfoPO.getUserComeFrom());oneUserInfoVO.setContactMethod(oneUserInfoPO.getContactMethod());oneUserInfoVO.setUserSign(oneUserInfoPO.getUserSign());oneUserInfoVO.setEmailVisible(oneUserInfoPO.getEmailVisible());oneUserInfoVO.setAcceptAdvise(oneUserInfoPO.getAcceptAdvise());try { //利用Bean拷贝类实现简单地拷贝BeanUtils.copyProperties(oneUserInfoVO,oneUserInfoPO);}catch (IllegalAccessException e){int logImpleKind=Integer.parseInt(ClassNameConfig.getProperty("logImpleKind"));this.addObserver(LogInfoFactory.newLogInstance(logImpleKind));this.setChanged(); //注意要设置变化点notifyObservers(e);throw new WebBBSException("在UserInfoManageImple类的doGetOneUserInfo方法中利用BeanUtils类进行对象拷贝时出现了IllegalAccessException异常");}catch (InvocationTargetException e){int logImpleKind=Integer.parseInt(ClassNameConfig.getProperty("logImpleKind"));this.addObserver(LogInfoFactory.newLogInstance(logImpleKind));this.setChanged(); //注意要设置变化点notifyObservers(e);throw new WebBBSException("在UserInfoManageImple类的doGetOneUserInfo方法中利用BeanUtils类进行对象拷贝时出现了InvocationTargetException异常");}break;case 2:AdminUserInfoPO oneAdminUserInfoPO=adminUserInfoManageDAOImpleBean.selectOneAdminUserInfoData(userName, userPassWord);oneUserInfoVO.setUserName(oneAdminUserInfoPO.getUserName());oneUserInfoVO.setUserPassWord(oneAdminUserInfoPO.getUserPassWord());oneUserInfoVO.setUserType(oneAdminUserInfoPO.getUserType());oneUserInfoVO.setAliaoName(oneAdminUserInfoPO.getAliaoName());oneUserInfoVO.setPassWordAsk(oneAdminUserInfoPO.getPassWordAsk());oneUserInfoVO.setUserImage(oneAdminUserInfoPO.getUserImage());oneUserInfoVO.setPassWordAnswer(oneAdminUserInfoPO.getPassWordAnswer());oneUserInfoVO.setUserMail(oneAdminUserInfoPO.getUserMail());oneUserInfoVO.setRegisterTime(oneAdminUserInfoPO.getRegisterTime());oneUserInfoVO.setId(oneAdminUserInfoPO.getId());oneUserInfoVO.setUserResume(oneAdminUserInfoPO.getUserResume());oneUserInfoVO.setType_User_Admin(new Integer(2));oneUserInfoVO.setUserSex(oneAdminUserInfoPO.getUserSex());oneUserInfoVO.setUserBirthDay(oneAdminUserInfoPO.getUserBirthDay());oneUserInfoVO.setUserComeFrom(oneAdminUserInfoPO.getUserComeFrom());oneUserInfoVO.setWorkUnit(oneAdminUserInfoPO.getWorkUnit());oneUserInfoVO.setStudyHistory(oneAdminUserInfoPO.getStudyHistory());oneUserInfoVO.setStudySchool(oneAdminUserInfoPO.getStudySchool());oneUserInfoVO.setIdCardNo(oneAdminUserInfoPO.getIdCardNo());try { //利用Bean拷贝类实现简单地拷贝BeanUtils.copyProperties(oneUserInfoVO,oneAdminUserInfoPO);}catch (IllegalAccessException e) {int logImpleKind=Integer.parseInt(ClassNameConfig.getProperty("logImpleKind"));this.addObserver(LogInfoFactory.newLogInstance(logImpleKind));this.setChanged(); //注意要设置变化点notifyObservers(e);throw new WebBBSException("在UserInfoManageImple类的doGetOneUserInfo方法中利用BeanUtils类进行对象拷贝时出现了IllegalAccessException异常");}catch (InvocationTargetException e){int logImpleKind=Integer.parseInt(ClassNameConfig.getProperty("logImpleKind"));this.addObserver(LogInfoFactory.newLogInstance(logImpleKind));this.setChanged(); //注意要设置变化点notifyObservers(e);throw new WebBBSException("在UserInfoManageImple类的doGetOneUserInfo方法中利用BeanUtils类进行对象拷贝时出现了InvocationTargetException异常");}break;}return oneUserInfoVO;}public ArrayList<UserInfoVO> doGetSomeAdminUserInfo(Map adminUserInfos) throws WebBBSException{ArrayList someAdminUserInfoPOs=null;someAdminUserInfoPOs=adminUserInfoManageDAOImpleBean.selectSomeAdminUserIn fo(adminUserInfos);ArrayList allAdminUserInfoVO=new ArrayList();Iterator allPOItem=someAdminUserInfoPOs.iterator();while(allPOItem.hasNext()){AdminUserInfoPO oneAdminUserInfoPO=(AdminUserInfoPO)allPOItem.next();UserInfoVO oneUserInfoVO=new UserInfoVO();try {BeanUtils.copyProperties(oneUserInfoVO, oneAdminUserInfoPO);}catch (IllegalAccessException e){int logImpleKind=Integer.parseInt(ClassNameConfig.getProperty("logImpleKind"));this.addObserver(LogInfoFactory.newLogInstance(logImpleKind));this.setChanged(); //注意要设置变化点notifyObservers(e);throw new WebBBSException("在UserInfoManageImple类的doGetSomeAdminUserInfo方法中利用BeanUtils类进行对象拷贝时出现了IllegalAccessException异常");}catch (InvocationTargetException e) {int logImpleKind=Integer.parseInt(ClassNameConfig.getProperty("logImpleKind"));this.addObserver(LogInfoFactory.newLogInstance(logImpleKind));this.setChanged(); //注意要设置变化点notifyObservers(e);throw new WebBBSException("在UserInfoManageImple类的doGetSomeAdminUserInfo方法中利用BeanUtils类进行对象拷贝时出现了InvocationTargetException异常");}allAdminUserInfoVO.add(oneUserInfoVO);}return allAdminUserInfoVO;}public ArrayList<UserInfoVO> doGetOnePageAllUserInfo(PageStateVO_Prototype onePageStateVO_Prototype) throws WebBBSException{ArrayList onePageAllUserInfoPOs=null;onePageAllUserInfoPOs=userInfoManageDAOImpleBean.selectOnePageAllUserInfo(onePageStateVO_Prototype);ArrayList onePageAllUserInfoVO=new ArrayList();Iterator allPOItem=onePageAllUserInfoPOs.iterator();while(allPOItem.hasNext()){UserInfoPO oneUserInfoPO=(UserInfoPO)allPOItem.next();UserInfoVO oneUserInfoVO=new UserInfoVO();try {BeanUtils.copyProperties(oneUserInfoVO, oneUserInfoPO);}catch (IllegalAccessException e){int logImpleKind=Integer.parseInt(ClassNameConfig.getProperty("logImpleKind"));this.addObserver(LogInfoFactory.newLogInstance(logImpleKind));this.setChanged(); //注意要设置变化点notifyObservers(e);throw new WebBBSException("在UserInfoManageImple类的doGetOnePageAllUserInfo方法中利用BeanUtils类进行对象拷贝时出现了IllegalAccessException异常");}catch (InvocationTargetException e) {int logImpleKind=Integer.parseInt(ClassNameConfig.getProperty("logImpleKind"));this.addObserver(LogInfoFactory.newLogInstance(logImpleKind));this.setChanged(); //注意要设置变化点notifyObservers(e);throw new WebBBSException("在UserInfoManageImple类的doGetOnePageAllUserInfo方法中利用BeanUtils类进行对象拷贝时出现了InvocationTargetException异常");}onePageAllUserInfoVO.add(oneUserInfoVO);}return onePageAllUserInfoVO;}public ArrayList<UserInfoVO> doGetOnePageRegisterUserInfo(PageStateVO_Prototype onePageStateVO_Prototype,int userType,Map registerUserInfos) throws WebBBSException{ ArrayList onePageRegisterUserInfoPOs=null;switch(userType){case erType_PlainRegisterUser:onePageRegisterUserInfoPOs=userInfoManageDAOImpleBean.selectOnePageRegisterUserInfo(onePageStateVO_Prototype,registerUserInfos);break;case erType_VIPRegisterUser:onePageRegisterUserInfoPOs=userInfoManageDAOImpleBean.selectOnePageVIPUserInfo(onePageStateVO_Prototype,registerUserInfos);break;}ArrayList onePageRegisterUserInfoVO=new ArrayList();Iterator allPOItem=onePageRegisterUserInfoPOs.iterator();while(allPOItem.hasNext()){UserInfoPO oneUserInfoPO=(UserInfoPO)allPOItem.next();UserInfoVO oneUserInfoVO=new UserInfoVO();try {BeanUtils.copyProperties(oneUserInfoVO, oneUserInfoPO);}catch (IllegalAccessException e){int logImpleKind=Integer.parseInt(ClassNameConfig.getProperty("logImpleKind"));this.addObserver(LogInfoFactory.newLogInstance(logImpleKind));this.setChanged(); //注意要设置变化点notifyObservers(e);throw new WebBBSException("在UserInfoManageImple类的doGetSomeRegisterUserInfo方法中利用BeanUtils类进行对象拷贝时出现了IllegalAccessException异常");}catch (InvocationTargetException e) {int logImpleKind=Integer.parseInt(ClassNameConfig.getProperty("logImpleKind"));this.addObserver(LogInfoFactory.newLogInstance(logImpleKind));this.setChanged(); //注意要设置变化点notifyObservers(e);throw new WebBBSException("在UserInfoManageImple类的doGetSomeRegisterUserInfo方法中利用BeanUtils类进行对象拷贝时出现了InvocationTargetException异常");}onePageRegisterUserInfoVO.add(oneUserInfoVO);}return onePageRegisterUserInfoVO;}public ArrayList<UserInfoVO> doGetSomeRegisterUserInfo(Map registerUserInfos,int userType)throws WebBBSException{ArrayList someRegisterUserInfoPOs=null;switch(userType){case erType_PlainRegisterUser:someRegisterUserInfoPOs=userInfoManageDAOImpleBean.selectSomeRegisterUserInfo(registerUserInfos);break;case erType_VIPRegisterUser:someRegisterUserInfoPOs=userInfoManageDAOImpleBean.selectSomeVIPUserInfo(registerUserInfos);break;}ArrayList allRegisterUserInfoVO=new ArrayList();Iterator allPOItem=someRegisterUserInfoPOs.iterator();while(allPOItem.hasNext()){UserInfoPO oneUserInfoPO=(UserInfoPO)allPOItem.next();UserInfoVO oneUserInfoVO=new UserInfoVO();try {BeanUtils.copyProperties(oneUserInfoVO, oneUserInfoPO);}catch (IllegalAccessException e){int logImpleKind=Integer.parseInt(ClassNameConfig.getProperty("logImpleKind"));this.addObserver(LogInfoFactory.newLogInstance(logImpleKind));this.setChanged(); //注意要设置变化点notifyObservers(e);throw new WebBBSException("在UserInfoManageImple类的doGetSomeRegisterUserInfo方法中利用BeanUtils类进行对象拷贝时出现了IllegalAccessException异常");}catch (InvocationTargetException e) {int logImpleKind=Integer.parseInt(ClassNameConfig.getProperty("logImpleKind"));this.addObserver(LogInfoFactory.newLogInstance(logImpleKind));this.setChanged(); //注意要设置变化点notifyObservers(e);throw new WebBBSException("在UserInfoManageImple类的doGetSomeRegisterUserInfo方法中利用BeanUtils类进行对象拷贝时出现了InvocationTargetException异常");}allRegisterUserInfoVO.add(oneUserInfoVO);}return allRegisterUserInfoVO;}public boolean doUpdateOneAdminUserPassWord(UserInfoVO oneUserInfoVO,String newPassWord) throws WebBBSException {String adminUserID=oneUserInfoVO.getId();return adminUserInfoManageDAOImpleBean.updateOneAdminUserPassWord(adminUserID, newPassWord);}public boolean doUpdateOneRegisterUserPassWord(UserInfoVO oneUserInfoVO,。

UML实例BBS管理系统

UML实例BBS管理系统

BBS管理系统一、需求分析1.1系统开发旳目旳:进入二十一世纪,在互联网高速发展旳今天。

已经成为人们迅速获取、公布和传递信息旳一种重要传播方式。

在人们政治、经济、生活等各个方面都发挥着重要旳作用。

这次我所设计旳UML建模课程正是互联网与社会生活之间旳紧密关系旳体现。

目前人们已经离不开了网络,网络已经成为人与人之间交流旳一种形式,它可以把事情旳复杂化转为简朴化。

目前旳计算机技术迅速向着网络化旳、集成化方向发展。

老式旳单机版应用软件正在逐渐退出舞台,取而代之旳是支持网络、支持多种数据信息(多媒体)旳新一代网络版应用软件,而目前网络版软件中似乎存在着两种不一样旳趋势,一种是称为客户端——服务器旳C/S构造应用系统,此类软件具有构造严谨,运行效率高,服务器端压力小,安全性好等长处,被广泛运用于局域网中。

另一种,就是称为浏览器——服务器旳B/S构造应用系统,它旳特点是在客户端直接采用了功能强大旳浏览器软件作为界面,其长处在于软件开发效率高,客户端不受操作平台旳限制、也不受地区旳限制,网络传播量少,即合用于局域网,更合用于英特网,并且投资小、见效快,顾客可以不必进行服务器方面旳投资,而是去租用,甚至是免费使用ISP旳服务器资源,因而受到越来越多中小型单位旳青睐。

BBS论坛系统已经是互联网站一种极为常见旳互动交流服务。

在BBS论坛中可以向网友提供多种各样旳分类专题和讨论区服务,已经注册旳顾客可以在此刊登自己旳某些观感、交流某些技术、经验乃至人生旳感悟与忧欢,亦可以做为网友们之间旳交流渠道。

在网站中亦可在此对网友们提出旳问题做出评论或者发刊登自己新旳帖子。

通过BBS论坛旳方式,可以增强个人与个人,团体与团体,个人与团体之间旳紧密交流联络,在英特网上实现信息旳传递,提高办事效率。

因此论坛建设在英特网应用上旳地位显而易见,它已成为现代人沟通和获取信息旳重要构成部分,从而倍受人们旳重视。

该系统以英特网为平台,前台可使任何人注册、登陆在论坛上进行发贴及讨论,版主或者前台管理者也可以进行一部分管理。

J2EE课程设计实训项目《BBS论坛系统》——针对项目中系统管理员信息的数据访问组件及单元测试(第2部分)

J2EE课程设计实训项目《BBS论坛系统》——针对项目中系统管理员信息的数据访问组件及单元测试(第2部分)

基于J2EE Struts框架的课程设计实训项目——《BBS论坛系统》——针对系统后台管理员信息的数据访问组件及对应的单元测试(第2/2部分)1.1.1对AdminUserManageDAOJDBCImple类进行单元测试1、添加测试用例(1)添加测试用例(2)设置类名称为TestAdminUserManageDAOJDBCImple、包名称为com.px1987.webbbs.daotest,并对com.px1987.webbbs.dao.AdminUserManageDAOJDBCImple类进行测试(3)选择各个被测试的方法2、编程该测试用例package com.px1987.webbbs.daotest;import junit.framework.TestCase;import com.px1987.webbbs.config.ClassNameConfig;import com.px1987.webbbs.dao.*;import com.px1987.webbbs.exception.*;import com.px1987.webbbs.util.AdminUserManageDAOFactory; import java.util.*;public class TestAdminUserManageDAOJDBCImple extends TestCase { private AdminUserManageDAOInterface adminUserManageDAOJDBCImple = null;String adminManageDAOJDBCImpleClassName=null;protected void setUp() throws Exception{super.setUp();adminManageDAOJDBCImpleClassName=ClassNameConfig.getProperty("adminManageDAOJDBCImple.className");adminUserManageDAOJDBCImple=new AdminUserManageDAOFactory().newAdminManageDAOBean(adminManageDAOJDBCImpleClassName);}protected void tearDown() throws Exception{adminUserManageDAOJDBCImple = null;super.tearDown();}public void testSelectOneAdminUserInfoData() throws WebBBSException{ String userName="admin";String userPassWord="admin";AdminUserInfoPO returnOneAdminUserInfoPO=adminUserManageDAOJDBCImple.selectOneAdminUserInfoData(userName,userPassWord);//由于所给定的ID是数据库表中存在的一个用户,因此能够返回该对象this.assertNotNull(returnOneAdminUserInfoPO);}public void testSelectAllAdminUserInfo() throws WebBBSException{ ArrayList allAdminUserInfos=adminUserManageDAOJDBCImple.selectAllAdminUserInfo();this.assertNotNull(allAdminUserInfos);Iterator allItem=allAdminUserInfos.iterator();while(allItem.hasNext()){AdminUserInfoPO oneAdminUserInfoPO=(AdminUserInfoPO)allItem.next();this.assertNotNull(oneAdminUserInfoPO);String adminUserName=oneAdminUserInfoPO.getUserName();this.assertNotNull(adminUserName);}}public void testSelectAllAdminUserNameInfo() throws WebBBSException{ String userName="adm";ArrayList returnAllAdminUserNameInfos=adminUserManageDAOJDBCImple.selectAllAdminUserNameInfo(userName);this.assertNotNull(returnAllAdminUserNameInfos);Iterator allAdminNameItem=returnAllAdminUserNameInfos.iterator();while(allAdminNameItem.hasNext()){String oneAdminUserName=(String)allAdminNameItem.next();this.assertNotNull(oneAdminUserName);}}public void testSelectOneAdminUserInfo() throws WebBBSException{ //应该根据数据库表中的实际数据来决定String adminUserID="402880681071d7ed011071d7f20d0001";AdminUserInfoPO returnOneAdminUserInfoPO=adminUserManageDAOJDBCImple.selectOneAdminUserInfo(adminUserID);//由于所给定的ID是数据库表中存在的一个用户,因此能够返回该对象assertNotNull(returnOneAdminUserInfoPO);}public void testSelectOneAdminUserInfoByName() throws WebBBSException{ String userName="admin"; //应该根据数据库表中的实际数据来决定AdminUserInfoPO returnOneAdminUserInfoPO=adminUserManageDAOJDBCImple.selectOneAdminUserInfoByName(userName);//由于所给定的userName是数据库表中存在的一个用户,因此能够返回该对象assertNotNull(returnOneAdminUserInfoPO);}public void testSelectSomeAdminUserInfo() throws WebBBSException{ String HQLQuery="select * from AdminUserInfo";ArrayList allAdminUserInfos=adminUserManageDAOJDBCImple.selectSomeAdminUserInfo(HQLQuery);assertNotNull(allAdminUserInfos);Iterator allIAdminUserInfoPOItem=allAdminUserInfos.iterator();while(allIAdminUserInfoPOItem.hasNext()){AdminUserInfoPO oneAdminUserInfoPO=(AdminUserInfoPO)allIAdminUserInfoPOItem.next();assertNotNull(oneAdminUserInfoPO);String adminUserName=oneAdminUserInfoPO.getUserName();assertNotNull(adminUserName);}}/*public void testBatchDeleteAdminUserInfo() throws WebBBSException{ ArrayList deletedUserIDs=new ArrayList();String userIDOne="-226769039"; //应该根据数据库表中的实际数据来决定String userIDTwo="-212445867";String userIDThree="-212415571";deletedUserIDs.add(userIDOne);deletedUserIDs.add(userIDTwo);deletedUserIDs.add(userIDThree);boolean returnBoolean=adminUserManageDAOJDBCImple.batchDeleteAdminUserInfo(deletedUserIDs);this.assertTrue(returnBoolean);}public void testDeleteOneAdminUserInfo() throws WebBBSException{/**该方法应该只执行一次,下面的adminUserID 应该根据数据库表中的实际数据来决定*/String adminUserID="ff80808113c78be70113c78bea720001";boolean returnBoolean=adminUserManageDAOJDBCImple.deleteOneAdminUserInfo(adminUserID);this.assertTrue(returnBoolean);}public void testInsertOneAdminUserInfo() throws WebBBSException{ AdminUserInfoPO oneAdminUserInfoPO=new AdminUserInfoPO();Date nowDate=new Date();//不需要设置该值,可以由Hibernate自动来实现添加oneAdminUserInfoPO.setId(new Integer((int)nowDate.getTime()).toString());oneAdminUserInfoPO.setUserName("张三");oneAdminUserInfoPO.setUserPassWord("1234");oneAdminUserInfoPO.setUserType(1);oneAdminUserInfoPO.setAliaoName("网上张飞");oneAdminUserInfoPO.setPassWordAsk("Who Are You?");oneAdminUserInfoPO.setUserImage("../webResource/PersonImage/Chang.gif");oneAdminUserInfoPO.setRegisterTime(new java.util.Date().toLocaleString());oneAdminUserInfoPO.setPassWordAnswer("zhang");oneAdminUserInfoPO.setUserMail("trainict@");oneAdminUserInfoPO.setUserSex(1);oneAdminUserInfoPO.setUserBirthDay("2007-01-25");oneAdminUserInfoPO.setUserComeFrom("北京");oneAdminUserInfoPO.setUserResume("我是网络飞人");oneAdminUserInfoPO.setWorkUnit("中科院计算所");oneAdminUserInfoPO.setStudyHistory("大学毕业");oneAdminUserInfoPO.setStudySchool("XXX大学");oneAdminUserInfoPO.setIdCardNo("12345678901234567");boolean actualReturn=adminUserManageDAOJDBCImple.insertOneAdminUserInfo(oneAdminUserInfoPO);this.assertTrue(actualReturn);}public void testUpdateOneAdminUserInfo() throws WebBBSException{ //应该根据数据库表中的实际数据来决定String adminUserID="ff80808110d7c5a00110d7c5a6640002";AdminUserInfoPO oneAdminUserInfoPO=new AdminUserInfoPO();//不需要设置该值,可以由Hibernate自动来实现添加oneAdminUserInfoPO.setId(adminUserID);oneAdminUserInfoPO.setUserName("张三");//本测试项目改变为此数据项目oneAdminUserInfoPO.setUserPassWord("12345678");oneAdminUserInfoPO.setUserType(1);oneAdminUserInfoPO.setAliaoName("网上张飞");oneAdminUserInfoPO.setPassWordAsk("Who Are You?"); oneAdminUserInfoPO.setUserImage("../webResource/PersonImage/Chang.gif");oneAdminUserInfoPO.setRegisterTime(new Date().toLocaleString());oneAdminUserInfoPO.setPassWordAnswer("zhang");oneAdminUserInfoPO.setUserMail("trainict@");oneAdminUserInfoPO.setUserSex(1);oneAdminUserInfoPO.setUserBirthDay("2007-01-25");oneAdminUserInfoPO.setUserComeFrom("北京");oneAdminUserInfoPO.setUserResume("我是网络飞人");oneAdminUserInfoPO.setWorkUnit("中科院计算所");oneAdminUserInfoPO.setStudyHistory("大学毕业");oneAdminUserInfoPO.setStudySchool("XXX大学");oneAdminUserInfoPO.setIdCardNo("12345678901234567");boolean actualReturn=adminUserManageDAOJDBCImple.updateOneAdminUserInfo(oneAdminUserInfoPO);this.assertTrue(actualReturn);}public void testUpdateOneAdminUserPassWord() throws WebBBSException{ String newPassWord="1234";//应该根据数据库表中的实际的数据值来决定String registerUserId="ff80808110d7c5a00110d7c5a6640002";boolean actualReturn=adminUserManageDAOJDBCImple.updateOneAdminUserPassWord(newPassWord, registerUserId);this.assertTrue(actualReturn);}*/}3、执行该测试用例(1)在classNameConfig.properties文件中添加下面的属性adminManageDAOJDBCImple.className=com.px1987.webbbs.dao.AdminUserManageDAOJDBCImple(2)启动测试用例(3)产生出下面的执行结果。

构建BBS论坛系统项目中控制层模块内的各个Action组件的应用示例

构建BBS论坛系统项目中控制层模块内的各个Action组件的应用示例

1.1构建BBS论坛系统项目中控制层模块内的各个Action组件的应用示例1.1.1添加实现用户信息管理的Action类1、用户信息管理的Action类UserManagerAction(1)设置其配置参数1)/userManagerAction2)org.apache.struts.actions.DispatchAction3)erManagerAction4)userInfoActionForm5)/showValidatorError.do(2)在parameter中输入action(3)最后将产生出下面的状态2、编程该Action类1.1.2添加实现BBS信息管理的Action类1、用户信息管理的Action类BBSManagerAction(1)设置其配置参数1)/bbsManagerAction2)org.apache.struts.actions.DispatchAction3)com.px1987.webbbs.action.BBSManagerAction4)bbsInfoActionForm5)/showValidatorError.do(2)在parameter中输入action(3)最后将产生出下面的状态2、编程该Action类3、添加与该Action类相关的Forward1.1.3添加实现BBS信息分页管理的Action类1、用户信息管理的Action类BBSPageGuideAction(1)设置其配置参数1)/bbsPageGuideAction2)org.apache.struts.actions.DispatchAction3)com.px1987.webbbs.action.BBSPageGuideAction(2)在parameter中输入action(3)最后将产生出下面的状态2、编程该Action类1.1.4添加实现BBS信息查询管理的Action类1、添加一个实现页面跳转的 Action类BBSSearchInfoAction (1)新建一个Action类(2)设置其配置参数1)/bbsSearchInfoAction2)org.apache.struts.actions.DispatchAction3)com.px1987.webbbs.action.BBSSearchInfoAction4)bbsSearchInfoActionForm5)/showValidatorError.do(3)在parameter中输入action(4)最后将产生出下面的状态2、编程该Action类1.1.5页面跳转的 Action类PageForwordAction1、添加一个实现页面跳转的 Action类PageForwordAction (1)新建一个Action类1)Path为/pageForwordAction2)基类:org.apache.struts.actions.DispatchAction3)类型:com.px1987.webbbs.action.PageForwordAction4)/WebBBS/WebRoot/WEB-INF/struts-config_pageForward.xml(2)并在parameter中输入action(3)并为它添加各个 Forward目标(4)也就是下面的状态<actionparameter="action"path="/pageForwordAction"type="com.px1987.webbbs.action.PageForwordAction" ><forward name="showRegisterForm" path="goShowRegisterForm" /> <!-- 直接采用Tiles中的定义名称作为 path的目标 --><forward name="showWebAppError" path="goShowWebAppError" /><forward name="doSystemManage" path="goSystemManage" /><forward name="showAllBBSClassInfo" path="goShowAllBBSClassInfo" /><forward name="showIndexContent" path="goWebBBSIndex" /><forward name="showUpdateUserInfo" path="goShowUpdateUserInfo" /> <forward name="showUpdateAdminUserInfo" path="goShowUpdateAdminUserInfo"/><forward name="showOnLineUserInfo" path="goShowOnLineUserInfo" /><forward name="doGetUserPassWord" path="goGetUserPassWord" /><forward name="doSendBBSInfo" path="goSendBBSInfo" /><forward name="doReplyBBSInfo" path="goReplyBBSInfo" /><forward name="showAllHotBBSInfo" path="goShowAllHotBBSInfo" /><forward name="showAllBBSInClass" path="goShowAllBBSInClass" /><forward name="showOneBBSInfo" path="goShowOneBBSInfo" /><forward name="showLoginUserAllBBSInfo" path="goShowLoginUserAllBBSInfo" /><forward name="showAllBBSInfoByReplyUserInfo" path="goShowAllBBSInfoByReplyUserInfo" /><forward name="showNewBBSInfo" path="goShowNewBBSInfo" /><forward name="showPrevelInfo" path="goShowPrevelInfo" /><forward name="showTitleLeaderInfo" path="goShowTitleLeaderInfo" /></action>2、编程该Action类。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

1.1构建BBS论坛系统项目用户信息管理模块业务层组件的实现示例1.1.1用户信息管理模块业务层组件的实现过程
1、添加UserInfoManageInterface接口
设计该UserInfoManageInterface接口
注意在该接口中对Java泛型的具体应用。

2、为该接口提供实现类UserInfoManageImple
继承于java.util.Observable类,并编程该实现类
3、添加一个工厂类,用来统一创建UserInfoManageInterface接口的对象实例
(1)UserInfoManageFactory类,包名称为com.px1987.webbbs.util ,并且继承于Observable类
(2)编程该UserInfoManageFactory类
4、在Sprirng的IoC的XML配置文件WebBBSServiceContext.xml中定义出该组件对象
<bean id="userInfoManageBean" class="erInfoManageImple">
<property name="userInfoManageDAOImpleBean">
<ref bean="userInfoManageDAOImpleBean"></ref>
</property>
<property name="adminUserInfoManageDAOImpleBean">
<ref bean="adminUserInfoManageDAOImpleBean"></ref> </property>
</bean>
1.1.2对用户信息管理业务层组件进行单元测试
1、添加测试用例TestUserInfoManageImple类
2、类名称和包名称
com.px1987.webbbs.modeltest erInfoManageImple
3、编程该测试用例类
4、执行该测试用例
将出现下面的结果
同时在控制台中也出现下面的状态提示,表明Hibernate也正确地执行了!。

相关文档
最新文档