《Java Web开发技术》课程任务书 阶段评价2
模块名称: | 图书信息管理 | ||||
序号: | 阶段评价2:后台图书信息管理 | 日期: | |||
一、实验目的、要求及准备 | |||||
1.实验目的 熟悉MVC开发模式,掌握信息修改功能的数据操作类、控制类以及前台视图的实现。 2.实验要求 实现信息修改、查询、列表、删除功能。 3. 实验准备 教师可以提供部分视图页面样式、代码。 | |||||
二、实验内容 | |||||
难点:商品修改 从信息列表中选择图书,根据图书ID到图书记录后显示该图书详细信息,修改后提交,在后台数据库修改信息。 update_book.jsp | |||||
三、实验步骤 | |||||
商品修改 1、 前台视图、表单设置 2、 控制类Servlet的实现 3、 在操作类中实现商品修改方法 | |||||
四、 实验报告(自己工程的代码) | |||||
1、 写出操作类中实现根据ID查商品详细信息方法 public Book getBookById(int id) { sql = "select * from book_info where id=" + id; Book book = new Book(); try { psmt = con.prepareStatement(sql); ResultSet rs = psmt.executeQuery(); if (rs.next()) { book.Int("id")); book.String("author")); book.Int("bookCount")); book.String("name")); book.String("type")); book.Double("price")); book.String("publicDate")); book.String("press")); book.String("info")); book.String("image")); } } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); } return book; } 2、 写出修改页面中的关键代码。 <% //根据商品ID 查商品信息 String path = ContextPath(); String id = Parameter("id"); if (id == null) response.sendRedirect("error.jsp"); BookOpr bo = new BookOpr(); Book b = bo.getBookById(Integer.parseInt(id)); %> <form name="addProduct" id="f1" action="../BookServlet?type=update&id=<%=b.getId() %>"method="post"> <table border="0"> <tr> <td class="row" colspan="2" align="center">图书信息修改</td> </tr> <tr> <td class="row">图书名称:</td> <td><input type="text" name="bName" id="bName" value=<%=b.getName() % ></td> </tr> 3、 写出操作类中实现商品信息修改方法 public boolean update(Book book) { int flag = 0; sql = "update book_info set name=?,type=?,price=?,press=?,author=?,publicDate=?,bookCount=?,image=?,info=? where id=?"; try { psmt = con.prepareStatement(sql); psmt.setString(1, Name()); psmt.setString(2, Type()); psmt.setDouble(3, Price()); psmt.setString(4, Press()); psmt.setString(5, Author()); psmt.setString(6, PublicDate()); psmt.setInt(7, BookCount()); psmt.setString(8, Image()); psmt.setString(9, Info()); psmt.setInt(10, Id()); flag = psmt.executeUpdate(); } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); } return flag > 0 ? true : false; } 4、 提交的东西不能更改写出商品添加的Servlet else if (("type")[0].equals("update")) { String id = Parameter("id"); // 1.接收表单参数 String name = Parameter("bName"); String type = Parameter("bType"); String price = Parameter("bPrice"); String author = Parameter("bAuthor"); String publicDate = Parameter("bDate"); String press = Parameter("bPress"); String count = Parameter("bCount"); String image = Parameter("bImage"); if (image == null || image.equals("")) { image = Parameter("image"); } else image = "images/bookImg/" + image; String info = Parameter("bInfo"); // 2.封装Book对象 Book book = new Book(); book.setId(Integer.parseInt(id)); book.setAuthor(author); book.setBookCount(Integer.parseInt(count)); book.setImage(image); book.setInfo(info); book.setName(name); book.setPress(press); book.setPrice(Double.parseDouble(price)); book.setPublicDate(publicDate); book.setType(type); // 3.调用BookOpr的修改方法 flag = bo.update(book); // 4.根据结果显示页面 if (flag) { nextPage = "BookServlet?type=list"; } else { out.print("<h3>修改失败,请重试!</h3>"); } } | |||||
五、实验中遇到的问题及解决方法 | |||||
不能执行查询 查询出现错误 原因: 数据库中表的问题,比如列名不存在,数据库未添加,未发布 | |||||
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论