servlet容器
- JAVABEAN创建:生命周期4步骤
-
new
-
反射
-
序列化/反序列化
-
克隆
- 初始花
-
直接给变量初始化
-
动态代码块初始化 、
-
构造器初始化
-
setter方法赋值--这里才叫赋值操作
- 使用
- 销毁
- Servlet生命周期
- 一个Servlet必须继承接口HttpServlet,或实现Servlet接口
- 一个servlet有三个生命周期方法:
-
反射创建
-
init()
-
Servlet();
-
doGet()
-
doPost()
-
destory():容器关闭时调用,或从项目中移除
- servlet默认是第一次调用时创建,也可以在xml中方设置,服务启动时创建
- .class - 反射创建-> init()-> service()->destory()
- jsp对象生命周期,jsp是特殊的servlet
-
.jsp -> .java -> .class - 反射创建-> _jspInit()-> _jspService()->_jspDestory()
- filter:一个过滤器类必须实现Filter接口
-
init()
-
doFilter(request,respose,chain);
-
destory()
- 监听器Listener
- 监听器可以监听WEB应用中,对象的生命周期,
-
例如:javax.servlet.ServletContextListener用来监听ServletContext 对象的创建和销毁
-
java.servlet.ServletContextAtrributeListener监听ServletContext对象中属性的变化
IOC
- DI(Dependency Injection) 依赖注入
- 三种注入:
-
构造注入
-
Setter方法注入
-
接口注入
- Spring框架只支持构造注入和Setter方法注入。不支持接口注入。因为接口注入存在侵入性
Spring框架如何实现IOC的?。
• 框架提供BeanFactory工厂类,是IOC的核心API。
• 框架还提供了ApplicationContext接口,是BeanFactory的子接口,对BeanFactory进行了功能扩展。
• 项目中推荐使用ApplicationContext接口。
创建IOC容器的具体类:
ClassPathXmlApplicationContext 用于测试环境,根据classpath类路径来加载和解析配置文
件的。
new FileSystemXmlApplicationContext(“src/beans.xml”);//用于测试环境,根据文件系统路径
来加载和解析配置文件
ApplicationContext ioc =
new FileSystemXmlApplicationContext(“D:\Java\workspace\workspace161228EE
\Spring_01_HelloWorld\src\beans.xml”);
WebApplicationContext
XmlWebApplicationContext 用于Web环境,应用在Web项目中。