跟我学DWR框架技术应用DWR框架实现无刷新页面的数据查询的Web应用示例第三部分.docx
- 文档编号:12279339
- 上传时间:2023-04-17
- 格式:DOCX
- 页数:18
- 大小:196.65KB
跟我学DWR框架技术应用DWR框架实现无刷新页面的数据查询的Web应用示例第三部分.docx
《跟我学DWR框架技术应用DWR框架实现无刷新页面的数据查询的Web应用示例第三部分.docx》由会员分享,可在线阅读,更多相关《跟我学DWR框架技术应用DWR框架实现无刷新页面的数据查询的Web应用示例第三部分.docx(18页珍藏版)》请在冰豆网上搜索。
跟我学DWR框架技术应用DWR框架实现无刷新页面的数据查询的Web应用示例第三部分
1.1跟我学DWR框架技术——应用DWR框架实现无刷新页面的数据查询的Web应用示例(第三部分)
1.1.1对前面的实现进一步改进以访问数据库系统
1、数据连接接口和实现类组件
2、DAO组件的接口和实现类
3、准备数据库
数据库表名称为userInfo,在该表中至少包含userName和userPassWord两个字段。
注意:
上面的内容已经在前面实现过,因此可以不需要重复!
4、修改UserInfoManageBean中的findOneUserInfo方法为下面的代码
packagecom.px1987.webcrm.model.imple;
importjava.lang.reflect.InvocationTargetException;
importjava.util.List;
importmons.beanutils.BeanUtils;
importcom.px1987.webcrm.dao.imple.UserManageDAOJDBCImple;
importcom.px1987.webcrm.dao.inter.UserManageDAOInterface;
importcom.px1987.webcrm.dao.po.UserInfoPO;
importcom.px1987.webcrm.exception.WebCRMException;
importcom.px1987.webcrm.model.inter.UserInfoManageInterface;
importcom.px1987.webcrm.model.vo.UserInfoVO;
publicclassUserInfoManageBeanimplementsUserInfoManageInterface{
publicUserInfoManageBean(){
}
@Override
publicbooleancheckUserNameValid(StringuserName){
UserManageDAOInterfaceoneUserManageDAOBean=null;
booleancheckUserNameExistResult=false;
try{
oneUserManageDAOBean=newUserManageDAOJDBCImple();
}catch(WebCRMExceptione){
e.printStackTrace();
}
try{
checkUserNameExistResult=
oneUserManageDAOBean.checkOneUserInfoExist(userName);
}catch(WebCRMExceptione){
e.printStackTrace();
}
returncheckUserNameExistResult;
}
publicUserInfoVOfindOneUserInfo(StringuserID){
UserManageDAOInterfaceoneUserManageDAOBean=null;
UserInfoPOoneReturnUserInfoPO=null;
UserInfoVOoneUserInfoVO=null;
try{
oneUserManageDAOBean=newUserManageDAOJDBCImple();
}catch(WebCRMExceptione){
e.printStackTrace();
}
try{
oneReturnUserInfoPO=oneUserManageDAOBean.queryOneUserInfo(userID);
}catch(WebCRMExceptione){
e.printStackTrace();
System.out.println("出现了错误:
"+e.getMessage());
}
if(oneReturnUserInfoPO==null){
returnnull;
}
oneUserInfoVO=newUserInfoVO();
try{
BeanUtils.copyProperties(oneUserInfoVO,oneReturnUserInfoPO);
}
catch(InvocationTargetExceptione){
e.printStackTrace();
}
catch(IllegalAccessExceptione){
e.printStackTrace();
}
returnoneUserInfoVO;
}
publicList
//该方法后面再实现
returnnull;
}
}
注意:
此时的VO对象中的各个属性来自于数据库表中的记录。
5、再执行本应用
(1)保证Tomcat和数据库服务启动
(2)并且添加MySQL的JDBC驱动程序的*.jar文件
(3)此时的UserID则应该是数据库表中存在的
(4)输入某个有效的userID,将出现下面的内容
(5)如果输入不存在的userID,则出现下面的错误
1.1.2实现按照“用户性别”的查询功能
1、编程UserInfoManageBean类中的findSomeUserInfo方法
UserInfoManageBean类最终的程序代码示例如下:
packagecom.px1987.webcrm.model.imple;
importjava.lang.reflect.InvocationTargetException;
importjava.util.ArrayList;
importjava.util.Iterator;
importjava.util.List;
importmons.beanutils.BeanUtils;
importcom.px1987.webcrm.dao.imple.UserManageDAOJDBCImple;
importcom.px1987.webcrm.dao.inter.UserManageDAOInterface;
importcom.px1987.webcrm.dao.po.UserInfoPO;
importcom.px1987.webcrm.exception.WebCRMException;
importcom.px1987.webcrm.model.inter.UserInfoManageInterface;
importcom.px1987.webcrm.model.vo.UserInfoVO;
publicclassUserInfoManageBeanimplementsUserInfoManageInterface{
publicUserInfoManageBean(){
}
@Override
publicbooleancheckUserNameValid(StringuserName){
UserManageDAOInterfaceoneUserManageDAOBean=null;
booleancheckUserNameExistResult=false;
try{
oneUserManageDAOBean=newUserManageDAOJDBCImple();
}catch(WebCRMExceptione){
e.printStackTrace();
}
try{
checkUserNameExistResult=
oneUserManageDAOBean.checkOneUserInfoExist(userName);
}catch(WebCRMExceptione){
e.printStackTrace();
}
returncheckUserNameExistResult;
}
publicUserInfoVOfindOneUserInfo(StringuserID){
UserManageDAOInterfaceoneUserManageDAOBean=null;
UserInfoPOoneReturnUserInfoPO=null;
UserInfoVOoneUserInfoVO=null;
try{
oneUserManageDAOBean=newUserManageDAOJDBCImple();
}catch(WebCRMExceptione){
e.printStackTrace();
}
try{
oneReturnUserInfoPO=oneUserManageDAOBean.queryOneUserInfo(userID);
}catch(WebCRMExceptione){
e.printStackTrace();
System.out.println("出现了错误:
"+e.getMessage());
}
if(oneReturnUserInfoPO==null){
returnnull;
}
oneUserInfoVO=newUserInfoVO();
try{
BeanUtils.copyProperties(oneUserInfoVO,oneReturnUserInfoPO);
}
catch(InvocationTargetExceptione){
e.printStackTrace();
}
catch(IllegalAccessExceptione){
e.printStackTrace();
}
returnoneUserInfoVO;
}
publicList
UserManageDAOInterfaceoneUserManageDAOBean=null;
UserInfoPOoneReturnUserInfoPO=null;
List
List
UserInfoVOoneUserInfoVO=null;
try{
oneUserManageDAOBean=newUserManageDAOJDBCImple();
}catch(WebCRMExceptione){
e.printStackTrace();
}
try{
allReturnUserInfoPOs=
oneUserManageDAOBean.querySomeUserInfosByUserSex(Integer.parseInt(userSexType));
}catch(NumberFormatExceptione){
e.printStackTrace();
}catch(WebCRMExceptione){
e.printStackTrace();
}
if(allReturnUserInfoPOs.size()==0){
returnallUserInfoVOs;
}
Iterator
while(returnUserInfoPOItems.hasNext()){
oneReturnUserInfoPO=(UserInfoPO)returnUserInfoPOItems.next();
oneUserInfoVO=newUserInfoVO();
try{
BeanUtils.copyProperties(oneUserInfoVO,oneReturnUserInfoPO);
}
catch(InvocationTargetExceptione){
e.printStackTrace();
}
catch(IllegalAccessExceptione){
e.printStackTrace();
}
allUserInfoVOs.add(oneUserInfoVO);
}
returnallUserInfoVOs;
}
}
也可以采用下面的模拟数据
publicList
UserInfoPOoneUserInfoVO=null,twoUserInfoVO=null;
if(userSex.equals("1")){
oneUserInfoVO=newUserInfoPO();
oneUserInfoVO.setUserName("张小明");
oneUserInfoVO.setUserPassWord("1234");
oneUserInfoVO.setUserSex
(1);
oneUserInfoVO.setPassWordAsk("你是谁?
");
oneUserInfoVO.setPassWordAnswer("我是中国人");
oneUserInfoVO.setUserMail("abc@");
oneUserInfoVO.setUserImage("/Resource/PersonImage/Chang.gif");
oneUserInfoVO.setRegisterTime("2009-1-12");
oneUserInfoVO.setId("1");
twoUserInfoVO=newUserInfoPO();
twoUserInfoVO.setUserName("张大明");
twoUserInfoVO.setUserPassWord("1234");
twoUserInfoVO.setUserSex
(1);
twoUserInfoVO.setPassWordAsk("你是谁?
");
twoUserInfoVO.setPassWordAnswer("我是中国人");
twoUserInfoVO.setUserMail("abc@");
twoUserInfoVO.setUserImage("/Resource/PersonImage/Chang.gif");
twoUserInfoVO.setRegisterTime("2009-1-12");
twoUserInfoVO.setId("2");
}
else{
oneUserInfoVO=newUserInfoPO();
oneUserInfoVO.setUserName("张小妹");
oneUserInfoVO.setUserPassWord("1234");
oneUserInfoVO.setUserSex(0);
oneUserInfoVO.setPassWordAsk("你是谁?
");
oneUserInfoVO.setPassWordAnswer("我是中国人");
oneUserInfoVO.setUserMail("abc@");
oneUserInfoVO.setUserImage("/Resource/PersonImage/LiuMing.gif");
oneUserInfoVO.setRegisterTime("2009-1-12");
oneUserInfoVO.setId("3");
twoUserInfoVO=newUserInfoPO();
twoUserInfoVO.setUserName("张英");
twoUserInfoVO.setUserPassWord("1234");
twoUserInfoVO.setUserSex(0);
twoUserInfoVO.setPassWordAsk("你是谁?
");
twoUserInfoVO.setPassWordAnswer("我是中国人");
twoUserInfoVO.setUserMail("abc@");
twoUserInfoVO.setUserImage("/Resource/PersonImage/LiuMing.gif");
twoUserInfoVO.setRegisterTime("2009-1-12");
twoUserInfoVO.setId("4");
}
ListallResultList=newArrayList();
allResultList.add(oneUserInfoVO);
allResultList.add(twoUserInfoVO);
returnallResultList;
}
2、修改dwr-timeBean.xml文件以增加对List的返回值中元素的类型说明(本示例中的signatures标签,最后的内容)
xmlversion="1.0"encoding="UTF-8"?
>
DOCTYPEdwrPUBLIC"-//GetAheadLimited//DTDDirectWebRemoting3.0//EN""http:
//getahead.org/dwr/dwr30.dtd">
value="com.px1987.webcrm.model.imple.UserInfoManageBean"/> match="com.px1987.webcrm.model.vo.TimeInfoVOBean"> value="userName,userPassWord,userSex,passWordAsk,passWordAnswer,userMail,userImage,registerTime,id"/> [CDATA[ importcom.px1987.webcrm.model.imple.CityManageBean; importjava.util.HashMap; importcom.px1987.webcrm.model.imple.UserInfoManageBean; importcom.px1987.webcrm.model.vo.UserInfoVO; importjava.util.List; HashMap List ]]> 1.1.3测试本示例的应用效果 1、在线测试http: //127.0.0.1: 8080/sshwebcrm/dwr/index.html 2、在dwrDemoJavaScript.js中编程下面的showUserInfoBySex函数 functionshowUserInfoBySex(inputedUserSex){ userInfoManageBean.findSomeUserInfo(inputedUserSex, showSomeUserInfoByUserSex
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- DWR 框架 技术 应用 实现 刷新 页面 数据 查询 Web 示例 第三 部分