ServletConfig与ServletContext

简介: 1.ServletConfig作用:当servlet执行初始化函数init()之后,可以利用ServletConfig获取存储在web.xml里的参数,这样就可以不用在servlet中硬编码一些参数,例如作者姓名,当在servlet中使用作者姓名这个参数的时候直接调用web.xml,如果需要修改参数值,只需修改web.xml,不用重新编译servlet。用

1.ServletConfig

作用:

当servlet执行初始化函数init()之后,可以利用ServletConfig获取存储在web.xml里的参数,这样就可以不用在servlet中硬编码一些参数,例如作者姓名,当在servlet中使用作者姓名这个参数的时候直接调用web.xml,如果需要修改参数值,只需修改web.xml,不用重新编译servlet。

用法:

  1. 在web.xml中
<servlet>
    <servlet-name>login</servlet-name>
    <servlet-class>com.ycty.login_control.Login</servlet-class>
    <init-param>
        <param-name>author</param-name>
        <param-value>feipeng8848</param-value>
    </init-param>
     </servlet>

ServletConfig是配置servlet,所以要放置到servlet的标签中。
2. 在servlet中

out.println(  getServletConfig().getIntParameter("author")  );

这里写图片描述

2.ServletContext

ServletConfig的确很方便,但是,如果想在jsp中也使用servlet的配置参数的话,是很麻烦的,首先在servlet中String a_author = getServletConfig().getIntParameter(“author”)获得参数,然后利用requst.setAttribute(“author”,a_author),把参数传递给jsp。

能不能直接在jsp中调用配置参数呢?

能,用ServletContext。

(1).在web.xml中

  <web-app>
  <context-param>
    <param-name>author</param-name>
    <param-value>This is context-param,author is feipeng8848</param-value>
  </context-param>
  </web-app>

这里需要注意一点,ServletConfig是针对servlet的配置,需要写进servlet标签内部,而ServletContext是针对整个web应用,所以他的上层标签是web-app。
(2)在jsp中

out.println(getServletContext().getParameter(author));

这里写图片描述

ServletContext常用于配置数据库的URL、password、username等

说明:

getServletContext()和getServletConfig()是在 GenericServlet类中实现了的方法,由于httpServlet继承了该类,所以可以直接使用getServletContext()和getServletConfig()。

getServletConfig()的另外一种写法:

ServletConfig config = this.getServletConfig();
out.println( config.getParameter("author"));

getServletContext()的另外一种写法:

ServletContext context = this.getServletContext();
out.println( context.getParameter("author"));
目录
相关文章
|
7月前
|
存储 应用服务中间件 数据库
【JavaWeb】知识总结Ⅸ(ServletConfig, ServletContext)
ServletConfig 类是为 Servlet 程序的配置信息的类 2. Servlet 程序和 ServletConfig 对象都是由 Tomcat 负责创建 3. Servlet 程序默认是第 1 次访问的时候创建, ServletConfig 在 Servlet 程序创建时,就创 建一个对应的 ServletConfig ServletConfig 类能干什么 1. 获取 Servlet 程序的 servlet-name 的值 2. 获取初始化参数 init-param 3. 获取 ServletContext 对象
|
6月前
|
存储 对象存储
07JavaWeb基础 - ServletContext对象
07JavaWeb基础 - ServletContext对象
20 0
|
8月前
|
XML 关系型数据库 MySQL
ServletConfig和ServletContext 的介绍和代码实现
ServletConfig和ServletContext 的介绍和代码实现
45 0
|
10月前
|
应用服务中间件
初识ServletConfig
初识ServletConfig
50 0
|
10月前
|
存储 应用服务中间件 测试技术
Servlet中的ServletConfig对象、ServletContext对象以及Servlet3.0
Servlet中的ServletConfig对象、ServletContext对象以及Servlet3.0
53 1
|
XML Java 应用服务中间件
谈谈 ServletConfig 和 ServletContext
我们都知道Servlet是框架的灵魂,学习web框架最底层离不开Servlet的支持,那么Servlet 是什么呢?如何创建一个Servlet 不是本文的重点,相关文章可以参考
75 0
|
应用服务中间件 容器
一文带你了解ServletContext
ServletContext是一个全局的储存信息的空间,服务器开始就存在,服务器关闭才释放 架构图示: 我们可以把ServletContext当成一个公用的空间,可以被所有的客户访问,WEB容器在启动时,它会为每个Web应用程序都创建一个对应的ServletContext,它代表当前Web应用,并且它被所有客户端共享,公共聊天室就会用到它 同时,多个Servlet也可以通过ServletContext来进行通信操作 当web应用关闭、Tomcat关闭或者Web应用reload的时候,ServletContext对象会被销毁🙌
83 10
一文带你了解ServletContext
|
应用服务中间件
ServletConfig对象
ServletConfig对象介绍