信息网络应用基础课程设计题目:KOBE——SeeYouAgain动态网页姓名孙尚威学院电子工程学院专业电子信息科学与技术班级2013211202学号2013210849班内序号04指导教师范春晓一、实验主题运用JSP+SQL语言设计一个主题为《科比——seeyouagain》的动态网页,可以发布在服务器TOMCAT7上运行。网页中运用css样式表和表单进行布局,通过链接数据实现用户注册和登录功能,利用jsp内置对象实现简单购物车功能,并实现网页安全登陆,在未注册时不能通过url登录到指定页面。计划实现“商城购物车”,“用户注册”,“用户登录”,“网页安全访问”等基本功能。二、功能实现有简洁大方的主页作为首页,使进入网站的访客清晰网页的主题是致敬NBA球星科比。通过主页上方的导航栏进行本地网页的跳转链接。由此可以跳转查看关于科比的一系列资料。1、科比20年职业生涯的荣耀时刻和他取得的伟大成就。2、科比生涯完整数据,包括各赛季得分、篮板、助攻等。3、科比精彩视频集锦,回忆他在球场上无所不能的表现。4、进入科比商城,跳转到登陆页面,如果没有账户可以先进行用户注册,登陆成功后进入商城选购页面。可添加商品放入购物车。点击查看购物车可查看已经添加的商品,可以选择将商品逐个从购物车移除,也可以一键清空购物车。购物车信息可保存。5、外部链接到科比官方个人网站。6、显示当前登陆用户的用户名,点击可以注销当前用户三、运行流程进入网页首页(title.html)背景为一幅科比尽享掌声的背影图片,中间是白色字体的“SEEYOUAGAIN”以表示对科比退役的想念和祝福。背景音乐是《速度与激情7》的主题曲《seeyouagain》。首页上方的导航栏可以进行服务器内部网页跳转。点击可分别进入“生涯”、“数据”、“视频”、“商城”等内容,点击“contact”可链接到科比官方个人主页,任意页面处点击“首页”可返回首页。点击商城进入登陆界面(如果已经登陆则直接进入商店界面),可选择新用户注册。登陆时查询数据库信息,如果失败则返回重新登录,如果成功则进入商城界面,同时标题栏右上角显示当前登陆用户名。在商城内可选择商品加入购物车,可查看购物车信息,清空购物车或删除单个商品。点击用户名可退出当前登陆用户信息。在没有用户登录信息时,直接输入“商城首页”和“购物车”的url无法访问页面,提示先进行登陆操作,并跳转到登陆界面。操作简洁易懂。四、功能实现及运行结果1、网页安全访问:利用JSP内置对象session将当前客户端的用户信息取出并进行判断,如果用户名为null则判断当前无用户登录,无法访问当前url指定的页面。并通过弹窗提示(采用javascript技术)用户进行登陆操作,并指向登陆页面。实现安全访问功能。body%if(session.getAttribute(susername)==null){%scripttype=text/javascriptlanguage=javascriptalert(pleaselogin);window.document.location.href=login.jsp;/script%}%2、用户注册:在商城登陆页面前设置了用户登陆页面,只有用户完成登陆操作才可以访问“商店”页面进行购物操作。没有账号的用户可先进行注册再登陆。登陆界面通过表单将“用户名”“密码”信息提交到“registerdeal.jsp”,通过request将信息取出并连接数据库将信息添加到数据库之中。注册成功后弹出成功窗口提示并跳转到登陆界面进行登陆操作。如果注册失败则跳转到“reregister.jsp”页面,提示当前用户名已经存在,并返回重新注册。页面间跳转利用response技术实现。注册界面:注册成功:注册失败:3、用户登录:用已经注册过的账号登陆,表单信息传递到“testdbcon.jsp”,连接数据库查询是否存在用户名,如果存在则跳转到登陆成功页面,相关页面的导航栏的未登录变为当前登陆用户名;如果没有用户名信息返回,则跳转到登陆失败页面,可选择重新登录。用户名和密码用jsp内置对象session传递,并可以保存在其中便于其他页面调用该session对象。页面间跳转利用response技术实现。登陆成功:登陆失败:%Stringuser=request.getParameter(username);//接收表单参数Stringpassword=request.getParameter(password);//接收表单参数Stringsql=selectuserName,userPasswordfromuserWHEREuserName=?ANDuserPassword=?;ps=conn.prepareStatement(sql);ps.setString(1,user);ps.setString(2,password);rs=ps.executeQuery();while(rs.next()){flag=true;%%=rs.getString(1)%br%=rs.getString(2)%br%}%%out.print(数据库操作成功!);%%rs.close();//ps.close();//conn.close();%%if(flag){//登陆成功,应该跳转到success.jsp%%StringsUserName=request.getParameter(username);session.putValue(susername,sUserName);%jsp:forwardpage=success.jsp/%}else{//登陆失败,跳转到failure.jsp%jsp:forwardpage=relog.jsp/%}%4、购物车功能利用内置对象session传递用户点击的商品,将值传入“cart.jsp”购物车页面,在购物车页面可以通过session.removeVaule将商品session内存的值释放,以完成移除购物车内商品。选购商品:加入购物车:查看购物车:删除指定商品:清空购物车:%Stringop=request.getParameter(op);%%if(op.equals(good1)){%%session.removeValue(shoes);application.removeAttribute(num1);%%}%%if(op.equals(good2)){%%session.removeValue(bag);application.removeAttribute(num2);%%}%%if(op.equals(good3)){%%session.removeValue(coat);application.removeAttribute(num3);%%}%%if(true){%scripttype=text/javascriptlanguage=javascriptalert(success!);window.document.location.href=success.jsp;/script%}%5、退出登录删除当前登陆用户信息,导航栏显示为未登陆状态。五、实验心得与感受实验的延续了实验一的主题进行动态网页的编写,在编写的过程中链接数据库进行用户注册和用户登录时遇到了一定的困难,在查询资料后克服了困难,完成了该功能,在查找资料解决困难的过程中对jsp的认识更加深刻。整个实验按照要求基本完成了设计要求和功能目标,在两次的实验中完成了一个较为完整的科比个人网站,在制作的过程中我不仅学习到了网络信息应用的相关知识,也回忆了科比在NBA20年的辉煌生涯,感谢科比用篮球陪伴我度过了充满篮球梦想的青春岁月。