“悠在旅途”旅游网站的设计与实现_第1页
“悠在旅途”旅游网站的设计与实现_第2页
“悠在旅途”旅游网站的设计与实现_第3页
“悠在旅途”旅游网站的设计与实现_第4页
“悠在旅途”旅游网站的设计与实现_第5页
已阅读5页,还剩32页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

北京理工大学现代远程(继续)教育学院毕业设计(论文)毕业论文题目:“悠在旅途”旅游网站的设计与实现.3功能模块的实现4.3.1用户功能模块的设计与实现用户功能模块主要实现的功能包括用户的注册,用户注册之后可以登录,以及用户可以更新个人信息。下面以介绍其中的用户登录功能为例来说明具体的实现过程。用户登录界面如图4-3所示。图4-3用户登录界面当用户输入用户名、密码、验证码并选择身份后,点击登录,系统将表单数据传给处理登录请求的servlet,系统会自动判断用户输入的用户名和密码是否正确,已经身份是否匹配,并反馈给用户相应的信息。下面展示主要的后台代码,此处省略了一些固定定义代码。 if(username.trim().equals("")||username==""){ StringuserMsg="用户名不能为空"; session.setAttribute("userMsg",userMsg); } if(password.trim().equals("")||password==""){ StringpwdMsg="密码不能为空"; session.setAttribute("pwdMsg",pwdMsg); } if(numB.trim().equals("")||numB==""){ StringnumMsg="验证码不能为空"; session.setAttribute("numMsg",numMsg); }elseif(!numB.equals(session.getAttribute("checknumber").toString())){ StringnumMsg="验证码错误"; session.setAttribute("numMsg",numMsg); } if(username.trim().equals("")||username=="" ||password.trim().equals("")||password=="" ||numB.trim().equals("")||numB=="" ||!numB.equals(session.getAttribute("checknumber").toString()) ||type.toString().equals("")||type==""){ response.sendRedirect("login.jsp"); }else{ if(type.equals("管理员")){ tables="t_admin"; }elseif(type.equals("会员")){ tables="t_userinfo"; } Stringsql="select*from"+tables+"whereusername='" +username+"'anduserpwd='"+password+"'"; ResultSetrs=idus.selectSQL(sql); if(rs.next()){ session.setAttribute("username",username); try{ application.setAttribute("userInfo", (String)application.getAttribute("userInfo")+username+"<br/>"); } } else{ System.out.println("dowasnull"); StringloginMsg="用户名或密码错误"; session.setAttribute("loginMsg",loginMsg); response.sendRedirect("login.jsp"); } }catch(SQLExceptione){ StringloginMsg="用户名或密码错误"; session.setAttribute("loginMsg",loginMsg); response.sendRedirect("login.jsp"); } }4.3.2信息浏览模块的实现信息浏览模块主要实现的功能包括,旅游信息的浏览,酒店信息的浏览以及论坛信息的浏览。基本步骤主要为系统通过连接数据库从数据的相关表中读取数据然后存入结果集中,在显示到页面上。下面将通过介绍论坛信息的浏览为例,来说明具体的实现过程。论坛信息浏览界面如图4-4所示。图4-4论坛信息浏览界面当用户浏览论坛信息模块时,系统会自动判断当前浏览论坛信息的用户是否为管理员,如果为管理员则系统会自动授予管理员删除权限,即显示删除按钮,如果当前浏览论坛信息的是普通用户,那么系统就只会显示论坛的内容而不会授予普通用户删除权限,防止用户误操作。下面展示后台实现的主要代码,此处省略了HTML界面的代码。<%<% try{ if(session.getAttribute("type").toString().equals("管理员")){ %> <tdwidth="50"> 删除 </td> <% } }catch(Exceptione){ session.setAttribute("type",""); } %> </tr> <% IDUSidus=newIDUS(); ResultSetrs=idus.selectSQL("select*fromb_title"); try{ while(rs.next()){ out.println("<tr>"); out.println("<td><ahref='bbsmsg.jsp?t_title="+rs.getString(1)+"'>"+rs.getString(2)+"</a></td>"); out.println("<td>"+rs.getString(4)+"</td>"); out.println("<td>"+rs.getString(5)+"</td>"); if(session.getAttribute("type").toString().equals("管理员")){ %> <td> <ahref="doDel?id=<%=rs.getString(1)%>">删除</a> </td> <% } out.println("</tr>"); } }catch(Exceptionex){ } %>4.3.3论坛模块的设计与实现论坛模块的功能主要有用户发布帖子和用户回复帖子这两个功能。下面将分别介绍用户发布帖子和用户回复帖子两个功能的具体实现过程。1.帖子发布功能介绍无论是用户还是游客都可以浏览论坛页面,并且都能发布帖子。这样可以不登录也能分享自己的一些旅游经验和其他有用的信息。用户发布帖子的界面如图4-5所示。图4-5发帖界面用户通过发帖界面填写帖子的标题和内容,点击发布按钮,系统会自动判断当前登录的用户,同时将所发布的帖子的标题和内容的表单数据以及用户的相关信息传给处理发帖请求的servlet,执行相应的代码,将数据插入到发帖信息表中和回复信息表(实现数据之间的联系)完成帖子发布。下面展示后台代码。publicvoiddoPost(HttpServletRequestrequest,HttpServletResponseresponse) throwsServletException,IOException{ response.setContentType("text/html"); response.setCharacterEncoding("UTF-8"); PrintWriterout=response.getWriter(); HttpSessionsession=request.getSession(); //获取表单数据 Stringusername=(String)session.getAttribute("username"); Stringtitle=request.getParameter("title"); Stringmsg=request.getParameter("msg"); StringdateTime=request.getParameter("dateTime"); Stringsqlmsg="insertintob_msg(b_username,b_msg,b_time,b_title)values('"+username+"','"+msg+"','"+dateTime+"','"+title+"')"; Stringsqltitle="insertintob_title(b_title,b_msg,b_username,b_time)values('"+title+"','"+msg+"','"+username+"','"+dateTime+"')"; IDUSidus=newIDUS(); IDUSids=newIDUS(); inti=idus.insertSql(sqlmsg); intj=ids.insertSql(sqltitle); if(i>0&&j>0){ out.print("<script>alert('发表成功!');</script>"); response.sendRedirect("bbsindex.jsp"); } out.flush(); out.close(); }}2.帖子回复功能介绍用户不仅能发布帖子,浏览别人的帖子,还可以进行回复,发表自己的看法或者意见,更方便了用户之间的交流。用户回复界面如图4-6所示。图4-6用户回复界面用户在回复界面可以看到主贴信息和回复信息,同时也可以回复帖子,用户填写好回复信息后点击提交按钮,系统会自动获取其他相关信息,如回复时间,回复人,回复的哪一个帖子等这些信息同回复的内容一起传给处理回复请求的servlet,执行相应的操作完成回复的功能。下面给出后台代码。publicvoiddoPost(HttpServletRequestrequest,HttpServletResponseresponse) throwsServletException,IOException{ response.setContentType("text/html"); response.setCharacterEncoding("UTF-8"); PrintWriterout=response.getWriter(); HttpSessionsession=request.getSession(); Stringusername=(String)session.getAttribute("username"); Stringmsg=request.getParameter("msg"); Stringid=request.getParameter("titleid"); Stringtitlename=request.getParameter("titleName"); StringdateTime=request.getParameter("dateTime"); IDUSidus=newIDUS(); Stringsql="insertintob_msg(b_username,b_msg,b_time,b_title)values('"+username+"','"+msg +"','"+dateTime+"','"+titlename+"')"; if(idus.insertSql(sql)>0){ System.out.println("doif"); response.sendRedirect("bbsmsg.jsp?t_title="+id+""); }else{ out.print("<script>alert('发表失败');</script>"); response.sendRedirect("bbsmsg.jsp?t_title="+id+""); } out.flush(); out.close(); }}4.3.4管理员功能模块的设计与实现网站的各类信息主要由系统管理员来管理,管理员的主要功能包括发布旅游信息,发布酒店信息和管理论坛信息。下面以介绍管理论坛信息为例,管理员可以像普通用户一样发布和回复帖子,除此之外管理员还可以删除用户和管理员自己发布的帖子。下面介绍此功能的实现过程[9]。帖子删除界面如图4-7所示。图4-7帖子删除界面可以从图4-7中看到,与普通用户的浏览界面相比,所有帖子右侧都有删除这一选项。当进入论坛页面时,系统自动判断当请登录的用户是否是管理员,上图是以管理员身份进入论坛时的页面。管理员点击删除时,系统将要删除的帖子的ID号传给处理删除请求的servlet,执行删除操作时系统会同时将要删除的帖子中的回复信息一起删除掉。下面给出相应的后头代码。判断用户身份,同时授予删除权限。<% try{ if(session.getAttribute("type").toString().equals("管理员")){ %> <tdwidth="50"> 删除 </td> <% } }catch(Exceptione){ session.setAttribute("type",""); } %> </tr> <% IDUSidus=newIDUS(); ResultSetrs=idus.selectSQL("select*fromb_title"); try{ while(rs.next()){ out.println("<tr>"); out.println("<td><ahref='bbsmsg.jsp?t_title="+rs.getString(1)+"'>"+rs.getString(2)+"</a></td>"); out.println("<td>"+rs.getString(4)+"</td>"); out.println("<td>"+rs.getString(5)+"</td>"); if(session.getAttribute("type").toString().equals("管理员")){ %> <td> <ahref="doDel?id=<%=rs.getString(1)%>">删除</a> </td> <% } out.println("</tr>"); } }catch(Exceptionex){ } %>实现删除功能。response) throwsServletException,IOException{ doPost(request,response); } publicvoiddoPost(HttpServletRequestrequest,HttpServletResponseresponse) throwsServletException,IOException{ response.setContentType("text/html"); PrintWriterout=response.getWriter(); IDUSid1=newIDUS(); IDUSid2=newIDUS(); IDUSid3=newIDUS(); publicclassdoDelextendsHttpServlet{ publicvoiddoGet(HttpServletRequestrequest,HttpServletResponse Stringb_title=""; Stringid=request.getParameter("id"); Stringsql1="deletefromb_titlewhereid='"+id+"'"; Stringsql2="selectb_titlefromb_titlewhereid='"+id+"'"; ResultSetrs=id1.selectSQL(sql2); id2.insertSql(sql1);//删除表b_title中的信息 try{ while(rs.next()){ try{ b_title=rs.getString(1); }catch(SQLExceptione){ //TODOAuto-generatedcatchblock e.printStackTrace(); } } }catch(SQLExceptione){ //TODOAuto-generatedcatchblock e.printStackTrace(); } Stringsql3="deletefromb_msgwhereb_title='"+b_title+"'"; id3.insertSql(sql3);//删除表b_msg(回复表)中的信息 response.sendRedirect("bbsindex.jsp"); out.flush(); out.close(); }}4.3.5酒店模块的实现酒店模块实现酒店预订的功能,用户不仅可以浏览酒店信息还可以对满意的酒店进行预订。下面介绍酒店预订功能的具体实现。酒店预订界面如图4-8所示。图4-8酒店预订界面当用户浏览酒店信息页面时可以看到预订按钮,用户点击预订,系统自动将当前的酒店的ID以及当前登录用户的ID传给处理订单的servlet,执行预订的操作。下面展示后台代码。publicclassdoorderextendsHttpServlet{ publicvoiddoGet(HttpServletRequestrequest,HttpServletResponseresponse) throwsServletException,IOException{ doPost(request,response); } publicvoiddoPost(HttpServletRequestrequest,HttpServletResponseresponse) throwsServletException,IOException{ response.setContentType("text/html"); response.setCharacterEncoding("UTF-8"); PrintWriterout=response.getWriter(); HttpSessionsession=request.getSession();Stringlid=request.getParameter("lid"); Stringuid=request.getParameter("uid"); Stringsql="insertintoorderlid,uid)values('"+lid+"','"+uid+"')"; IDUSidus=newIDUS(); inti=idus.insertSql(sql); if(i>0){ out.print("<script>alert('酒店预订成功!');</script>"); response.sendRedirect("server.jsp"); } out.flush(); out.close(); }}4.4本章小结本章详细介绍了系统开发的过程中,本系统使用的是Mysql数据库,在连接的过程中需要用到JDBC驱动程序,并且需要同时在myeclipse开发工具中做相应配置,下面将具体介绍如何实现数据库的连接。用户功能模块的设计与实现,信息浏览模块的实现,论坛模块的设计与实现,管理员功能模块的设计与实现,酒店模块的实现最后,创建并存储数据库连接的详细处理的技术细节,并给出了该系统的用户接口部分。5旅游网站系统测试5.1注册、登录测试首先测试的是注册功能,用户需要按要求正确填写相关信息,如果填写不对,或者是不填写,则系统会根据具体的情况给出错误提示,所有通过页面进行注册的用户都是普通用户。具体测试情况如表5-1所示。表5-1注册测试用例输入输出用户名密码密码确认密码提示电话性别小红123123111女两次密码不一致123123123111女用户名不能为空小红123123111女密码不能为空小红123123111女密码提示不能为空小红123123123女电话不能为空小红123123123111性别不能为空当用户登录时,不仅需要输入正确的用户名和密码,还要选择对应的身份,目前数据库中已有的管理员的用户名为blue,密码为123,当输入的用户名和密码以及身份信息都正确时,会以管理员的身份进入系统[10]。普通用户登录的具体操作与管理员类似。具体测试情况如表5-2所示。表5-2登录测试用例(#表示随机数字)输入输出用户名密码验证码身份123####管理员用户名不能为空请输入续表5-2登录测试用例(#表示随机数字)输入输出用户名密码验证码身份blue####管理员密码不能为空请输入blue123管理员验证码不能为空blue1231111管理员验证码错误blue123####会员登录失败blue111####管理员密码错误blue123####身份不能为空5.2酒店预订测试当用户进入系统时可以浏览各种信息界面,但是以游客的身份进入酒店页面就不能使用酒店预订的功能,只有在用户登录之后才能使用这个功能,具体测试情况如表5-3所示。表5-3酒店预订测试步骤结果不登录进入酒店信息页面点击预订预订出错,请登录5.3信息发布测试无论是游客还是会员都能使用帖子发布这个功能,当用户进入发帖界面进行帖子发布时,标题和内容都必须填写,否则不能发布帖子。具体测试情况如表5-4所示。表5-4信息发布测试用例输入输出标题内容杭州三日游...标题不能为空自驾游内容不能为空自助式旅游自助式旅游与...发布成功5.4信息删除测试在本系统中,当以管理员的身份进入系统时,才有删除帖子的权限,如果不是以管理员的身份进入帖子浏览界面,则不会显示删除按钮。具体测试情况如表5-5所示。表5-5信息删除测试步骤结果以管理员身份登录系统进入论坛主页点击删除删除成功5.5信息回复测试用户可以查看帖子的内容并对其进行回复,在进行帖子回复时,必须要填写回复的内容,否则无法回复,系统会反馈给用户错误提示信息,具体测试情况如表5-6所示。表5-6信息回复测试用例输入输出回复内容回复内容不能为空5.6本章小结(1)功能完善,由该系统提供的各种功能可以很好地完成,并且该错误是相对低的,条形码设备的良好的操作。(2)更好的性能,而多用户访问服务器,该系统是稳定的,CPU占用率在60%以下,网络占用率在10%以下(3)安全性较好,之后的非特权用户,以获得数据包,不能解释的信息的内容。结语本人通过长时间的努力与付出,最后终于按时完成了“悠在旅途”旅游网站的设计与实现,也按时完成了论文的写作。在实现旅游网站的过程中,本人遇到了很多问题,通过请教别人和查阅相关资料,最后克服了困难解决了问题,顺利完成了毕业设计。经过此次毕业设计的锻炼,了解到很多有用的知识和经验。开始着手毕业设计时,对旅游网站系统的工实现原理,工作过程和开发的基本框架,没有一个清晰的概念和思路。根据指导老师的推荐,查阅了一些相关书籍和资料,比如《Jsp程序设计教程》、《Java面向对象编程》、《Oracle实用教程》等。在设计的过程中,通过实践操作,

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论