Web课设总结.docx

上传人:牧羊曲112 文档编号:3168894 上传时间:2023-03-11 格式:DOCX 页数:19 大小:42.84KB
返回 下载 相关 举报
Web课设总结.docx_第1页
第1页 / 共19页
Web课设总结.docx_第2页
第2页 / 共19页
Web课设总结.docx_第3页
第3页 / 共19页
Web课设总结.docx_第4页
第4页 / 共19页
Web课设总结.docx_第5页
第5页 / 共19页
亲,该文档总共19页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《Web课设总结.docx》由会员分享,可在线阅读,更多相关《Web课设总结.docx(19页珍藏版)》请在三一办公上搜索。

1、Web课设总结图书添加 创建Web项目,通过JDBC实现图书信息添加功能。 (1)在数据库中创建图书信息表tb-books (2)创建名称为Book的类,用于封装图书对象信息。关键代码如下: package com.lyq.bean; public class Book / 编号 private int id; / 图书名称 private String name; / 价格 private double price; / 数量 private int bookCount; / 作者 private String author; public int getId return id; publ

2、ic void setId(int id) this.id = id; public String getName return name; public void setName(String name) this.name = name; public double getPrice return price; public void setPrice(double price) this.price = price; public int getBookCount return bookCount; public void setBookCount(int bookCount) this

3、.bookCount = bookCount; public String getAuthor return author; public void setAuthor(String author) this.author = author; 创建index.jsp页面,用于放置添加图书信息所需的表单,该表单提交到AddBook.jsp页面进行处理。关键代码如下: 添加图书信息 function check(form) with(form) if(name.value = ) alert(图书名称不能为空); return false; if(price.value = ) alert(价格不

4、能为空); return false; if(author.value = ) alert(作者不能为空); return false; return true; 添加图书信息 图书名称: 价 格: 数 量: 作 者: 创建AddBook.jsp页面,用于对添加图书信息请求进行处理,该页面通过JDBC所提交的图书信息数据写入数据库中。关键代码如下: 添加结果 0) / 更新成输出信息 out.print(成功添加了 + row + 条数据!); / 关闭PreparedStatement,释放资源 ps.close; / 关闭Connection,释放资源 conn.close; catch

5、(Exception e) out.print(图书信息添加失败!); e.printStackTrace; % 返回 信息分页查询 通过MySQL数据库提供的分页机制,实现商品信息的分页查询功能,将分页数据显示在JSP页面中 (1)创建名称为Product的类,用于封装商品信息,该类是商品信息的JavaBean。关键代码如下: package com.lyq.bean; /* * 商品 * */ public class Product public static final int PAGE_SIZE = 2; / 编号 private int id; / 名称 private Strin

6、g name; / 价格 private double price; / 数量 private int num; / 单位 private String unit; public int getId return id; public void setId(int id) this.id = id; public String getName return name; public void setName(String name) this.name = name; public double getPrice return price; public void setPrice(doubl

7、e price) this.price = price; public int getNum return num; public void setNum(int num) this.num = num; public String getUnit return unit; public void setUnit(String unit) this.unit = unit; 创建名称为BookDao类,主要用于封装商品对象的数据库相关操作。在ProductDao类中,首先编写GetConnection方法,用于创建数据库连接Connection对象,其关键代码如下: package com.l

8、yq.bean; import java.sql.Connection; import java.sql.DriverManager; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Statement; import java.util.ArrayList; import java.util.List; /* * 商品数据库操作 */ public class BookDao /* * 获取数据库连接 * return Con

9、nection对象 */ public Connection getConnection / 数据库连接 Connection conn = null; try / 加载数据库驱动,注册到驱动管理器 Class.forName(com.mysql.jdbc.Driver); / 数据库连接字符串 String url = jdbc:mysql:/localhost:3306/db_database10; / 数据库用户名 String username = root; / 数据库密码 String password = 111; / 创建Connection连接 conn = DriverMa

10、nager.getConnection(url,username,password); catch (ClassNotFoundException e) e.printStackTrace; catch (SQLException e) e.printStackTrace; / 返回数据库连接 return conn; /* * 分页查询所有商品信息 * param page 页数 * return List */ public List find(int page) / 创建List List list = new ArrayList; / 获取数据库连接 Connection conn =

11、 getConnection; / 分页查询的SQL语句 String sql = select * from tb_product order by id desc limit ?,?; try / 获取PreparedStatement PreparedStatement ps = conn.prepareStatement(sql); / 对SQL语句中的第1个参数赋值 ps.setInt(1, (page - 1) * Product.PAGE_SIZE); / 对SQL语句中的第2个参数赋值 ps.setInt(2, Product.PAGE_SIZE); / 执行查询操作 Resu

12、ltSet rs = ps.executeQuery; / 光标向后移动,并判断是否有效 while(rs.next) / 实例化Product Product p = new Product; / 对id属性赋值 p.setId(rs.getInt(id); / 对name属性赋值 p.setName(rs.getString(name); / 对num属性赋值 p.setNum(rs.getInt(num); / 对price属性赋值 p.setPrice(rs.getDouble(price); / 对unit属性赋值 p.setUnit(rs.getString(unit); / 将P

13、roduct添加到List集合中 list.add(p); / 关闭ResultSet rs.close; / 关闭PreparedStatement ps.close; / 关闭Connection conn.close; catch (SQLException e) e.printStackTrace; return list; /* * 查询总记录数 * return 总记录数 */ public int findCount / 总记录数 int count = 0; / 获取数据库连接 Connection conn = getConnection; / 查询总记录数SQL语句 Str

14、ing sql = select count(*) from tb_product; try / 创建Statement Statement stmt = conn.createStatement; / 查询并获取ResultSet ResultSet rs = stmt.executeQuery(sql); / 光标向后移动,并判断是否有效 if(rs.next) / 对总记录数赋值 count = rs.getInt(1); / 关闭ResultSet rs.close; / 关闭Connection conn.close; catch (SQLException e) e.printSt

15、ackTrace; / 返回总记录数 return count; (3)创建名称为FindServlet的类,该类是分页查询商品信息的Servlet对象。在FindServlet类中重写doGet方法,对分页请求进行处理,其关键代码如下: package com.lyq.servlet; import java.io.IOException; import java.util.List; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.

16、HttpServletRequest; import javax.servlet.http.HttpServletResponse; import com.lyq.bean.Product; import com.lyq.bean.BookDao; /* * Servlet implementation class FindServlet */ public class FindServlet extends HttpServlet private static final long serialVersionUID = 1L; protected void doGet(HttpServlet

17、Request request, HttpServletResponse response) throws ServletException, IOException / 当前页码 int currPage = 1; / 判断传递页码是否有效 if(request.getParameter(page) != null) / 对当前页码赋值 currPage = Integer.parseInt(request.getParameter(page); / 实例化ProductDao BookDao dao = new BookDao; / 查询所有商品信息 List list = dao.fin

18、d(currPage); / 将list放置到request之中 request.setAttribute(list, list); / 总页数 int pages ; / 查询总记录数 int count = dao.findCount; / 计算总页数 if(count % Product.PAGE_SIZE = 0) / 对总页数赋值 pages = count / Product.PAGE_SIZE; else / 对总页数赋值 pages = count / Product.PAGE_SIZE + 1; / 实例化StringBuffer StringBuffer sb = new

19、StringBuffer; / 通过循环构建分页条 for(int i=1; i = pages; i+) / 判断是否为当前页 if(i = currPage) / 构建分页条 sb.append( + i + ); else / 构建分页条 sb.append( + i + ); / 构建分页条 sb.append( ); / 将分页条的字符串放置到request之中 request.setAttribute(bar, sb.toString); / 转发到product_list.jsp页面 request.getRequestDispatcher(product_list.jsp).f

20、orward(request, response); 创建product_list.jsp页面,该页面通过获取查询结果集List与分页条来分页显示商品信息数据,其关键代码如下: 所有商品信息 tdfont-size: 12px; h2margin: 0px 所有商品信息 ID 商品名称 价格 数量 单位 % List list = (List)request.getAttribute(list); for(Product p : list) % (5)编写程序中的主页面index.jsp,在该页面中编写分页查询商品信息的超链接,指向FindServlet。其关键代码如下: 主页 查看所有商品信

21、息 注册页面设计 新建Web项目,新建reguser1.jsp页面,主要用于注册页面的显示,将该表单提交到reguser2.jsp页面进行处理。主要代码如下: function check var b=/A-Za-zA-Za-z0-9_5,19$/; if(!b.test(document.getElementById(user_name).value) alert(用户名非法); return false; 注册页面 新用户注册 请准确填写您的个人信息,以便我们更好地为您服务,Thanks! 注册信息 用户名: * 密码:  * 密码确认:  * 创建名为reguser2.jsp页面,该页面主要用于显示从reguser1.jsp提交过来的注册信息,主要代码如下: base href= My JSP reguser2.jsp starting page !- - 欢迎您!您已成功注册成为本站会员! 你的注册信息 您的用户名: 创建名为servlet的serlet文件,主要代码如下: package servlet; import java.io.IOException; import java.io.PrintWriter; import javax.servle

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号