生命周期的各个阶段
Servlet初始化参数:
Servlet初始化参数配置,主要是在目标项目下的WebRoot下的WEB-INF下的web.xml进行修改
注意:只添加init-param标签,别的只是为了说明标签应该在哪里
<web-app>
<servlet>
<servlet-name>HelloServlet</servlet-name>
<servlet-class>demo.servlet.HelloServlet</servlet-class>
<init-param>//主要是添加init属性
<param-name>initParam</param-name>
<param-value>Hello Servlet</param-value>
</init-param>
</servlet>
<servlet-mapping>
<servlet-name>HelloServlet</servlet-name>
<url-pattern>/HelloServlet</url-pattern>
</servlet-mapping>
</web-app>
获取标签,并输出:
public void doGet ( HttpServletRequest request, HttpServletResponse response ) throws ServletException, IOException {
System.out.println("处理请求时,doGet()方法被调用。");
String initParam = getInitParameter( "initParam" );//调用
System.out.println(initParam);
}
Servlet上下文(ServletContext):
Servlet上下文又叫做:ServletContext。当WEB服务器启动时,会为每一个WEB应用程序(webapps下的每个目录就是一个应用程序)创建一块共享的存储区域。ServletContext在WEB服务器启动时创建,服务器关闭时销毁。
配置上下文:
这个地方配置的东西和上面一样。。
<web-app>
<context-param>
<param-name>contextParam</param-name>//初始化参数的名字
<param-value>Hello Servlet</param-value>//初始化参数的值
</context-param>
<!--省略其他配置-->
</web-app>
读取Servlet上下文:
public class HelloServlet extends HttpServlet {
// …省略其他代码
public void doGet ( HttpServletRequest request, HttpServletResponse response )throws ServletException, IOException {
System.out.println("处理请求时,doGet()方法被调用。");
String initParam = getInitParameter( "initParam" );
String contextParam = this.getServletContext().getInitParameter( "contextParam" );// 根据参数名称进行读取
System.out.println("Servlet初始化参数" + initParam);
System.out.println("系统初始化参数" + contextParam);
}
}