Servlet对象什么时候创建
什么时候销毁
Servlet创建了几个对象
Servlet生命周期表示:一个Servlet对象出生到最后的死亡,整个过程怎么样的
Servlet生命周期的全程不由我们设计,而是由Tomcat服务器主导的
Servlet对象的创建和方法的调用,最终的销毁都不是我们程序设计的一环
Tomcat服务器我们又称为web容器,web container
我们自己创建的Servlet对象是不受web容器管理的
类似于Spring的容器设计,这个我们自己创建的对象是不再容器管理范围之内的
只有放到一个容器某个Map中,才能被web容器管理
web容器底层应该有一个map集合来管理我们的servlet对象
一个url对应一个servlet对象放到一个map集合内部
Servlet对象什么时候创建
什么时候销毁
Servlet创建了几个对象
Servlet生命周期表示:一个Servlet对象出生到最后的死亡,整个过程怎么样的
Servlet生命周期的全程不由我们设计,而是由Tomcat服务器主导的
Servlet对象的创建和方法的调用,最终的销毁都不是我们程序设计的一环
Tomcat服务器我们又称为web容器,web container
我们自己创建的Servlet对象是不受web容器管理的
类似于Spring的容器设计,这个我们自己创建的对象是不再容器管理范围之内的
只有放到一个容器某个Map中,才能被web容器管理
web容器底层应该有一个map集合来管理我们的servlet对象
一个url对应一个servlet对象放到一个map集合内部
package com.powernode.javaweb.servlet;
import jakarta.servlet.*;
import java.io.IOException;
public class AServlet implements Servlet
{
public AServlet()
{
System.out.println("AServlet");
}
@Override
public void init(ServletConfig servletConfig) throws ServletException {
}
@Override
public ServletConfig getServletConfig() {
return null;
}
@Override
public void service(ServletRequest servletRequest, ServletResponse servletResponse) throws ServletException, IOException {
}
@Override
public String getServletInfo() {
return null;
}
@Override
public void destroy() {
}
}
package com.powernode.javaweb.servlet;
import jakarta.servlet.*;
import java.io.IOException;
public class AServlet implements Servlet
{
public AServlet()
{
System.out.println("AServlet");
}
@Override
public void init(ServletConfig servletConfig) throws ServletException {
}
@Override
public ServletConfig getServletConfig() {
return null;
}
@Override
public void service(ServletRequest servletRequest, ServletResponse servletResponse) throws ServletException, IOException {
}
@Override
public String getServletInfo() {
return null;
}
@Override
public void destroy() {
}
}
package com.powernode.javaweb.servlet;
import jakarta.servlet.*;
import java.io.IOException;
public class BServlet implements Servlet {
public BServlet()
{
System.out.println("BServlet");
}
@Override
public void init(ServletConfig servletConfig) throws ServletException {
}
@Override
public ServletConfig getServletConfig() {
return null;
}
@Override
public void service(ServletRequest servletRequest, ServletResponse servletResponse) throws ServletException, IOException {
}
@Override
public String getServletInfo() {
return null;
}
@Override
public void destroy() {
}
}
package com.powernode.javaweb.servlet;
import jakarta.servlet.*;
import java.io.IOException;
public class BServlet implements Servlet {
public BServlet()
{
System.out.println("BServlet");
}
@Override
public void init(ServletConfig servletConfig) throws ServletException {
}
@Override
public ServletConfig getServletConfig() {
return null;
}
@Override
public void service(ServletRequest servletRequest, ServletResponse servletResponse) throws ServletException, IOException {
}
@Override
public String getServletInfo() {
return null;
}
@Override
public void destroy() {
}
}
<?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">
<servlet>
<servlet-name>aservlet</servlet-name>
<servlet-class>com.powernode.javaweb.servlet.AServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>aservlet</servlet-name>
<url-pattern>/AServlet</url-pattern>
</servlet-mapping>
<servlet>
<servlet-name>bservlet</servlet-name>
<servlet-class>com.powernode.javaweb.servlet.BServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>bservlet</servlet-name>
<url-pattern>/BServlet</url-pattern>
</servlet-mapping>
</web-app>
<?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">
<servlet>
<servlet-name>aservlet</servlet-name>
<servlet-class>com.powernode.javaweb.servlet.AServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>aservlet</servlet-name>
<url-pattern>/AServlet</url-pattern>
</servlet-mapping>
<servlet>
<servlet-name>bservlet</servlet-name>
<servlet-class>com.powernode.javaweb.servlet.BServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>bservlet</servlet-name>
<url-pattern>/BServlet</url-pattern>
</servlet-mapping>
</web-app>