tomcat与servlet
在idea创建一个java web项目时,会自动生成web.xml文件,如下图
这个文件主要用来配置web应用使用到servlet
当中的
<servlet>
<servlet-name>HelloServlet</servlet-name>
<servlet-class>com.servlet.HelloServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>HelloServlet</servlet-name>
<url-pattern>/helloServlet</url-pattern>
</servlet-mapping>
部分就是tomcat接收到来自browser端(url)的http请求后去web.xml文件查询的内容
由url去查<servlet-mapping>下的<url-pattern>,找到<servlet-name>中的内容作为查询条件,以这个内容(servlet-name(id)),去tomcat内存中常驻的HashMap<id,Servlet>查找servlet实例,有的话最好,直接调用servlet实例的service方法完成业务。
没有的话,通过<servlet-name>找到<servlet-class>的内容
使用反射技术,将servlet实例化(使用init();方法)加入到HashMap<id,Servlet>中,再调用servlet实例的service方法完成业务。同时还可以为后续使用提供便利。