¥ 37.7 7.7折 ¥ 49 全新
库存8件
作者吴懋刚、陈进、周建林、黄成、倪明、范蕤、包芳
出版社清华大学出版社
ISBN9787302472803
出版时间2017-07
装帧平装
开本32开
定价49元
货号25122686
上书时间2024-11-23
目录
1
1
3
4
1
1
1
12
1
1
1
1
1
1
24
1
1
1
1
28
29
1
1
1
1
1
1
1
1
43
1
44
44
2
2
51
51
2
2
2
2
2
60
2
2
内容摘要
本书根据软件行业岗位需求及ASP.NET开发人才培养的特点,以一位刚入行的软件开发人员John的成长经历作为故事主线,用真实的企业项目“网上商城”作为项目研发过程主线,渗透行业主流的Scrum敏捷开发框架,设计了5个迭代递进的学习情境,包含9大模块、23个典型工作任务,涵盖了Web应用程序及其体系架构、ASP.NET应用程序结构、ASP.NET Web窗体及Page类、服务器控件、验证控件、状态管理、ADO.NET数据访问模型、ADO.NET组件、数据绑定控件、ASP.NET母版、站点地图与导航、用户控件、站点发布与部署等主要知识点。
本书依托“双主线贯穿、五迭代递进”的学习情境,通过对真实项目“网上商城”的教学化设计,构建真实的软件项目化实训和工作场景,按照“必需、够用”的原则对知识、技能进行梳理和有序化,通过工作任务实践引导教学和专业实践,提高读者的专业实践能力和综合职业素质,体现了以学生为主、教师为导的新型“师傅带徒弟”式的现代职业教育教学特色。
本书配套提供课程实训指南、授课讲稿(PPT)、电子教材、项目库、微课视频、习题库,是高职院校软件技术及计算机类相关专业学生学习ASP.NET相关课程的教学实训指导用书,也可以作为广大软件开发人员从事ASP.NET开发的指导和参考用书。
主编推荐
导语_点评_推荐词
精彩内容
模块3维护“网上商城”登录状态
根据Sprint #2 Backlog,John需要继续完善前台门户会员“状态管理”相关的功能设计。对于实习生John而言,对于“状态管理”相关的任务需求,明显经验不足,John感觉无从入手,他不清楚应该选择什么合适的技术方案来完成这些任务,他也不清楚具体要做哪些工作。John只能借助于Scrum Daily Meeting,继续向David求助。David知道John在大学期间学习过有关“状态维护技术”的知识,比如“HTTP协议无状态”、Cookie和Session等内容。David喜欢通过列举一些生活常例来帮助团队成员理解一些晦涩的知识和技术点。David以常见的自动售货机来举例说明“HTTP协议无状态”: 传统的自动售货机只负责售卖商品,是从不“记忆”谁曾经来买过什么商品的;“网上商城”项目这样的Web应用系统就类似于自动售货机,采用的是典型的B/S结构,用户在浏览器端发起访问请求,服务器响应结果,采用的是HTTP协议,本质上是无状态的,是不会“记忆”会员曾经登录、注销退出等任何交互状态信息的。为了支持这种服务器端和浏览器端之间的状态信息交互,就需要采用一些技术方案来保存和交换这些状态,比如常用的Cookie和Session等。工作任务任务31维护会员登录状态 任务32为会员设计登录状态导航任务33为后台管理员设计登录状态导航 学习目标(1) 理解Web应用状态管理。(2) 理解并掌握常用的ASP.NET状态维护技术。(3) 理解主要状态维护技术的区别,并在实际应用中使用。任务31维护会员登录状态〖1〗任务描述与分析David继续向John介绍“状态管理”相关的概念。John在大学期间一直对Cookie印象不好,因为老师曾告诉他“Cookie不安全”。为了解答John的疑惑,David拿出了自20世纪90年代末以来“珍藏”了十几年的在大学期间使用过的“洗澡卡”举例对比。David上大学期间,计算机还是286、386时代,学校还没完全进入网络时代,大学澡堂管理用的是纸质卡片式的“洗澡卡”。“洗澡卡”放在学生身边,每张卡有20个方格,每次洗澡就交给管理员阿姨划掉一个格子。有些学生“调皮”,有时就会用橡皮把“洗澡卡”上划掉的勾擦掉。所以,为了防止篡改,管理员阿姨必须练就“火眼金睛”。而现在暨阳大学已经完全进入“智慧校园”阶段,很多地方都采用“校园一卡通”。“校园一卡通”采用的是RFID卡,学生每次洗澡只要带上RFID卡,到读卡器上扫一下,在服务器上就有他的一条消费记录,同时从卡中余额扣掉一元。因为所有卡中余额和消费记录都保存在服务器上,学校管理员基本不用担心数据被篡改等问题。David很形象地介绍了“状态管理”的重要技术之一——Cookie。John恍然大悟,Cookie就类似于David大学期间那张纸质的“洗澡卡”: 保存在用户“身边”(客户端),只能保存一些文本字符,容易被“恶意”篡改。但是Cookie并非一无是处,比如它简单,数据量小,对服务器没有性能影响,使得Cookie反而是目前应用广泛的状态维护技术之一。David告诉John,状态管理永远没有什么正确答案,只有哪种方案更合适,这也是为什么在会员登录业务中,David要求John用Cookie技术来维护会员登录状态。David请John一起边做边讨论。开发任务单如表311所示。表311开发任务单任务名称#301维护会员登录状态相关需求作为一名会员用户,我希望网上商城前台门户能保存我的登录状态,这样可以使得各个页面可以共享我的会员信息任务描述(1) 完善会员登录页服务器端事件处理程序(2) 会员登录后使用Cookie保存会员账号信息(3) 读取Cookie中的会员账号信息(4) 在会员登录页中,测试维护会员登录状态所属迭代Sprint #2设计“网上商城”用户交互指派给John Chen优先级4任务状态□已计划√进行中□已完成估算工时8任务设计与实现〖*2〗311完善详细设计(1) 完善会员登录页面UI设计: 参考图311。会员登录页详细设计说明请参阅任务21“创建会员登录页”。图311“会员登录”页面设计参考ASP.NET应用系统设计与开发模块3维护“网上商城”登录状态(2) 完善会员登录页功能操作主流程。① 输入账号、密码,根据需要勾选“2周内不用再登录”复选框。② 单击“登录”按钮,读取客户端输入,处理会员登录业务逻辑。③ 会员账号、密码校验通过,会员登录成功。④ 将当前登录的会员账号、登录时间保存在Cookie中。(3) 完善会员登录页功能操作分支流程。① 打开会员登录页时,如会员已登录成功,则在页面显示欢迎信息(已登录会员账号、登录时间)。② 会员登录失败,弹出对话框提示错误(会员账号不存在或密码不正确)。312使用Cookie保存登录状态(1) 打开会员登录页的后置代码文件UserLogin.aspx.cs,在“登录”按钮单击事件btnLogin_Click中完善会员登录业务逻辑。(2) 在“任务21创建会员登录页”中,已经实现了会员登录的基本功能: 当会员在会员登录页输入账号、密码,单击“登录”按钮(btnLogin)后,服务器端读取用户在浏览器端输入的会员账号、密码,调用会员登录业务逻辑以判断当前登录的用户是否合法,并根据返回值提示错误信息。(3) 当会员登录成功,将当前登录会员的账号、登录时间保存到Cookie后,浏览器重定向到首页(Default.aspx);如果勾选了“2周内不用再登录”复选框,则Cookie过期时间为2周(14天)。1protected void btnLogin_Click(object sender, EventArgs e)2{3string loginId=txtLoginId.Text.Trim();4string loginPwd=txtLoginPwd.Text.Trim();5int returnId=UserManager.Login(loginId, loginPwd);6if (returnId==-1)7{8lblMessage.Text="账号不存在!" ;9return;10}11if(returnId==-2)12{13lblMessage.Text="密码不正确!" ;14return;15}1617HttpCookie cookieLogin=new HttpCookie("loginUserInfo");18cookieLogin.Values\["loginId"\]=userId;19cookieLogin.Values\["visitDate"\]=DateTime.Now.ToString();20if(cbLoginExpires.Checked)21{22cookieLogin.Expires=DateTime.Now.AddDays(14);23}24else25{26cookieLogin.Expires=DateTime.Now.AddDays(1);27}28Response.Cookies.Add(cookieLogin);2930Response.Redirect("~/Default.aspx");31}第3~15行: 在“任务21创建会员登录页”中,已经实现会员登录的基本功能。第17行: 会员登录成功,创建键名为loginUserInfo的多值Cookie。第18~19行: 将当前登录会员的账号、登录时间保存到Cookie。第20~27行: 如果勾选了“2周内不用再登录”复选框,则Cookie过期时间为2周(14天);否则默认为1天。第28行: 将登录Cookie保存到客户端。第30行: 登录成功后,浏览器重定向到前台门户首页。313读取并显示会员登录状态信息页面初始加载时,隐藏lblMessage文本控件,即不显示输入项检查错误信息。主要代码如下。1protected void Page_Load(object sender, EventArgs e)2{3HttpCookie cookieLogin=Request.Cookies\["loginUserInfo"\];4if(cookieLogin==null)5{6lblMessage.Text="请登录...";7}8else9{10string userId=cookieLogin.Values\["loginId"\];11string userVisitDate=cookieLogin.Values\["visitDate"\];12lblMessage.Text="欢迎 " userId ",登录于: " userVisitDate;13}14}第3行: 从Cookie读取会员登录状态信息。第4~7行: 如Cookie为空,则提示登录信息。第8~13行: Cookie不为空,则会员已成功登录,从Cookie中读取会员账号、登录时间,通过Label控件显示登录欢迎信息。第10~11行: 从多值Cookie中读取会员账号值、登录时间值。314测试会员登录页状态维护(1) 在“解决方案资源管理器”窗格中,右击Web窗体页UserLogin.aspx,在快捷菜单中选择“在浏览器中查看”命令(或按Ctrl F5组合键),在浏览器中打开了窗体页UserLogin.aspx。(2) 根据表312所示的测试操作,对用户登录页状态维护进行功能测试。表312测试操作测试用例TUC0301会员登录状态维护编号测试操作期望结果检查结果1输入账号user,密码password,单
— 没有更多了 —
以下为对购买帮助不大的评价