版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、JSP实训八JSP+JavaBean+Servlet实现投票系统一、实训目的:1、掌握MVC模式。2、掌握投票系统的前台和后台的实现。二、实训内容:一实验一:投票系统前台的实现1、 创立工程chapter9-1,编写login.jsp,用于用户投票。访问页面如图1所示:图1、login.jsp页面 2、把数据库驱动程序复制到lib下。3、 编写J,成员属性有:private Integer id;private String content;private Double number;private String title;4、在工程中添加处理汉字的过滤器SetCharacterEncodi
2、ngFilter。5、创立数据库test表ballot: create table test.ballot( id INT not null auto_increment, content VARCHAR(50), number DOUBLE, title VARCHAR(50), primary key (id) );6、编写result.jsp页面,如图2所示:图2、result.jsp页面7、编写,用于数据库连接、访问。private Connection getConnection()Connection con = null;try Class.forName("com.m
3、ysql.jdbc.Driver"); catch (ClassNotFoundException e1) / TODO Auto-generated catch blocke1.printStackTrace();String url = "jdbc:mysql:/localhost/test"try con = DriverManager.getConnection(url,"root","root"); catch (SQLException e) / TODO Auto-generated catch blocke.
4、printStackTrace();return con;/添加投票public boolean updateBallot(Integer id ,Double number)boolean bool = false;Connection con = this.getConnection();trycon.setAutoCommit(false);Statement sm = con.createStatement();String sql = "update ballot set number="+number+" where id="+id;sm.e
5、xecute(sql);con mit();sm.close();con.close();bool = true;catch(SQLException sql)sql.printStackTrace();catch(Exception e)e.printStackTrace();return bool;/查询一条信息public BallotBean queryOneBallot(Integer id)BallotBean bean = new BallotBean();Connection con = this.getConnection();tryStatement sm = con.cr
6、eateStatement();String sql = "select * from ballot where id="+id;ResultSet result = sm.executeQuery(sql);while(result.next()bean.setId(result.getInt("id");bean.setContent(result.getString("content");bean.setNumber(result.getDouble("number");catch(SQLException
7、sql)sql.printStackTrace();catch(Exception e)e.printStackTrace();return bean;public List queryAllBallot()List ballotList = new ArrayList();Connection con = this.getConnection();tryStatement sm = con.createStatement();String sql = "select * from ballot"ResultSet result = sm.executeQuery(sql)
8、;while(result.next()BallotBean bean = new BallotBean();bean.setId(result.getInt("id");bean.setContent(result.getString("content");bean.setNumber(result.getDouble("number");bean.setTitle(result.getString("title");ballotList.add(bean);catch(SQLException sql)sql.
9、printStackTrace();catch(Exception e)e.printStackTrace();return ballotList;8、编写,用于处理用户提交信息。public void doPost(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException response.setContentType("text/html");/得到前台传来的值String id = request.getParameter("co
10、ntent");List perList = new ArrayList();JdbcDao jdbc = new JdbcDao();ryOneBallot(new Integer(id);double num = bean.getNumber().doubleValue() + 1;boolean bool = jdbc.updateBallot(new Integer(id), num);if(bool)List ballotList = jdbc.queryBallot();/投票的总数量double sum = 0.0;for(int i=0;i<ballotList
11、.size();i+)BallotBean baBean = (BallotBean)ballotList.get(i);sum = sum + baBean.getNumber();/计算投票的百分比for(int i=0;i<ballotList.size();i+)BallotBean baBean = (BallotBean)ballotList.get(i);double pe = (baBean.getNumber().doubleValue() / sum) * 100;long per = (long)(pe * 100 + 0.5);double percent = (
12、double)per / 100;baBean.setNumber(percent);perList.add(baBean);request.setAttribute("perList", perList);request.getRequestDispatcher("/result.jsp").forward(request, response);9、在表ballot中输入3条记录:10、访问,结果如图2所示。二实验二:投票系统后台的实现对侯选人的增加和删除1、编写,用于添加候选人,页面如图3所示:图3、add.jsp页面<form action=
13、"servlet/Add" method="post"> <table> <tr> <td> 添加党员侯选人 </td> </tr> <tr> <td> 输入侯选人姓名: </td> <td> <input type="text" name="content" /> </td> </tr> <tr> <td> <input type=&q
14、uot;submit" value="提交" /> </td> <td> <input type="reset" value="重置" /> </td> </tr> </table> </form>2、 编写,用于查询候选人。页面如图4、如图5所示:图4、页面<% List list = (List)request.getAttribute("list"); %> <form action=&quo
15、t;servlet/Query" method="post"> <table> <tr> <td> 待选标题:<input type="text" name="title" /> </td> <td> <input type="submit" value="查询" /> </td> </tr> </table> </form> <% if(!(
16、list=null) %> <table> <tr> <td> 带选标题 </td> <td> 侯选人 </td> <td> 票数 </td> <td> 操作 </td> </tr> <% for(int i=0;i<list.size();i+) BallotBean bean = (BallotBean)list.get(i); %> <tr> <td> <%=bean.getTitle() %> &
17、lt;/td> <td> <%=bean.getContent() %> </td> <td> <%=bean.getNumber() %> </td> <td> <a href="servlet/Delete?id=<%=bean.getId() %>">删除</a> </td> </tr> <% %> </table> <% %>3、编写servlet:,用于删出候选人。public v
18、oid doGet(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException response.setContentType("text/html");String id = (String)request.getParameter("id");JdbcDao jdbc = new JdbcDao();jdbc.deleteBallot(id);request.getRequestDispatcher("/query
19、.jsp").forward(request, response);4、编写servlet:,用于添加候选人。public void doPost(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException response.setContentType("text/html");String title = (String)request.getParameter("title");String content =
20、(String)request.getParameter("content");JdbcDao jdbc = new JdbcDao();boolean bool = jdbc.addBallot(title, content);if(bool)request.setAttribute("message", "添加成功");request.getRequestDispatcher("/add.jsp").forward(request, response);5、编写servlet:Q,用于查询候选人。见p224代码9-96、在数据库访问类J中,增加删除和添加候选人的方法:public void deleteBallot(String id)Connection con = this.getConnection();tryStatement sm = con.createStatement();String sql = "delete from ballot where id="+id;sm
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 医疗人物介绍
- 《汽车基本常识》课件
- 大班科学活动爱的礼盒
- 《汤姆无聊的时候》课件
- 认识时钟课件
- 《迭代法及其收敛性》课件
- 关于治疗的医学指南
- 实习期职业规划
- 导游礼仪培训
- 反比例函数的图像课件
- 高考688个高频词汇 word版
- GB/T 41664-2022低NOx燃油燃气燃烧器评价方法与试验规则
- GB/T 41000-2021聚碳酸酯(PC)饮水罐质量通则
- GB/T 25021-2010轨道检查车
- GB/T 22427.9-2008淀粉及其衍生物酸度测定
- GB/T 20897.4-2019充气艇第4部分:发动机额定功率为15 kW及以上且船长在8 m~24 m之间的艇
- 班会-学霸的炼成
- 临安遗恨-古筝+钢琴五线谱
- 抽象代数复习习题及答案
- 薪酬管理分析报告5篇
- 台海局势之我见课件
评论
0/150
提交评论