《Web程序设计(一)课程设计》实验报告院系名称:专业班级:学生姓名:学号:2012年11 月一、实验目的本实验属于设计性实验,目的是使我们在学完《Web程序设计(一)》课程的基本知识之后,通过使用JSP+JavaBean制作一个简单的在线投票系统,进一步熟悉和领悟JSP、JavaBean和Java语言的语法结构和使用方法,通过实验学习Java Web系统的开发步骤与方法,任务是设计一个简单的线投票系统。
二、实验步骤1、对整个系统进行分析设计,设计整个系统的功能和所应有的页面。
2、对系统进行页面设计。
3、对系统进行功能设计。
4、对系统进行数据库设计和链接。
5、整个系统进行测试和调试。
三、系统设计1、界面设计首页注册页面:错误提示页面投票页面:投票结果页面:系统应该具有注册功能、登录功能、在线投票功能、票数统计功能、投票结果显示功能,其中注册功能应该包含的注册项如表1所示,在线投票功能应该包含的投票项如表2所示。
下图表1下图表23、数据库设计根据上述的功能要求,该系统数据库中包括的数据表有:用户基本信息表(表名:yonghu)、年龄信息表(表名:nianling)、收入信息表(表名:shouru)、文化程度信息表(表名:xueli)、娱乐方式信息表(表名:yule)、体育运动信息表(表名:tiyu)、电影类型信息表(表名:dianying)。
表3用户基本信息表表4年龄信息表表5收入信息表表6文化程度信息表表7娱乐方式信息表表8体育运动信息表表9电影类型信息表四、系统的核心代码1、index.jsp<body bgcolor="FF1493"><div align="center"><p>欢迎进入投票系统</p><hr><table><tr><td>已注册,点击登录按钮登录</td><td>未注册,点击注册按钮注册</td></tr><tr><td width="300px"align="center"><a href="denglu.html">登录</a></td><td width="300px"align="center"><a href="zhuce.html">注册</a></td></tr></table>2.zhuce.html<body bgcolor="FF1493"><div align="center"><p>欢迎用户注册!</p><form action="zhuce.jsp"method="post"><table><tr><td> 用户名:</td><td><input type="text"name="username"/></td></tr> <tr><td> 密 码:</td><td><input type="text"name="password"/></td></tr><tr><td>真实姓名:</td><td><input type="text"name="realname"/></td></tr><tr><td> 性别:</td><td><inputtype="radio"name="sex"value="男"checked/>男<input type="radio"name="sex"value="女"/>女</td></tr><tr><td> 省份:</td><td><select name="shengfen"><OPTION value="安徽">安徽</OPTION>-------soso onon----<OPTION value="内蒙古"selected>内蒙古</OPTION><OPTION value="宁夏">宁夏</OPTION>------<OPTION value="西藏">西藏</OPTION><OPTION value="云南">云南</OPTION><OPTION value="浙江">浙江</OPTION>-----</select></td></tr><tr><td align="center"><input type="submit"value="注册"/></td><td align="center"><input type="reset"value="重置"/></td></tr></table></form>3.zhuce.jsp<% request.setCharacterEncoding("UTF-8");String username=request.getParameter("username");String password=request.getParameter("password");String realname=request.getParameter("realname");String sex=request.getParameter("sex");String shenfen=request.getParameter("shengfen");Stringstrsql1="'"+username+"'"+","+"'"+password+"'"+","+"'"+realname+"'"+","+"'"+sex+"'"+", "+"'"+shenfen+"'";String strsql="insert into yonghu(username,password,realname,sex,shengfen)"+"values("+strsql1+")";System.out.println(strsql);Access a=new Access();boolean isnot=a.executeUpdate(strsql);if(isnot==true){ session.setAttribute("username",username);response.sendRedirect("toupiao.jsp");}Else{response.sendRedirect("zhuce.html");}%>4.error.html<body bgcolor="FF1493"><p>您输入的用户名或密码错误</p><p>请重新输入</p><table><tr><td><a href="denglu.html">跳转到登录页面重新登录</a></td></tr></table></body>5.denglu.js p<body bgcolor="FF1493"><jsp:useBean id="user"class="com.mushu.Access.Access"></jsp:useBean><% String username=request.getParameter("username");String password=request.getParameter("password");String iscorrect="select * from yonghu where username="+"'"+username+"'"+" and password="+"'"+password+"'";System.out.println(iscorrect);ResultSet rs=user.execute(iscorrect);if(!rs.next()){ response.sendRedirect("error.html");}Else { session.setAttribute("username", rs.getString("username"));session.setAttribute("password", rs.getString("password"));rs.close();response.sendRedirect("toupiao.jsp");}%></body>6.toupiao.jsp<body bgcolor="FF1493"><% if(session.getAttribute("username")==null){ response.sendRedirect("denglu.html"); }%>尊敬的<%=session.getAttribute("username") %>,欢迎来到投票页面<form action="toupiao1.jsp"method="post"><table width="700"border="0"align="center"cellpadding="0" cellspacing="0"><tbody><tr><td height="45"valign="top"><table width="746"border="0" cellspacing="0"cellpadding="0"><tbody><tr><tbody><tr><td width="177"><div align="center"><div id="ValidationSummary2"style="color:Red;display:none;"></div></div></td><td width="76"><div align="center"></div></td></tr></tbody></table></td></tr></tbody></table><table width="600"align="center"><tbody><tr><td class="style1"><div><table class="GbText"cellspacing="1"cellpadding="3"rules="all" border="1"id="VoteView"style="border-color:SteelBlue;border-width:1px;bo rder-style:None;width:100%;"><tbody><tr class="GbText"style="color:Black;font-size:Large;font-weight:b old;"> <th scope="col">调查问卷</th></tr><tr><td align="left">1、您的年龄是多少?<div id="VoteView_ctl02_ItemPanel"class="GbText" dir="ltr"style="width:100%;"><table id="VoteView_ctl02_radioList"border="0"><tbody><tr><td><input id="VoteView_ctl02_radioList_0" type="radio"name="VoteView1"value="age1"><label for="VoteView_ctl02_radioList_0">20岁及以下</label></td><td><input id="VoteView_ctl02_radioList_1" type="radio"name="VoteView1"value="age2"><label for="VoteView_ctl02_radioList_1">21-35岁</label></td></tr><tr><td><input id="VoteView_ctl02_radioList_2" type="radio"name="VoteView1"value="age3"><label for="VoteView_ctl02_radioList_2">36-50岁</label></td><td><input id="VoteView_ctl02_radioList_3" type="radio"name="VoteView1"value="age4"><labelfor="VoteView_ctl02_radioList_3">50岁</label></td></tr></tbody></table></div></td></tr><table></body> 7.toupiao1.jsp<body bgcolor="FF1493"><%request.setCharacterEncoding("UTF-8");Access a=new Access();//年龄String age=request.getParameter("VoteView1");if(age!=null){String agesql="update nianling set "+age+"="+age+"+1";a.executeUpdate(agesql);//收入String shouru=request.getParameter("VoteView2");if(shouru!=null){String shourusql="update shouru set "+shouru+"="+shouru+"+1";a.executeUpdate(shourusql);}//学历String xueli=request.getParameter("VoteView3");if(xueli!=null){String xuelisql="update xueli set "+xueli+"="+xueli+"+1";a.executeUpdate(xuelisql);}//娱乐String yule[]=request.getParameterValues("VoteView4");if(yule!=null){for(int i=0; i<yule.length;i++){String yulesql="update yule set "+yule[i]+"="+yule[i]+"+1;";a.executeUpdate(yulesql);System.out.println(yulesql);}}//体育String tiyu[]=request.getParameterValues("VoteView5");if(tiyu!=null){for(int i=0; i<tiyu.length;i++){String tiyusql="update tiyu set "+tiyu[i]+"="+tiyu[i]+"+1;";a.executeUpdate(tiyusql);System.out.println(tiyusql);}}//电影String dianying[]=request.getParameterValues("VoteView6");if(dianying!=null){for(int i=0; i<dianying.length;i++){String dianyingsql="update dianying set"+dianying[i]+"="+dianying[i]+"+1;";a.executeUpdate(dianyingsql);System.out.println(dianyingsql);}}response.sendRedirect("result.jsp");%></body>五、实验总结通过本次实验,让自己进一步熟悉和领悟JSP、JavaBean和Java语言的语法结构和使用方法,让自己对javaweb程序设计有了更加深刻的认识,提高了自己的计算机操作能力,提高了自己的实践动手能力。