一、导出和导入
参考老师给的教程:导出和导入
原因:避免web.xml相互影响导致找不到文件路径和不能正常运行
结果如上图,不小心把服务器也导出了,之前都没注意到服务器是单独成一个文件夹的!
但是问题不大,操作完成后工作台里还是仍然存在已经被导出的项目
二、创建购物车代码学习
首先回顾一下项目结构
package bean;
public class Product {
private int id;
private String name;
private float price;
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 float getPrice() {
return price;
}
public void setPrice(float price) {
this.price = price;
}
}
定义了数据类型、数据名称和封装方法
ProductDao代码太多了,就学一点看一点吧
提示:以下内容不保证正确性,没经过证实,纯个人想法!!!!!!!!!!!!
首先需要了解的是,这个文件里的代码是查询Product文件的(嗯嗯这个是教程的原话)
主函数中的内容:输出ProductDao里ListProduct中的size()
我一开始以为size()是嵌套的一个方法,但是在浏览全部后发现并没有定义它,所以应该是一个函数?
size()方法最后要找的是数组的length属性,不知道这样理解是不是对的,为什么要最终输出长度呢?
先放一下吧
再看try里面的内容
首先是确定账号密码,和数据库建立连接
然后定义sql是按照降序排列查找product表里的所有数据,即下图所示
ResultSet 作用:这是一个链接
那意思就很明显了,就是找到数据、使用方法并返回存储
对结尾的这个return有疑问,products是什么,为什么加了个s?
看到下面就解惑了
在这个文件中定义了products对象,并且实现传值
getRequestDispatcher():实现跳转,就是跳转到listProduct.jsp
forward是转向,将现在的请求转交,他只能在同一个容器里使用同时保存客户的请求状态
回到之前的问题,最终输出的size()是什么?
ProductDAO中最后尝试的是返回products,products是ListProduct的实例化,也就是一个存放数据的表单
products中的表中数据每一行为一个,size()就是输出整体长度也就是全部数据,所以最后输出的应该就是表中数据?也符合教程的逻辑
回看ProductDAO中上图的代码,更加确定了,对象product中存放数据,并存入表单products中
但是细节还是懵懵的,两个文件互相传输再加上jsp页面有点复杂了
然后最后的jsp文件,要求学习一下标签库
分成两个部分进行观察
第一部分:最基础的html知识,创建了一个表格,然后有第一行的标题,问题主要出现在第二部分
参考:JSTL数据库
迭代标签:forEach
varStatus后的st应该是status的缩写,标准是这样,不用管
items是项目的意思,products是我们创建的表单实体,意思应该是在这个里面操作
var具体是什么不懂,但是猜测应该是连接的数据表
然后$这个符号应该没有具体含义,只是标记的意思?就是正常存入id、name和价格
然后又创建了一个表单(form),规定行为出于哪里,方式是post
根据显示结果来对应,先是“数量”,然后文本框并初始内容为1,然后有个hidden类型,再是提交按钮购买
没有感觉到哪里运用到标签了,貌似是按照顺序自动存入数据?不知道是不是JSTL标签才实现,总之解读先到这里,五一快乐!
本次用时:4小时