HttpServlet的父类GenericServlet类中实现了下列方法,用于获取web.xml文件中的初始化参数信息、Servlet名称、ServletContext对象引用。
1.getServletConfig() 获取由Servlet容器初始化servlet时(即调用Servlet.init(ServletConfig config))
传递进来的那个ServletConfig对象的引用。
2.getInitParameterNames() 获取web.xml文件中某个servlet对应设置的初始化参数名称。
3.getInitParameter(String key) 获取web.xml文件中某个servlet对应设置的指定key的参数值。4.getServletName() 获取当前运行的servlet名称。
5.getServletContext() 获取当前运行的servlet所在的servlet容器对应的ServletContext对象引用。
例子:
import java.io.IOException;
import java.io.PrintWriter;
import java.util.Enumeration;
import javax.servlet.ServletContext;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
public class ConfigTestServlet extends HttpServlet {
/**
*
*/
private static final long serialVersionUID = 1L;
@SuppressWarnings("unchecked")
protected void service(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
response.setContentType("text/html;charset=UTF-8");
PrintWriter outer = response.getWriter();
outer.println("<html>");
outer.println("Servlet's name is " + getServletName() + "<br>");
Enumeration e = getServletConfig().getInitParameterNames(); //getServletConfig()可以省略,GenericServlet中已提供getInitParameterNames()方法
outer.println("These are initial parameters :" + "<br>");
while(e.hasMoreElements()) {
String key = (String)e.nextElement();
String value = getInitParameter(key);
outer.println(" " + key + "=" + value + "<br>");
}
ServletContext context = getServletContext();
String path = context.getRealPath("/");
outer.println("this web application's directory is:" + path + "<br>");
outer.println("</html>");
}
}
相应web.xml中添加下面的设置。
<servlet>
<servlet-name>ConfigTestServlet</servlet-name>
<servlet-class>ConfigTestServlet</servlet-class>
<init-param>
<param-name>firstname</param-name>
<param-value>zhang</param-value>
</init-param>
<init-param>
<param-name>lastname</param-name>
<param-value>san</param-value>
</init-param>
</servlet>
<servlet-mapping>
<servlet-name>ConfigTestServlet</servlet-name>
<url-pattern>demo/ConfigTestServlet.html</url-pattern>
</servlet-mapping>
转自:http://cecilia517.blog.sohu.com/134449637.html
分享到:
相关推荐
我们的 listener, filter 等在初始化时会用到这些上下文中的信息,因此 context-param 配置节的加载顺序非常重要。 实际上,web.xml 文件的加载顺序是:context-param -> listener -> filter -> servlet。这意味着...
在初始化阶段,容器将初始化 Servlet 实例,并将其添加到 ServletContext 中。在服务阶段,Servlet 将处理请求并返回响应。在销毁阶段,容器将销毁 Servlet 实例。 web.xml 文件加载顺序 web.xml 文件的加载顺序是...
* servlet 元素:在向 servlet 或 JSP 页面制定初始化参数或定制 URL 时,必须首先命名 servlet 或 JSP 页面。 * servlet-mapping 元素:服务器一般为 servlet 提供一个缺省的 URL,但可以使用 servlet-mapping 元素...
### Servlet中Web.xml详解 #### 一、概述 在Servlet技术中,`web.xml`文件起着至关重要的作用。作为Web应用程序的核心配置文件之一,它主要用于定义Servlet容器如何加载和配置Servlet及其相关组件。本文将深入探讨...
web.xml文件是javaweb项目中的一个非常重要的配置文件,它用于初始化工程配置信息,例如welcome页面、filter、listener、servlet、servlet-mapping、启动加载级别等等。了解web.xml文件的作用和用途对于javaweb项目...
在Java Web应用开发中,`web.xml`文件是整个Web应用程序的核心配置文件之一,它定义了Servlet容器如何启动、初始化以及配置各个组件如servlet、filter、listener等。了解这些组件之间的加载顺序对于正确配置和优化...
它定义了应用程序的行为,包括启动时的初始化、请求处理以及中间件的设置。下面我们将详细探讨`web.xml`中涉及Spring MVC的主要配置项。 1. **监听器(Listener)** `web.xml`中的监听器允许我们在特定事件发生时...
* 在 Servlet 的 `init()` 方法中,我们可以使用 `ServletConfig` 对象来获取 Servlet 初始化参数。 * 在 Servlet 的 `service()` 方法中,我们可以使用 `HttpServletRequest` 对象来获取 `ServletContext` 对象。 ...
- `<init-param>`:定义Servlet的初始化参数。 - `<param-name>`:参数名称。 - `<param-value>`:参数值。 - `<load-on-startup>`:指定Servlet在应用启动时是否自动加载以及加载的顺序。正值表示自动加载,...
- **context-param**: 定义Web应用范围内的初始化参数。 - **listener**: 声明Web应用启动和终止时需要执行的监听器类。 - **filter**: 定义过滤器的配置信息,包括过滤器类的名称和URL模式映射。 - **filter-...
最后,`web.xml` 是Web应用的部署描述符,它定义了Servlet、过滤器和监听器等Web组件,以及应用的初始化参数和会话超时等设置。在`web.xml` 中,你需要配置Struts2和Spring的前端控制器,使得它们能够拦截并处理HTTP...
WEB.xml详解主要涉及了Java EE Web应用程序的标准配置文件web.xml的详细使用说明,这是Servlet规范中定义的一个配置文件,用于配置web应用的初始化参数、servlet和filter、监听器等组件。 首先,web.xml文件在Web...
可以在 `init()` 方法中添加自定义的初始化逻辑。 struts1 框架中的 web.xml 文件是必不可少的配置文件之一,它用于配置 Struts 应用程序的核心组件 ActionServlet。本文详细解释了 web.xml 文件中的配置项和相关...
在web.xml文件中,你可以通过`<listener>`元素定义监听器,当Web应用启动时,Tomcat会实例化这些监听器并调用相应的初始化方法。 ```xml <listener-class>org.springframework.web.context....
这种配置方式下,Spring的初始化和Bean管理是在Struts的Action上下文中完成的,而不是直接在`web.xml`中配置。 Struts2的Spring插件会在Struts配置文件(如struts.xml)中定义一个`<package>`,包含`<interceptors>...
* `<init-param>` 元素用于定义 servlet 的初始化参数,该参数将被传递给 servlet 的 init 方法。 * `<load-on-startup>` 元素用于定义 servlet 在 web 应用程序启动时的加载顺序,该顺序将决定 servlet 的加载顺序...
- `<context-param>`的值可以在监听器的`contextInitialized(ServletContextEvent)`方法中获取,此时可以利用这些参数进行初始化操作,例如设置数据库连接。 2. **节点解析**: - `<filter>`和`<filter-mapping>`...
在filter配置中,多个filter的初始化顺序由它们在web.xml文件中的位置决定,但filter拦截资源的顺序则是根据filter-mapping的顺序进行。每个filter-mapping对应一个filter,且filter-mapping必须位于相应的filter...
例如,我们可以在 <context-param> 中设置一些初始化参数,然后在监听类中使用这些参数来执行一些操作。 <context-param> 配置在 web 项目启动时发挥着关键的作用。它提供了一个初始化 web 项目的机会,可以在项目...
总的来说,`context-param`和`init-param`提供了配置应用程序和Servlet初始化参数的能力,使得我们可以灵活地设定和读取必要的配置信息,以适应不同环境的需求。正确理解和使用这两个元素,对于优化代码结构、提高...