发表于: 2020-11-30 23:31:26

1 1370




今天完成的事情:




Java的基复习接口和继承



补充:
继承:
* 1.Java可以向上转型(子类可转成父类),但是无法想下转型(父类不能转成子类)。
为什么呢?
因为子类的功能一般比父类多,转成父类,那些多的功能没办法消失,所以转型的过程中可能会失败,报错。
为了避免向下转型出错,Java提供了instanceof操作符,可以先判断一个实例究竟是不是某种类型
写了一个多态
/**
编写一个有普通收入、工资收入和享受国务院特殊津贴的小伙伴算税:
会根据创建的对象不同,自动调用不同方法
*/
public class PolymorphicDemo {
public static void main(String[] args) {
Income[] incomes = new Income[]{
new Income(3000),//返回income * 0.1,故值为300
new Salary(7500),//返回(income - 5000) * 0.2,值为500,但加上300,最终结果为800
new StateCouncilSpecialAllowance(15000)//return 0;,本来结果为0,加上800,所以最终结果是800
};
System.out.println(totalTax(incomes));//800
}
public static double totalTax(Income... incomes){
double total = 0;
for (Income income : incomes){
total = total + income.getTax();
System.out.println(total);
}
return total;
}
static class Income{
//protected 子类可以访问
protected double income;
public Income(double income){
this.income = income;
}
public double getTax(){
return income 0.1// 税率10%
}
}
static class Salary extends Income{
public Salary(double income){
super(income);
}
@Override
public double getTax(){
if (income <= 5000){
return ;
}
return (income 5000) * 0.2;
}
}
static class StateCouncilSpecialAllowance extends Income{
public StateCouncilSpecialAllowance(double income){
super(income);
}
@Override
public double getTax(){
return 0;
}
}
}
结果:




======================




1.查看接口定义格式,分别给出CRUD的接口文档格式

新增用户

请求接口:POST  /api/v1/user/add
请求参数:

字段
说明
类型
备注
是否必填
id
int
用户ID
studentId
int
学号
name
varchar
名字
gender
tinyint
性别
birthday
date
生日
created_time
timestamp
创建时间
updated_time
timestamp
修改时间

返回参数:

字段
说明
类型
备注
是否必填
code
code码
number
是否必填
message
返回信息
String

根据用户ID和学号查找用户
请求接口:GET   /api/v1/user/list/{id}  | |  {studentId}
请求参数:

字段
说明
类型
备注
是否必填
id
int
用户ID
studentId
int
学号

返回参数:

字段
说明
类型
备注
是否必填
code
code码
number
是否必填
message
返回信息
String

剩下的删除和修改,没有放出来



======================





查看自己之前的日报(11.11~11.16)




1.今天我们访问网站都是通过Browser(浏览器)/Server(服务器)模式,这个模式来实现的。


浏览器发送一个URL(这就是网址吧)请求到服务器,服务器生成HTML网页(不过HTML因为是静态的,无法交互,现在都使用jsp,在数据库修改可以看见

这个中间是通过HTTP协议,先建立TCP连接,然后发送请求,等待服务器生成HTML网页,然后收到HTTP响应


想到自己是在本地通过运行Tomcat,然后它会自动出来一个网页,是我对tomcat发出请求,然后它通过spring-mvc出现一个网页

本地——浏览器,这中间的过程是什么?


tomcat,spring-mcv,jsp,数据库在这个其中各自的作用是什么?


这个过程应该是spring-mcv,通过dao从数据库获取数据,然后把数据给jsp,jsp通过tomcat去打开一个网页。从jsp到tomcat在到浏览器这个过程是怎么实现的?




而自动出现是这个网址,


http://localhost:8080/SpringMVCone_war_exploded/Student/getAllStudent


直接打开jsp,无法出现内容,是因为它没有经过JDK编译后把内容发给客户端去显示,是因为没有这个编译的过程,所以直接打开jsp,无法出现内容





在后面加上/Student/getAllStudent   也无法显示类容






======================




3.根据接口文档,使用Spring Rest 编写对应的Controller,日志记录接收参数后,暂时不用写业务逻辑,直接返回JSP,直接用Json Tag-lib 生成假数据


Rest是啥?  Json是啥?   假数据又是什么东西?


1.rest (就是之前看的rest风格,对应接口文档应该就是这个:请求接口:POST  /api/v1/user/add 
REST即表述性状态传递(英文:Representational State Transfer,简称REST
用URL定位资源,用HTTP描述操作

比如,我们有一个friends接口,对于“朋友”我们有增删改查四种操作,怎么定义REST接口?
增加一个朋友,uri: generalcode.cn/v1/friends 接口类型:POST
删除一个朋友,uri: generalcode.cn/va/friends 接口类型:DELETE
修改一个朋友,uri: generalcode.cn/va/friends 接口类型:PUT

查找朋友,uri: generalcode.cn/va/friends 接口类型:GET
反例:generalcode.cn/va/deleteFriends 该接口用来表示删除朋友,这就是不符合REST协议的接口。
好处:前后端分离。
前端拿到数据只负责展示和渲染,不对数据做任何处理。

后端处理数据并以JSON格式传输出去,定义这样一套统一的接口,在web,ios,android三端都可以用相同的接口,



2.json  http://www.json.org/json-zh.html  ( 在JSON出现之前,大家一直用XML来传递数据。因为XML是一种纯文本格式,所以它适合在网络上交换数据。所以JSON是用来代替XML的?
JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式。
JSON建构于两种结构:
1)“名称/值”对的集合(A collection of name/value pairs)。
不同的语言中,它被理解为对象(object),纪录(record),结构(struct),字典(dictionary),哈希表(hash table),有键列表(keyed list),或者关联数组 (associative array)。 

2)值的有序列表(An ordered list of values)。在大部分语言中,它被理解为数组(array)。



======================



学习SpringMVC
SpringMVC的常用注解
1、@Controller  (表明这是一个控制类
   在SpringMVC 中提供了一个非常简便的定义Controller 的方法,只需使用@Controller 标记一个类是Controller 
2.@RequestMapping
一个用来处理请求地址映射的注解,可用于类或方法上。用于类上,表示类中的所有响应请求的方法都是以该地址作为父路径
3、@Resource和@Autowired
@Resource和@Autowired都是做bean的注入时使用,其实@Resource并不是Spring的注解,它的包是javax.annotation.Resource,需要导入,但是Spring支持该注解的注入
4.@PathVariable
用于将请求URL中的模板变量映射到功能处理方法的参数上,即取出uri中的变量作为参数
5.@requestParam主要用于在SpringMVC后台控制层获取参数
6.@ResponseBody  该注解用于将Controller的方法返回的对象 一般在返回的数据不是html标签的页面,而是其他某种格式的数据时(如json、xml等)使用;

7.@Repository 用于注解dao层,在daoImpl类上面注




明天计划的事情:

编写spring-mvc的代码,



遇到的问题:

以上




收获:

以上



任务进度:任务2步骤 3
任务开始时间:2020-11-30
预计结束时间:2020-12-20



返回列表 返回列表
评论

    分享到