ServletConfig
ServletConfig是个接口,该接口是用来描述Servlet的基本信息的。
以下是此接口中的方法:
1.getServletName()
返回servlet的名称,全类名(带着包的类名,如果已经起了名字,返回的是你自己起的类名,而不是全路径名)。
代码如下:
System.out.println("config:" + servletConfig.getServletName());
输出结果:
config:com.southwind.servlet.MyServlet
2.getInitParameter(String key)
获取init参数的值
代码如下:
System.out.println(servletConfig.getInitParameter("username"));
输出结果:
admin
3.getInitParameterNames()
返回所有initParamter的name值,一般用作遍历初始化参数
代码如下:
Enumeration<String> enumeration = servletConfig.getInitParameterNames();
while (enumeration.hasMoreElements()) {
String element = enumeration.nextElement();
System.out.println(servletConfig.getInitParameter(element));
}
输出结果:
1234556
super
admin
4.getServletContext()
返回ServletContext对象,他是Servlet的上下文,整个Servlet的管理者。
(1)getContextPath()
获取此处的路径值
(2)getServerInfo():
获取当前服务器版本
(3)servletContext.getInitParameter(String key)
获取init参数的值(context里的)
整合servletContext代码如下:
ServletContext servletContext = servletConfig.getServletContext();
System.out.println(servletContext.getContextPath());
System.out.println(servletContext.getServerInfo());
System.out.println("context:" + servletContext.getInitParameter("username"));
输出结果:
/test
Apache Tomcat/9.0.50
context:all
ServletConfig和ServletContext的区别:
ServletConfig作用域某个Servlet实例,每个servlet都有对应的ServletConfig;
ServletContext作用域整个web应用,一个web应用对应一个ServletContext,
多个Servlet实例对应一个ServletContext; 一个是局部对象,一个是全局对象。
xml配置如下:
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd"
version="4.0">
<context-param>
<param-name>username</param-name>
<param-value>all</param-value>
</context-param>
<!-- 以上是context配置-->
<!-- ------------------------------------------------------- -->
<!-- 以下是servlet配置-->
<servlet>
<!-- 可以自定义名字 -->
<servlet-name>demo3</servlet-name>
<!-- 这是Java文件的完整路径 -->
<servlet-class>com.southwind.servlet.MyServlet</servlet-class>
<!--getInitParameter的配置-->
<init-param>
<param-name>username</param-name>
<param-value>admin</param-value>
</init-param>
<init-param>
<param-name>password</param-name>
<param-value>1234556</param-value>
</init-param>
<init-param>
<param-name>type</param-name>
<param-value>super</param-value>
</init-param>
</servlet>
<servlet-mapping>
<!--与 <servlet-name> 名字一样-->
<servlet-name>demo3</servlet-name>
<!--别忘记”/“,这个就是访问的时候输入的东西-->
<url-pattern>/demo3</url-pattern>
</servlet-mapping>
</web-app>