太难得的ajax教程

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

《专家手记--AJAX开发实战》曲金龙杨中科著会员价:¥39.00网上购买地址:读者服务:开发相关技术、工具简介第二章Eclipse下Web开发环境的搭建第一节基于WTP的开发环境的搭建2.1.1安装Eclipse和WTP2.1.2在Eclipse中安装配置Tomcat2.1.3第一个基于WTP的Web应用程序第二节基于MyEclipse的开发环境的搭建2.2.1安装MyEclipse2.2.2、安装PLUG-IN形式的MyEclipse2.2.3在MyEclipse中安装配置Tomcat2.2.4第一个基于MyEclipse的Web应用程序本章小结第三章Ajax技术第一节WEB应用程序的发展历程第二节Ajax原理3.2.1Ajax基本技术3.2.2XMLHttpRequest对象3.2.3Ajax中的请求与响应第三节客户端与服务器通信的技术3.3.1XML3.3.2JSON3.3.3其它数据格式简介第四节Ajax的跨域问题3.4.1引入跨域问题3.4.2解决跨域访问的方法本章小结第四章AJAX的血液——XML技术第一节XML的基础知识4.1.1XML技术简介4.1.2XML定义4.1.3XML语法4.1.4DTD与XMLSchema第二节XML的解析4.2.1DOM4.2.2SAX4.2.3JDOM第五章在Struts和Struts2中使用Ajax第一节重构老的Struts系统,增加Ajax功能第二节为基于Struts2的应用系统增加Ajax功能5.2.1Struts2基本Ajax标签介绍5.2.2使用Struts2标签开发Ajax应用第六章AJAX框架——Echo2第一节Echo2简介6.1.3组件6.1.4属性、样式及样式表6.1.5组件树:第二节第一个Echo2项目第三节Echo2的基础类6.3.1对齐(Alignment)第四节Echo2常见组件介绍6.4.10标签(Label)6.4.11表格(Table)6.4.12文本组件(TextComponent)6.4.13布局容器组件6.4.14面板组件第五节EchoPointNG常用组件介绍6.5.1自动完成文本框(AutoLookupTextFieldEx)6.5.2扩展按钮(ButtonEx)6.5.3计算器(Calculator)6.5.4复合框(ComboBox)6.5.5日期选择器(DateChooser)6.5.6直接HTML(DirectHtml)6.5.7可编辑的标签(EditableLabelEx)6.5.8可扩展区(ExpandableSection)6.5.9分组框(GroupBox)6.5.10Http面板(HttpPaneEx)6.5.11图片图标框(ImageIcon)6.5.12图片地图(ImageMap)6.5.13菜单6.5.14本地窗口(NativeWindow)6.5.15进度条(ProgressBar)6.5.16按钮(PushButton)6.5.17悬浮帮助提示(BalloonHelp)6.5.18富文本框(RichTextArea)6.5.19分隔条(Separator)6.5.20滑动条(Slider)6.5.21占位组件(Strut)6.5.22多页面板(TabbedPane)6.5.23模板面板(TemplatePanel)6.5.24树(Tree)第六节Echo2高级应用6.6.2TableEx的基本使用6.6.3TableEx的单元格渲染器6.6.4命令对象(Command)6.6.5服务器推技术(ServerPush)6.6.6快捷键(KeyStroke)第七节文件的上传下载6.7.1上传组件6.7.2文件下载第二部分开发案例第七章案例框架搭建第一节系统入口第二节类库与工具类7.2.1枚举异常7.2.2服务定位器7.2.3资源加载器7.2.4客户端信息提供者7.2.5下载提供者7.2.6文件打开对话框7.2.7带“确定/取消”按钮的对话框基类第三节数据持久化7.3.1数据库的选择7.3.2持久化框架的选择7.3.3持久层的开发7.3.4持久层开发实例第八章WebOS功能模块开发第一节登录模块8.1.1用户实体的建模8.1.2密码的保存8.1.3用户DAO8.1.4登录窗口8.1.5注册窗口8.1.6登录屏幕第二节桌面第三节网络相册第四节爱墙系统8.4.1爱墙的持久化8.4.2爱墙项目8.4.3爱墙主窗口第五节网络Office8.5.1Java中读取Excel8.5.2在线Excel8.5.3在线网页编辑器第六节系统配置与机场查询8.6.1系统配置8.6.2机场查询第七节网络硬盘8.7.1目录树节点渲染器8.7.2主干代码第10章WebOS功能模块开发本章将利用前边两个章节提供的基础组件和基础框架一个WebOS系统,系统主要包括登录模块、网络Office、网络相册、网络硬盘以及爱墙等非常强大的功能模块。第一节登录模块本节我们开发案例系统的登录模块,主要包括用户实体的建模、用户DAO的实现、登录界面的实现、注册界面的实现。10.1.1用户实体的建模我们定义用户实体有如下的属性:主键、用户名、密码、Email和壁纸URL。因此如下定义JavaBean:packagecom.cownew.phoneshow.basedata.user;publicclassUserInfo{privateStringid;privateStringuserId;privateStringpassword;privateStringemail;privateStringwallpaper;publicStringgetWallpaper(){returnwallpaper;}publicvoidsetWallpaper(Stringwallpaper){this.wallpaper=wallpaper;}publicvoidsetId(Stringvalue){this.id=value;}publicvoidsetUserId(Stringvalue){this.userId=value;}publicvoidsetPassword(Stringvalue){this.password=value;}publicStringgetId(){returnid;}publicStringgetUserId(){returnuserId;}publicStringgetPassword(){returnpassword;}publicStringgetEmail(){returnemail;}publicvoidsetEmail(Stringemail){this.email=email;}}然后配置这个JavaBean对应的Hibernate映射文件:?xmlversion=1.0?!DOCTYPEhibernate-mappingSYSTEM=com.cownew.phoneshow.basedata.user.UserInfotable=T_BS_Useridname=idtype=stringunsaved-value=nullcolumnname=FIdsql-type=stringnot-null=true/generatorclass=uuid.hex//idpropertyname=userIdcolumnname=FUserIdsql-type=stringnot-null=true//propertypropertyname=passwordcolumnname=FPasswordsql-type=stringnot-null=true//propertypropertyname=emailcolumnname=FEmailsql-type=stringnot-null=true//propertypropertyname=wallpapercolumnname=FWallpapersql-type=stringnot-null=true//property/class/hibernate-mapping10.1.2密码的保存如果用户密码直接以明文保存在数据库中,那么数据库管理员就可以看到系统任意一个用户的密码,这会带来两个问题:u很多人都把邮箱密码、银行密码、系统帐号密码等设置为一个密码,这样管理员就可以根据系统密码猜测此用户的在其他系统中的密码;u管理员可以用任意用户名登录系统,从而冒充该用户从事破坏活动或者窃取机密数据;u系统管理员仅仅是系统的维护人员,他保障系统的正常运作,并负责帐号密码的发放等工作。系统管理员并不是百分之百可信的,不应该让他能看到系统的机密信息。u可以采用对密码加密的办法来防止系统管理员,这样密码在数据库中就是一段不容易看懂的密文了,但是加密常常是和解密对应的,如果系统管理员得到了解密的算法,那么一切密码在他眼中就不是密文了。为了保证密码的保密性,必须采用不可逆的算法来处理密码。MD5算法是目前常用的不可逆算法,它并不是一个加密算法,只是一个摘要算法。它对源数据进行摘要计算,摘要后的结果中并不包含还原源数据所需的信息,因此它是不可逆的,即不可以由摘要数据推算源数据,而且两个不同的源数据产生相同摘要信息的概率非常低。在系统初始化用户名密码的时候将密码进行摘要计算,然后将计算的结果保存到密码这个字段中,每次系统登录的时候将用户输入的密码进行摘要计算并和数据库中的值进行比较,这样就可以判断密码是否正确。apache的commons-codec包中提供了用于进行散列计算的工具类DigestUtils,其中的md5Hex方法就是用来计算MD5散列值的,因此我们可以很容易的进行密码的散列计算以及正确性检验。10.1.3用户DAO有了用户实体,下面就该定义用户的DAO了,其接口声明如下:packagecom.cownew.phoneshow.basedata.user;publicinterfaceIUserDAO{/***修改密码(需要输入原有密码)**@paramuserId*@paramoldPassword*@parampassword@*/publicvoidchangePassword(StringuserId,StringoldPassword,Stringpassword);/***新增用户*@paramuser*/publicvoidcreateNew(UserInfouser);/***用户名密码是否相符*@paramuserId*@parampassword*@return*/publicbooleanisCorrect(StringuserId,Stringpassword);/***用户名userId是否已经存在*@paramuserId*@return*/publicbooleanuserIdExists(StringuserId);/***根据userId得到*@paramuserId*@return*/publicUserInfoloadByUserId(StringuserId);/***根据主键得到*@paramid*@return*/publicUserInfoloadById(Stringid);/***更新用户userI的墙纸路径*@paramuserId*@paramwallpaper*/publicvoidupdateWallpaper(Stringuse

1 / 59
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功