发表于: 2017-04-13 22:12:58
1 1163
今天完成的事:
1.学习 Spring
2.学习 get 和 post 区别与在 JSP 中的应用
3.学习 JSP 内置对象 request
明天计划的事情:
1.学习 Spring 的几个环绕
2.学习 JSP
遇到的问题:
暂无
收获:
1.今天整理出常用的 IoC 接口
Spring 通过配置文件描述 Bean 及 Bean 之间的依赖关系,利用 Java 语言的反射功能实例化 Bean 并建立 Bean 之间的依赖关系。Spring 的 IoC 容器在完成这些底层工作的基础上,还提供了 Bean 实力缓存、生命周期管理、Bean 的实例代理、事件发布、资源装载等高级服务。
BeanFactory
BeanFactory 是类的通用工厂,他可以创建并管理各种类对象。这些可被创建和管理的对象本身并没有什么特别之处,仅是一个 POJO, Spring 称这些被创建和管理的 Java 对象 Bean。
POJO 就是一个简单的 Java 对象,并不继承任何类。
BeanFactory 的功能通过其他接口得到不断拓展,介绍几个拓展的接口
ListableFactory: 该接口定义了访问容器中 Bean 基本信息的若干方法,如查看 Bean 的个数、获取某一类型 Bean 的配置名、查看容器中是否包括某一 Bean 等。
HierarchicalBeanFactory: 父子级联 IoC 容器的接口,子容器可以通过接口方法访问容器。
ConfigurableBeanFactory:这是一个重要的接口,增强了 IoC 容器的可定制性。定义了设置类装载器、属性编辑器、容器初始化后置处理器等方法。
AutowireCapableBeanFactory: 定义了将容器中的 Bean 按某种规则(如按名字匹配、按类型匹配等)进行自动装配的方法。
SingletonBeanRegistry: 定义了允许在运行期间向容器注册单实例 Bean 的方法。
BeanDefinition Registry: Spring 配置文件中的每一个 <Bean> 节点元素在 Spring 容器里通过一个 BeanDefinition 对象表示,它描述了 Bean 的配置信息。而 BeanDefinition Registry 接口提供了向容器手工注册 BeanDefinition 对象的方法。
ApplicationContext
ApplicationContext 由 BeanFactory 派生而来,提供了更多面向实际应用的功能。在 BeanFactory 中,很多功能需要编程的方式实现,而在 ApplicationContext 中则可以通过配置的方式实现。
ApplicationEventPublisher: 让容器拥有发布上下文事件的功能,包括启动事件,关闭事件等。
MessageSource: 为应用提供 i18n 国际化消息的功能。
i18n 是指在资讯领域,国际化(i18n)指让产品(出版物,软件,硬件等)无需做大的改变就能够适应不同的语言和地区的需要
ResourcePatternResolver: 所有 ApplicationContext 实现类都实现了类似于 PathMatchingResourcePatternResolver 的功能,可以通过带前缀的 Ant 风格的资源文件路径装载 Spring 的配置文件。
LifeCycle: 该接口提供了 start() 和 stop() 两个方法,主要用于控制异步处理过程。
2.学习 get 和 post 区别与在 JSP 中的应用
get 与 post
<form name="regForm" action="动作" method="提交方式">
get
以明文的方式通过 URL 提交数据,数据在 URL 中可以看到。提交的数据最多不超过 2KB。安全性较低但效率比 post 高。是和提交数据量不大,安全性不高的数据。比如:搜索、查询等功能。
post
将用户提交的信息封装在 HTML HEADER 内。是和提交数据量大,安全性高的用户信息。比如:注册、修改、上传等功能
3.学习 JSP 内置对象 request
客户端的请求信息被封装在 request 对象中,通过它才能了解到客户的需求,然后作出响应。他是 HttpServletRequest 类的实例。request 对象具有请求域,即完成客户端的请求之前,该对象一直有效。
有如下的常用方法
String getParameter(String name) 返回 name 指定参数的参数值
String[] getParameterValues(String name) 返回包含参数 name 的所有值的数组
void setAttribute(String, Object) 存储此请求中的属性
Object getAttribute(String name) 返回指定属性的属性值
String getContentType() 得到请求体的 MIME 类型
MIME:多用途互联网邮件扩展类型。例如:PDF, txt, GIF 的拓展名。
String getProtocol() 返回请求用的协议类及版本号
String getServerName() 返回接受请求的服务器主机名
int getServerPort() 返回服务器接受此请求所用的端口号
String getCharacterEncoding() 返回字符编码方式
void setCharacterEncoding() 设置请求的字符编码方式
int getContentLength() 返回请求体的长度(以字节数)
String getRemoteAddr() 返回发送此请求的客户端 IP 地址
String getRealPath(String path) 返回虚拟路径的真实路径
String getContextPath() 返回上下文路径
评论