servlrt程序的入口点是_servlet程序的入口点是哪个方法?
作为java的核心点之一,servlet我们是一定要了解深刻的,小伙伴们知道servlet入口点是哪个方法吗?它起着什么作用呢?快来一起来看看吧。要了解servlet的入口点首先我们一定要知道它的生命周期有哪些阶段,它的生命周期简单来说有着三个阶段1. Servlet初始化阶段,这个阶段web容器会通过调用init()方法来初始化Servlet实例,并且传递一个能够实现javax.servlet.
作为java的核心点之一,servlet我们是一定要了解深刻的,小伙伴们知道servlet入口点是哪个方法吗?它起着什么作用呢?快来一起来看看吧。
要了解servlet的入口点首先我们一定要知道它的生命周期有哪些阶段,它的生命周期简单来说有着三个阶段
1. Servlet初始化阶段,这个阶段web容器会通过调用init()方法来初始化Servlet实例,并且传递一个能够实现
javax.servlet.ServletConfig 接口的对象给它。这个传递过来的配置对象(configuration
object)使Servlet能够读取在web应用的web.xml文件里定义的名值(name-value)初始参数。init()方法在Servlet实例生命周期里只能调用一次。public void init() throws ServletException {
//custom initialization code
}
2.
客户端请求处理阶段,在servlet初始化后,Servlet实例开始处理客户端请求。web容器会调用Servlet的service()方法来处理所有请求。service()
方法定义了能够处理的请求类型并且调用适当方法来处理这些请求。protected void service(HttpServletRequest req, HttpServletResponse resp)
throws ServletException, IOException
{
String method = req.getMethod();
if (method.equals(METHOD_GET)) {
long lastModified = getLastModified(req);
if (lastModified == -1) {
doGet(req, resp);
} else {
long ifModifiedSince = req.getDateHeader(HEADER_IFMODSINCE);
if (ifModifiedSince
maybeSetLastModified(resp, lastModified);
doGet(req, resp);
} else {
resp.setStatus(HttpServletResponse.SC_NOT_MODIFIED);
}
}
} else if (method.equals(METHOD_HEAD)) {
long lastModified = getLastModified(req);
maybeSetLastModified(resp, lastModified);
doHead(req, resp);
} else if (method.equals(METHOD_POST)) {
doPost(req, resp);
resp.sendError(HttpServletResponse.SC_NOT_IMPLEMENTED, errMsg);
}
}
3.servlet销毁阶段,这是最后阶段,web容器会调用destroy()方法来终结Servlet。这个方法与init()方法一样在Servlet的生命周期里只能调用一次。public void destroy() {
//
}
由以上我们得知,最初servlet会调用init()进行初始化,然后调用service() 接受客户端请求,再调用doGet()
或者doPost()处理客户端请求,最后销毁servlet。Servlet程序的入口点其实就是servlet方法,它控制着servlet一切的接收功能,servlet的入口就是它了。
以上就是关于servlet入口点的所有内容了,你明白了吗?还需要了解更多servlet常见问题可以关注奇Q工具网了解详情。
推荐阅读:
更多推荐
所有评论(0)