一.什么是servlet?
简单的说就是运行在servlet容器中的Java程序。比较常用的servlet容器有 tomcat,jetty.
二.servlet的家族体系:
servlet(接口)----genriuseservlet(和协议无关的servlet)----->HttpServlet(和http协议有关的servlet)--->自己的servlet
三.servlet 的开发流程
1.新建一个java类继承Httpsevlet(因为现在基本都是使用的是http协议特殊情况 的话可以直接继承genuriSevlet),重写doget().dopost()方法。
2.在web.xml中配置servlet 配置如下
<servlet>
<servlet-name>自定义一个servelt名字</servlet-name>
<servlet-class>自己开发的servlet的类路径</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>自定义一个servelt名字</servlet-name>
<url-parren>/*(匹配的路径)</url-parren>
<servlet-mapping>
四.servlet 中的常用内置对象
1.servletConfig:属于每个servlet,这个对象代表者servlet的配置信息,在servlet的init()方法中由servlet容器创建。主要用来获取servelt中web.xml中配置:
<init-param>
<propety-name></property-name>
<propety-value></propety-value>
</init-param>中的参数
2.servletContext:该对象代表着整个web应用,用来实现servlet的共享,整个web应用只有一个。往往用来配置一些整个web应用的公用参数。在web.xml中用标签<context-param></context-parm>来配置。
五。servlet的生命周期
1.init()方法 servlet 容器启动,浏览器端发送一个请求,找到相应的servlet ,servlet 调用init()方法初始化servlet,并且init()方法只在第一次请求时调用,只调用一次。
2.service()方法(doget().dopost()) 请求的具体处理是service()方法进行处理,当不同的客户端进行请求时,servlet会开启新的线程处理请求。(servlet中不能定义成员变量,会出现线程安全问题)
3.destory()方法 Servlet容器关闭,就会调用该方法 销毁servlet 等待垃圾回收机制进行回收
PS.最近又重新学习了下servlet 发现之前不理解的现在基本上都很清晰了,现在写一个学习总结吧,希望自己可以坚持下去。