Servlet中的ServletConfig接口和ServletContext接口【JAVAEE基础】

Servlet接口中的方法

  1. 无参数构造方法(固定不动)
  2. init方法
以上两个方法执行时间几乎是相同的,执行次数都是一次,构造方法执行的时候,对象正在创建,init方法执行的时候对象已经创建
在程序创建时执行一段特殊的程序,尽量写在SUN公司提供的初始化init方法中
因为编写构造方法时,可能会导致无参数构造方法不存在。
  1. service方法
    这个方法必然重写,完成业务逻辑的处理,请求的处理,以及完成响应。
    -利用servletResponse方法输出到浏览器
servletResponse.setContentType("text/html;charset=UTF-8");
 PrintWriter out=servletResponse.getWriter();
 out.println(driver);
  1. destroy方法
    SUN公司提供的对象销毁时刻。

回顾:类加载时刻的执行程序写在静态代码块中。

ServletConfig接口

1.javax.servlet.ServletConfig 是接口

【了解内容】
2.Apach Tomcat服务器实现了Servlet规范,Tomcat服务器专门写了一个ServletConfig接口的实现类
实现类的完整类名: org.apache.catalina.core.StandardWrapperFacade
3.面向ServletConfig接口去完成调用
webapp放到Tomcat服务器中,ServletConfig的实现类是:org.apache.catalina.core.StandardWrapperFacade
webapp放到JBoss服务器中,ServletConfig的实现类是另外一个类名。

4.Tomcat服务器是一个实现了Servlet规范和JSP规范的容器。

5.ServletConfig借口中常用的方法

-String getInitParameter(String name) : 通过初始化参数的name获取value
-Enumeration getInitParameterNames()  :获取所有初始化参数的name
-ServletContext getServletContext() :获取SetvletContext【Servlet上下文】对象。
-String getServletName :获取Servlet的name

web.xml中的Servlet初始化配置参数初始化配置参数

6.ServletConfig本质

-ServletConfig是一个Servlet对象的配置信息对象,ServletConfig对象中封装了一个Servlet对象的配置信息

-Servlet对象的配置信息在web.xml文件中
-一个Servlet对象调用一个ServletConfig对象。

7.将init方法上的ServletConfig参数移动到service方法中
-在init方法中的局部变量ServletConfig赋值给实例变量ServletConfig.
-实现getServletConfig方法目的是供子类使用。

ServletContext接口

1.javax.servlet.ServletContext接口,Servlet规范

2.Tomcat实现类的完整类名: org.apache.catalina.core.ApplicationContextFacade
面向ServletConfig接口去完成调用

3.ServletContext接口的本质

 -ServletContext 【Servlet上下文】
    -一个webapp只有一个web.xml文件,web.xml文件服务器启动阶段被解析。
    -(重点)一个webapp只有一个ServletContext对象,ServletContext在服务器启动阶段被实例化。
    -ServletContext在服务器关闭时会被销毁。
    -ServletContext代表的是web.xml文件
    -(重点)ServletContext是所有Servlet对象四周环境的代表【在同一个webapp中,所有的Servlet对象共享同一个ServletContext】
    -所有用户共享一个数据,可以将这个数据放在ServletContext对象中。
    -一般放在ServletContext对象不涉及修改操作,存在多线程安全问题。

web.xml中ServletContext全局参数
ServletContext全局参数

4.ServletContext接口中常用的方法

- void setAttribute(String name,Object object) :向ServletContext范围中添加数据(map.put())
- Object getAttribute(String name)   :从ServletContext范围中获取数据(map.set())
- void removeAttribute(String name) :移除ServletContext范围中的数据(map.remove())

- String getInitParameter(String name) : 从ServletContext范围中通过初始化参数的name获取value
- Enumeration getInitParameterNames()  :从ServletContext范围中获取所有初始化参数的name

- String getRealPath(String path) :获取文件绝对路径

Servlet,ServletConfig,ServletContext之间的关系

 - 一个Servlet对应一个ServletConfig.
 - 所有Servlet共享一个ServletContext对象
 - ServletContext可以完成跨用户传递数据。

6.ServletContext可以完成跨用户传递数据。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值