已阅读5页,还剩13页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
主要代码说明新建WEB 项目1. 在src目录下建包2. 在com.db包下建DBConn.java文件,功能是连接数据库,主要代码如下:public static Connection getConnection() String driver=com.microsoft.jdbc.sqlserver.SQLServerDriver; String url=jdbc:microsoft:sqlserver:/localhost:1433;DatabaseName=shopping; String username=sa; String password=123456; Connection conn = null;tryClass.forName(driver); /调入驱动conn = DriverManager.getConnection(url,username,password);/连接数据库System.out.println(连接成功);catch(Exception ex)System.out.println(连接失败:+ex.getMessage();return conn;3. 用main函数测试是否连接成功一、 新建servlet类,类名为RegSave.java文件,web.xml配置如下 RegSave com.servlet.RegSave RegSave /servlet/RegSave在doPost函数中实现注册功能二、 新建reg.jsp文件Action=”/servlet/RegSave”为RegSave.java文件配置的URL地址 用户名: 密码: 确认密码: 真实姓名: 邮件地址: 联系电话: 联系地址: 身份: 注册用户 管理员 修改密码思路:1 判断用户是否登录,若未登录重定向到登录页面2 判断旧密码和用户密码是否准确,用户名从session.getAttribute(“username”), 与登录语句类似3 修改密码,update 用户 set 密码=新密码 where 用户名= session.getAttribute(“username”)具体实现:1 直接重定向到另一个JSP页面2 重定向到Servlet3 修改成功后回到管理中心页面修改用户资料:思路:1 判断用户是否登录,若未登录重定向到登录页面2 查询用户资料,显示到控件中,用户名从session.getAttribute(“username”),必须显示用户名,但不允许修改3 修改资料(主键,用户名,密码字段不允许修改),其它字段都可以修改4 修改完成后返回管理中心具体实现:5 直接重定向到另一个JSP页面,修改数据6 重定向到Servlet修改数据7 修改成功后回到管理中心页面图书类别管理要求:1.定义一个javabean保存数据,一个servlet控制流程2.点击菜单图书分类显示列表页面,点击新增链接到新增页面,点击修改进入servlet取数据,然后再重定向到修改页面;选择了删除进入servlet做删除操作,删除成功后重定向到列表页面.3.使用标签实现图书管理思路:1. 加入文件上传的包()2. 做新增图书的页面,要加载图书分类的数据到下拉框,第二表单必须加入enctype属性,enctype=multipart/form-data3. 创建上传文件的servlet,参考Upload.java;1 获取普通控件的值:while(it.hasNext()FileItem fileItem = (FileItem) it.next();/如果是普通字段if(fileItem.isFormField() String itmevale = new String(fileItem.getString().getBytes(iso8859-1), gb2312);if(fileItem.getFieldName().equals(bookName)/书名book.setBookName(itmevale);else if(fileItem.getFieldName().equals(booktype)/类别book.setBookTypeID(itmevale);else if(fileItem.getFieldName().equals(author)/作者book.setAuthors(itmevale);else if(fileItem.getFieldName().equals(bookresume)/描述book.setResume(itmevale);else if(fileItem.getFieldName().equals(bookchapter)/章节book.setChapter(itmevale);else if(fileItem.getFieldName().equals(marketPrice)/市场价book.setPrice(itmevale);else if(fileItem.getFieldName().equals(discountPrice)/优惠价book.setDiscount(itmevale);else if(fileItem.getFieldName().equals(publisher)/出版社book.setPublisher(itmevale);2 获取文件控件的值if(fileItem.getName()!=null & fileItem.getSize()!=0)String path = request.getRealPath(/bookpic) + /; 保存目录java.util.Date date = new java.util.Date();/获取系统时间String strfile = date.toLocaleString();/生成字符串 /2012-6-14 15:05:10strfile = strfile.replace(:, );/删除:strfile = strfile.replace(-, );/删除-strfile = strfile.replace( , );/删除空格int pos = fileItem.getName().indexOf(.); strfile += fileItem.getName().substring(pos);/获取扩展名book.setPic(strfile);path += strfile;/生成目录和文件名File newFile = new File(path);3 保存数据com.bean.Books.Add(book);/保存数据/显示列表List list = new ArrayList();list = Books.findByAll(); /查询数据request.setAttribute(books, list);request.getRequestDispatcher(./BookList.jsp).forward(request, response);4 列表页面 作者 出版社 市场价 优惠价 $book.authors $book.publisher $book.price $book.discount $book.bookName 新增 修改 删除 4. JAVABEANpublic class Books private String bookID;private String bookTypeID;private String bookName;private String authors;private String publisher;private String resume;private String chapter;private String pic;private String price;private String discount;5. 新增图书Add()public static int Add(Books book)int ok=0;tryConnection conn = com.db.DBConn.getConnection();Statement stmt = conn.createStatement();String sql = insert into Books(BookTypeID,BookName,Authors,publisher,Resume,chapter,pic,Price,Discount) values(;sql += book.getBookTypeID() + , + book.getBookName() + ,;sql += book.getAuthors() + , + book.getPublisher() + ,;sql += book.getResume() + , + book.getChapter() + ,;sql += book.getPic() + , + book.getPrice() + ,;sql += book.getDiscount() + );ok = stmt.executeUpdate(sql);catch(Exception ex)System.out.println(ex.getMessage();return ok;6. 查询所有图书findByAll()public static List findByAll()List list = new ArrayList();tryConnection conn = com.db.DBConn.getConnection();Statement stmt = conn.createStatement();String sql = select * from books order by BookID;Books book = null;ResultSet rs = stmt.executeQuery(sql);while(rs.next()book = new Books();book.setBookID(rs.getString(BookID);book.setBookTypeID(rs.getString(BookTypeID);book.setBookName(rs.getString(BookName);book.setAuthors(rs.getString(Authors);book.setPublisher(rs.getString(publisher);book.setResume(rs.getString(Resume);book.setChapter(rs.getString(chapter);book.setPic(rs.getString(pic);book.setPrice(rs.getString(Price);book.setDiscount(rs.getString(Discount) ;list.add(book);catch(Exception ex)System.out.println(ex.getMessage();return list;图书查询1.修改了head.jsp页面form name=form1 method=post action=servlet/Upload?action=find&id= 2.进入Upload servletif(action.equals(find)List list = new ArrayList();list = Books.findByName(request.getParameter(search),request.getParameter(id);request.setAttribute(books, list);List list1 = new ArrayList(); list1 = com.bean.BooksType.findByAll(); /查询图书分类的代码request.setAttribute(bookType, list1);System.out.println(list1.size()= + list1.size();request.getRequestDispatcher(./find.jsp).forward(request, response);3.在BooksType中增加findByAll()函数查询所有的图书分类资料public static List findByAll()List list = new ArrayList();tryString sql = select * from booktype order by booktypeid;Connection conn = com.db.DBConn.getConnection();Statement stmt = conn.createStatement();ResultSet rs = stmt.executeQuery(sql);BooksType books = null;while(rs.next()books = new BooksType();books.setBooktypeid(rs.getString(booktypeid);books.setBooktypename(rs.getString(booktypename);books.setDemo(rs.getString(demo);list.add(books);catch(Exception ex)System.out.println(ex.getMessage();return list;4. 在find.jsp页面中显示 a href=servlet/Upload?action=find&id=$btype.booktypeid$btype.booktypename 5. 调用Books类的findByname函数(搜索和图书分类的链接地址一样)public static List findByName(String bookName,String booktypeid)List list = new ArrayList();tryConnection conn = com.db.DBConn.getConnection();Statement stmt = conn.createStatement();String sql = select * from books order by bookid;if(bookName != null & !bookName.equals() /按图书名称模糊查询 sql = select * from books where bookName like % +bookName + %;if(booktypeid != null & !booktypeid.equals()/按分类进行查询sql = select * from books where BookTypeID= +booktypeid;/System.out.println(sql);Books book = null;ResultSet rs = stmt.executeQuery(sql);while(rs.next()book = new Books();book.setBookID(rs.getString(BookID);book.setBookTypeID(rs.getString(BookTypeID);book.setBookName(rs.getString(BookName);book.setAuthors(rs.getString(Authors);book.setPublisher(rs.getString(publisher);book.setResume(rs.getString(Resume);book.setChapter(rs.getString(chapter);book.setPic(rs.getString(pic);book.setPrice(rs.getString(Price);book.setDiscount(rs.getString(Discount) ;list.add(book);catch(Exception ex)System.out.println(ex.getMessage();return list;6. 图书详情servlet/Upload?action=detail&id=1/和之前做的action=update的代码类似if(action.equals(detail)Books book = Books.findByID(request.getParameter(id);request.setAttribute(book, book);request.getRequestDispatcher(./BookDetail.jsp).forward(request, response);public static Books findByID(String bookid)Books book = new Books();tryConnection conn = com.db.DBConn.getConnection();Statement stmt = conn.createStatement();String sql = select * from books where bookid= + bookid;/System.out.println(sql);ResultSet rs = stmt.executeQuery(sql);if(rs.next()book.setBookID(rs.getString(BookID);book.setBookTypeID(rs.getString(BookTypeID);book.setBookName(rs.getString(BookName);book.setAuthors(rs.getString(Authors);book.setPublisher(rs.getString(publisher);book.setResume(rs.getString(Resume);book.setChapter(rs.getString(chapter);book.setPic(rs.getString(pic);book.setPrice(rs.getString(Price);book.setDiscount(rs.getString(Discount) ;catch(Exception ex)System.out.println(ex.getMessage();return book;购物车在ShopCar.jsp中显示效果1、 创建Orders 类/处理订单数据public class Orders private String orderID; /订单编号 private String userName; /用户名private String orderTime; /订单时间private String realName; /真实姓名private String tel; /电话private String addr; /地址private String postcode; /邮编private String sendType; /邮寄类型private String paidType;/付款类型private String orderStatus;/订单状态00-购物车;01-订单;02-付款;03-发货;04-收货函数省略/新增订单public static int Add(Orders order)int ok=0;tryConnection conn = com.db.DBConn.getConnection();Statement stmt = conn.createStatement();/查询用户资料String sql =select * from 用户 where 用户名= + order.getUserName() + ;ResultSet rs = stmt.executeQuery(sql);if(rs.next()order.setRealName(rs.getString(真实姓名);order.setTel(rs.getString(联系电话);order.setAddr(rs.getString(联系地址);order.setPostcode(342700);order.setSendType(邮寄);order.setPaidType(网上支付);order.setOrderStatus(00);/购物车内的状态/查询购物车信息sql = select * from Orders where username= + order.getUserName() + and orderStatus=00;rs = stmt.executeQuery(sql);if(!rs.next() /如果有作修改操作sql = insert into Orders(userName,realName,tel,addr,postcode,sendType,paidType,orderStatus) values(;sql += order.getUserName() + ,;sql += order.getRealName() + ,;sql += order.getTel() + ,;sql += order.getAddr() + ,;sql += order.getPostcode() + ,;sql += order.getSendType() + ,;sql += order.getPaidType() + ,;sql += order.getOrderStatus() + );System.out.println(sql);ok = stmt.executeUpdate(sql);catch(Exception ex)System.out.println(ex.getMessage();return ok;/查找订单public static Orders findByAll(Orders order)tryConnection conn = com.db.DBConn.getConnection();Statement stmt = conn.createStatement();String sql = select * from Orders where username= + order.getUserName() + and orderStatus= + order.getOrderStatus() + ;ResultSet rs = stmt.executeQuery(sql);if(rs.next()order.setOrderID(rs.getString(orderID);order.setOrderTime(rs.getString(orderTime);order.setRealName(rs.getString(realName);order.setTel(rs.getString(tel);order.setAddr(rs.getString(addr);order.setPostcode(rs.getString(postcode);order.setSendType(rs.getString(sendType);order.setPaidType(rs.getString(paidType);catch(Exception ex)System.out.println(ex.getMessage();return order;/更新订单public static int update(Orders order)int ok=0;tryConnection conn = com.db.DBConn.getConnection();Statement stmt = conn.createStatement();/更新订单数据String sql = update Orders set realName=+ order.getRealName() + ,;sql += tel= + order.getTel() + ,;sql += addr= +order.getAddr() + ,; sql += postcode=+order.getPostcode() + ,; sql += sendType= + order.getSendType() + ,; sql += paidType= + order.getPaidType() + ,; sql += orderStatus=01 where orderID = + order.getOrderID(); /生成订单01 System.out.println(sql);ok = stmt.executeUpdate(sql);catch(Exception ex)System.out.println(ex.getMessage();return ok;2创建OrderDetail类/订单明细数据public class OrderDetail private String detailID; /明细主键private String orderID; /订单号private String bookID; /图书编号private String bookCount; /购买数量private String price; /购买价格private String bookName; /图书名称private String totalPrice; /小计 /部分函数省略/新增购买的图书资料public static int Add(OrderDetail detail)int ok=0;tryConnection conn = com.db.DBConn.getConnection();Statement stmt = conn.createStatement();String sql = ;sql = insert into OrderDetail(bookID,orderID,bookCount,price) values(;sql += detail.getBookID() + , ;sql += detail.getOrderID() + ,;sql += detail.getBookCount() + ,;sql += detail.getPrice() + );System.out.println(sql);ok = stmt.executeUpdate(sql);catch(Exception ex)System.out.println(ex.getMessage();return ok; /查找指定的订单明细public static List findByAll(String orderid)List list = new ArrayList();tryConnection conn = com.db.DBConn.getConnection();Statement stmt = conn.createStatement();String sql = select o.*,b.bookname,(bookcount*o.price)as totalprice from OrderDetail o left outer join books b on b.bookid=o.bookid where orderID= + orderid;ResultSet rs = stmt.executeQuery(sql);OrderDetail detail =null;while(rs.next()detail = new OrderDetail();detail.setDetailID(rs.getString(detailID);detail.setOrderID(rs.getString(orderID);detail.setBookID(rs.getString(bookID);detail.setBookCount(rs.getString(bookCount);detail.setPrice(rs.getString(price);detail.setBookName(rs.getString(bookName);detail.setTotalPrice(rs.getString(totalPrice);list.add(detail);catch(Exception ex)System.out.println(ex.getMessage();return list;3.创建servlet类ShopCarif(action.equals(add) /生成购物车(新增订单)String bookid = request.getParameter(bookid); /编号String bookPrice = request.getParameter(bookPrice); /价格Orders order = new Orders();order.setUserName(String)session.getAttribute(username);Orders.Add(order);/新增订单表order.setOrderStatus(00);order = Orders.findByAll(order); /查
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 医养养老院工作制度
- 医生办值班工作制度
- 医院肛肠科工作制度
- 医院内科科工作制度
- 医院董事会工作制度
- 十要十不准工作制度
- 单位洗车房工作制度
- 卫健委考核工作制度
- 卫生站统计工作制度
- 卫生院水电工作制度
- 健康生活常见传染病预防知识讲座
- 2023年电子科技大学辅导员招聘考试真题
- 人工智能训练师(5级)培训考试复习题库-上(单选题汇总)
- 过程能力测量报告 Cg Cgk
- 2023年沈阳市苏家屯区中心医院高校医学专业毕业生招聘考试历年高频考点试题含答案附详解
- von frey丝K值表完整版
- 暂估价说明概述
- GB/T 15171-1994软包装件密封性能试验方法
- 诊断学查体相关实验
- 《高等教育法规概论》练习题及答案(合集)
- 毕业设计论文-四足机器狗(吐血发布)
评论
0/150
提交评论