目录
1.java基础(io流)
2.web后台(jsp)
3.Servle
4 Spring
3.Servle
4 Spring
1.java基础(io流)
1.1:java 中有几种类型的流?JDK 为每种类型的流提供了一些抽象类以供继承,请说出 他们分别是哪些类
字节流,字符流。字节流继承于 InputStream OutputStream,字符流继承于 Reader ,Writer。在 java.io 包中还有许多其他的流,主要 是为了提高性能和使用方便。
读写图片案例:
FileInputStream inputStream = new FileInputStream("f:/1.png");
FileOutputStream OutputStream = new FileOutputStream("e:/1.png");
byte [] buf = new byte[1024];
while(true){
int len = inputStream.read(buf);
if(len==-1) {
break;
}
OutputStream.write(buf,0,len);
}
inputStream.close();
OutputStream.close();
}
1.2: 什么是 java 序列化,如何实现 java 序列化?
我们有时候将一个 java 对象变成字节流的形式传出去或者从一个字节流中恢复成一个 java 对象,例如,要将 java 对象存储到硬盘或者 传送给网络上的其他计算机,这个过程我们可以自己写代码去把一个 java 对象变成某个格式的字节流再传输,但是,jre 本身就提供了这种支持,我们可以调用 OutputStream 的 writeObject 方法来做,如果要让 java 帮我们做,要被传输的对象必须实现 serializable 接口, 这样,javac 编译时就会进行特殊处理,编译的类才可以被 writeObject 方法操作,这就是所谓的序列化。需要被序列化的类必须实现 Serializable 接口,该接口是一个 mini 接口,其中没有需要实现的方法,implements Serializable 只是为了标注该对象是可被序列化的。
2.web后台(jsp)
2.1:jsp九大内置对象
| 名称 | 作用 |
| request | 包含用户端请求的信息 |
| response | 包含服务器传回客户端的响应信息 |
| session | 与请求有关的会话期 |
| pageContext | 管理网页属性 |
| application | 服务器启动时创建,服务器关闭停止,为多个应用程序保存信息 |
| out | 向客户端输出数据 |
| config | servlet的架构部件 |
| page | 指网页本身 |
| exception | 针对错误页面才可以使用 |
| 名称 | url | 前缀 |
| 核心标签库(Core) | http://Java.sun.com/jsp/jstl/core | c |
| 国际化/格式化标签库(il8n) | http://java.sun.com/jsp/jstl/fmt | fmt |
| 数据库标签库吧(SQL) | http://java.sun.com/jsp/jstl/sql | sql |
| XML标签库(XML) | http://java.sun.com/jsp/jstl/xml | X |
| Functions标签库(Functions) | http://java.sun.com/jsp/jstl/functions | fn |
2.3:session与cookie的区别
session:服务端->安全/会占用大量空间
cookie:客户端->不安全/节省服务器的空间
2.4:JSP 的常用指令
(1)page 指令: 属性最多的指令(实际开发中 page 指令默认),属性最多的一个指令,根据不同的属性,指导整个页面特性
常用属性如下:
language:jsp 脚本中可以嵌入的语言种类,这个没用,写与不写一样的;
pageEncoding:当前 jsp 文件的本身编码---内部可以包含 contentType
contentType:response.setContentType(text/html;charset=UTF-8) import:导入 java 的包
errorPage:当前页面出错后跳转到哪个页面
isErrorPage:当前页面是一个处理错误的页面
(2)include 指令: 页面包含(静态包含)指令,可以将一个 jsp 页面包含到另一个 jsp 页面中
(3)taglib 指令: 在 jsp 页面中引入标签库(jstl 标签库、struts2 标签库)
3.servlet
3.1:Servlet概念&作用
运行在服务端的程序
处理请求,动态生成HTML返回客户查看页面效果
3.2:生命周期
init初始化->web.xml加载即调用,只会调用一次
service服务->请求到达服务端
->doget/dopost
destroy销毁->tomcat结束
3.3: 四大作用域
page、request、session、application
3.4: 转发与重定向
转发:地址栏不会改变,后台可携带参数到前台
重定向不能传递数据,地址栏会变化
3.5 session于cookie的区别
session:服务端
cookie: 服务端
相同:都可以保存数据
不同:
服务端:安全性高,占用大量的服务器资源
客户端:安全性低,占用少量内存
4 Spring
ioc:
控制反转,依赖注入
由原来程序员手段创建对象的权力,转交给Spring管理
优点:代码的维护性提高了
aop:
面向切面
代理 = 目标 + 通知
讲核心业务与非核心分离,使程序员将精力放到代码上
定义切面:* *..*.*service.*del(....)
定义通知:@around
设计模式
工厂模式:BeanFactory 就是简单工厂模式的体现,用来创建对象的实例
单例模式:Bean 默认为单例模式
代理模式:Spring的AOP 功能用到了JDK的动态代理和CGLIB字节码生成技术
模板方法:用来解决代码重复的问题,比如RestTemplate,JmsTemplate,JpaTemplate
观察者模式:定义对象键一种一对多的依赖关系,当一个对象的状态发生改变时,所有依赖于它的对象都会得到通知被 制动更新,如 Spring 中 listener 的实现--ApplicationListener
session:服务端->安全/会占用大量空间
cookie:客户端->不安全/节省服务器的空间
(1)page 指令: 属性最多的指令(实际开发中 page 指令默认),属性最多的一个指令,根据不同的属性,指导整个页面特性
常用属性如下:
language:jsp 脚本中可以嵌入的语言种类,这个没用,写与不写一样的;
pageEncoding:当前 jsp 文件的本身编码---内部可以包含 contentType
contentType:response.setContentType(text/html;charset=UTF-8) import:导入 java 的包
errorPage:当前页面出错后跳转到哪个页面
isErrorPage:当前页面是一个处理错误的页面
(2)include 指令: 页面包含(静态包含)指令,可以将一个 jsp 页面包含到另一个 jsp 页面中
(3)taglib 指令: 在 jsp 页面中引入标签库(jstl 标签库、struts2 标签库)
3.servlet
3.1:Servlet概念&作用
运行在服务端的程序
处理请求,动态生成HTML返回客户查看页面效果
3.2:生命周期
init初始化->web.xml加载即调用,只会调用一次
service服务->请求到达服务端
->doget/dopost
destroy销毁->tomcat结束
3.3: 四大作用域
page、request、session、application
3.4: 转发与重定向
转发:地址栏不会改变,后台可携带参数到前台
重定向不能传递数据,地址栏会变化
3.5 session于cookie的区别
session:服务端
cookie: 服务端
相同:都可以保存数据
不同:
服务端:安全性高,占用大量的服务器资源
客户端:安全性低,占用少量内存
4 Spring
ioc:
控制反转,依赖注入
由原来程序员手段创建对象的权力,转交给Spring管理
优点:代码的维护性提高了
aop:
面向切面
代理 = 目标 + 通知
讲核心业务与非核心分离,使程序员将精力放到代码上
定义切面:* *..*.*service.*del(....)
定义通知:@around
设计模式
工厂模式:BeanFactory 就是简单工厂模式的体现,用来创建对象的实例
单例模式:Bean 默认为单例模式
代理模式:Spring的AOP 功能用到了JDK的动态代理和CGLIB字节码生成技术
模板方法:用来解决代码重复的问题,比如RestTemplate,JmsTemplate,JpaTemplate
观察者模式:定义对象键一种一对多的依赖关系,当一个对象的状态发生改变时,所有依赖于它的对象都会得到通知被 制动更新,如 Spring 中 listener 的实现--ApplicationListener
运行在服务端的程序
处理请求,动态生成HTML返回客户查看页面效果
3.2:生命周期
init初始化->web.xml加载即调用,只会调用一次
service服务->请求到达服务端
->doget/dopost
destroy销毁->tomcat结束
3.3: 四大作用域
page、request、session、application
3.4: 转发与重定向
转发:地址栏不会改变,后台可携带参数到前台
重定向不能传递数据,地址栏会变化
3.5 session于cookie的区别
session:服务端
cookie: 服务端
相同:都可以保存数据
不同:
服务端:安全性高,占用大量的服务器资源
客户端:安全性低,占用少量内存
4 Spring
ioc:
控制反转,依赖注入
由原来程序员手段创建对象的权力,转交给Spring管理
优点:代码的维护性提高了
aop:
面向切面
代理 = 目标 + 通知
讲核心业务与非核心分离,使程序员将精力放到代码上
定义切面:* *..*.*service.*del(....)
定义通知:@around
设计模式
工厂模式:BeanFactory 就是简单工厂模式的体现,用来创建对象的实例
单例模式:Bean 默认为单例模式
代理模式:Spring的AOP 功能用到了JDK的动态代理和CGLIB字节码生成技术
模板方法:用来解决代码重复的问题,比如RestTemplate,JmsTemplate,JpaTemplate
观察者模式:定义对象键一种一对多的依赖关系,当一个对象的状态发生改变时,所有依赖于它的对象都会得到通知被 制动更新,如 Spring 中 listener 的实现--ApplicationListener
init初始化->web.xml加载即调用,只会调用一次
service服务->请求到达服务端
->doget/dopost
destroy销毁->tomcat结束
page、request、session、application
3.4: 转发与重定向
转发:地址栏不会改变,后台可携带参数到前台
重定向不能传递数据,地址栏会变化
3.5 session于cookie的区别
session:服务端
cookie: 服务端
相同:都可以保存数据
不同:
服务端:安全性高,占用大量的服务器资源
客户端:安全性低,占用少量内存
4 Spring
ioc:
控制反转,依赖注入
由原来程序员手段创建对象的权力,转交给Spring管理
优点:代码的维护性提高了
aop:
面向切面
代理 = 目标 + 通知
讲核心业务与非核心分离,使程序员将精力放到代码上
定义切面:* *..*.*service.*del(....)
定义通知:@around
设计模式
工厂模式:BeanFactory 就是简单工厂模式的体现,用来创建对象的实例
单例模式:Bean 默认为单例模式
代理模式:Spring的AOP 功能用到了JDK的动态代理和CGLIB字节码生成技术
模板方法:用来解决代码重复的问题,比如RestTemplate,JmsTemplate,JpaTemplate
观察者模式:定义对象键一种一对多的依赖关系,当一个对象的状态发生改变时,所有依赖于它的对象都会得到通知被 制动更新,如 Spring 中 listener 的实现--ApplicationListener
转发:地址栏不会改变,后台可携带参数到前台
重定向不能传递数据,地址栏会变化
session:服务端
cookie: 服务端
相同:都可以保存数据
不同:
服务端:安全性高,占用大量的服务器资源
客户端:安全性低,占用少量内存
4 Spring
ioc:
控制反转,依赖注入
由原来程序员手段创建对象的权力,转交给Spring管理
优点:代码的维护性提高了
aop:
面向切面
代理 = 目标 + 通知
讲核心业务与非核心分离,使程序员将精力放到代码上
定义切面:* *..*.*service.*del(....)
定义通知:@around
设计模式
工厂模式:BeanFactory 就是简单工厂模式的体现,用来创建对象的实例
单例模式:Bean 默认为单例模式
代理模式:Spring的AOP 功能用到了JDK的动态代理和CGLIB字节码生成技术
模板方法:用来解决代码重复的问题,比如RestTemplate,JmsTemplate,JpaTemplate
观察者模式:定义对象键一种一对多的依赖关系,当一个对象的状态发生改变时,所有依赖于它的对象都会得到通知被 制动更新,如 Spring 中 listener 的实现--ApplicationListener
ioc:
控制反转,依赖注入
由原来程序员手段创建对象的权力,转交给Spring管理
优点:代码的维护性提高了
aop:
面向切面
代理 = 目标 + 通知
讲核心业务与非核心分离,使程序员将精力放到代码上
定义切面:* *..*.*service.*del(....)
定义通知:@around
设计模式
工厂模式:BeanFactory 就是简单工厂模式的体现,用来创建对象的实例
单例模式:Bean 默认为单例模式
代理模式:Spring的AOP 功能用到了JDK的动态代理和CGLIB字节码生成技术
模板方法:用来解决代码重复的问题,比如RestTemplate,JmsTemplate,JpaTemplate
观察者模式:定义对象键一种一对多的依赖关系,当一个对象的状态发生改变时,所有依赖于它的对象都会得到通知被 制动更新,如 Spring 中 listener 的实现--ApplicationListener
面向切面
代理 = 目标 + 通知
讲核心业务与非核心分离,使程序员将精力放到代码上
定义切面:* *..*.*service.*del(....)
定义通知:@around
定义切面:* *..*.*service.*del(....)
定义通知:@around
工厂模式:BeanFactory 就是简单工厂模式的体现,用来创建对象的实例
单例模式:Bean 默认为单例模式
代理模式:Spring的AOP 功能用到了JDK的动态代理和CGLIB字节码生成技术
模板方法:用来解决代码重复的问题,比如RestTemplate,JmsTemplate,JpaTemplate
观察者模式:定义对象键一种一对多的依赖关系,当一个对象的状态发生改变时,所有依赖于它的对象都会得到通知被 制动更新,如 Spring 中 listener 的实现--ApplicationListener



