Servlet上下文范围:
ServletContext对象用于拥有属于同一web应用程序的一组servlet的公共数据。ServletContext对象的数据可以通过特定web.xml的servlet的所有方法进行访问
方法:
以下方法用于将servlet的本地数据添加到servletContext对象,从而删除servletContext对象的现有数据。
public void setAttribute (String, Object); - 1 public Object getAttribute (String); - 2 public void removeAttribute (String); - 3 public Enumeration getAttributeNames (); - 4
加载启动:
加载启动基本上用于给予正在访问特定Web应用程序的所有客户端的相同响应。
默认情况下,请求后,ServletContext对象将由Servlet容器创建。
由于这一响应需要更多的时间,并且进一步的响应将花费最短的时间。
因此,为了避免响应时间的差异,我们使用载荷启动的概念。
<load-on-startup>标记将用作<servlet>标记的一部分,因为它特定于servlet。
如果优先级值对于一组servlets是肯定的,那么将基于优先级的升序创建其对象。
如果优先级值为零,则将在末尾创建Servlet对象。
如果servlet的优先级值为否,则不会创建一个servlet对象即,忽略了。
当我们使用Load-On启动时作为Web.xml的一部分,容器将在第一个请求之前创建一个servlet的对象。
web.xml:
<web-app> <servlet> <servlet-name>abc</servlet-name> <servlet-class>DdServ</servlet-class> <load-on-startup>10</load-on-startup> </servlet> <servlet-mapping> <servlet-name>abc</servlet-name> <url-pattern>/ddurl</url-pattern> </servlet-mapping> </web-app>
ddserv.java:
import javax.servlet.*; import javax.servlet.http.*; import java.io.*; public class DdServ extends HttpServlet { public DdServ() { System.out.println("SERVLET OBJECT IS CREATED"); } public void doGet(HttpServletRequest req, HttpServletResponse res) throws ServletException, IOException { res.setContentType("text/html"); PrintWriter pw = res.getWriter(); System.out.println("I AM FROM doGet ()"); pw.println("<h3>I AM FROM doGet ()</h3>"); } };
日期:2020-04-11 23:04:23 来源:oir作者:oir