第一次访问servlet的过程:
服务器启动:在服务器启动的时候,加载项目,就扫描web.xml文件,获得应用有哪些servlet,url-pattern,
客户端通过URl访问服务器【向服务器发送一个请求request】,服务器查看web.xml里面响应的项目,
在servlet-mapping标签的url-pattern标签中找到
通过url-pattern的兄弟标签servlet-name找到servlet标签的servlet-name
通过servlet标签的servlet-name,找到servlet-name得兄弟标签servlet-class标签
通过servlet-class的内容找到对应的servlet文件。
判断servlet是否实例化了,没有则执行init()实例化servlet对象
然后执行他的service()【这个类是服务器实例化的,方法也是服务器调用的】
服务器执行完service(),将处理结果封装在response【HttpServletResponse】中,返回给客户端。
在整个过程中,如果找不到url&urI中的下级目录,就报404错误。
拓展【当应用程序中涉及到数据库】:
操作数据库需要jar包,当访问第一个servlet的时候,
服务器会先实例化请求的servlet的实例,然后加载lib包下面的类加载,然后在加载tomcat里面他自己的类,