今天完成:
1—今天自学了一波继承和构造器方法:
(1)extends是继承的关键字,子类继承父类的变量和方法,这些方法和变量不用再在子类中定义。
(2)构造器方法:就是在pojo类里边定义并且与类名相同的方法。构造器方法只能与new使用,即不能用构造器方法将一个已经存在的实例重新定义。
(3)子类在定义构造器方法时,因为子类无法访问父类的私有域,所以必须先使用父类中的构造器方法对私有域进行初始化,我们可以通过super方法实现对超类构造器的调用。而且使用super调用构造器的语句必须是子类构造器的第一条语句。
(4)例子如下:
我有一个animal类,一个giraffe类,giraffe继承自animal类,animal有一个构造器方法,giraffe有一个构造器方法。在写giraffe的构造器的时候,只能先用super调用父类中的构造器,然后再给子类特有的变量赋值。反过来,就会报错。如下图。
2---完成之前SSMProject工程的查找功能。
(1)我理解的这个过程是:页面输入一个id号码(已经实现);页面将这个id号码传给controller类(没有完成);controller通过MyBatis查询数据库(基本实现);controller将查询结果发送给页面(没有实现)。
(2)HTML标签:
(2.1)<form>标签用于为用户输入创建HTML表单,包含以下元素:
input元素,input元素可以提供文本字段、复选框、单选框、提交按钮等,其中文本字段、复选框、单选框、提交按钮这些的具体用法在之前做的程序中用过。
label元素,label元素是针对鼠标用户改进了可用性,不会呈现任何特殊效果。我测试了一下,有label标签时,鼠标放在文字上边显示正常箭头,没有label标签时,鼠标放在上边显示的是I的形状。其他区别没有发现。
(2.2)<a>标签定义超链接,用于从一张页面链接到另一张页面。<a>元素最重要的属性是href属性,它指示链接的目标。如果href=“#”,则点击后会跳到页面最顶端;如果href=“cdsn/java.txt”,即超链接指向站点内的一个文件,则点击之后会下载该文件。
(3)顺利实现在另一个页面显示查询结果,效果如下图:
在listCategory.jsp页面加入如下语句
<form method="get" action="getCategoryById">查找:<input name="id" value="" type="text"><br><br>
<input type="submit" value="开始查找">
</form>
当页面输入一个id值并点击“开始查找”按钮之后,页面会按照action的设定,跳转到getCategoryById页面。如图
对应到controller类中的语句是:
页面输入到id值赋值给这个语句的参数int id;
通过id查找到了一个Category类对象cg;
通过mav.addObject(“cg”,cg);这个语句,将找到的cg传到页面;
通过mav.setViewName(“getCategoryById”);语句,将页面跳转到getCategoryById页面;
通过getCategoryById.jsp页面中的
<form>
<tr>
<td>${cg.id}</td>
<td>${cg.name}</td>
</tr>
</form>
语句,将cg这个对象的信息打印到页面上。
(4)在getCategoryById.jsp页面中,也设置了一个搜索窗口,将id信息输入,可以在本页显示查询结果。如图

3---ajax方法实现RESTful风格的增删改查:
(1)ajax是一种能够实现更新部分页面的技术,使用ajax首先需要.js配置文件:

(2)今天在师兄的指导下,只用ajax实现了delete功能,update和add还是用的之前已经完成过的方法。delete功能:当点击删除按钮时,启动ajax程序的confirm对话框,询问是否删除,点击是,则执行controller中的delete功能。controller将删除发送给ajax语句,当得到删除成功的信息时,ajax语句执行location.reload()语句,重新加载页面,可以立马看到删除之后的页面。ajax页面的语句部分见下图。

明天计划:
完成RESTful接口和postman测试。争取后天结束任务二。
遇到问题:
今天遇到的问题就是不会使用ajax语句,按照例子写了程序却跑不通。后来师兄帮忙解决了,主要原因是没有配置.js文件。
收获:
跑通了一个ajax程序。
评论