Servlet:java
概念:运行在服务器端端小程序web
本质:Servlet就是一个接口,定义了java类被浏览器访问到(Tomcat识别)的规则小程序
使用:自定义一个类,实现servlet接口,复写方法浏览器
快速入门:一、建立JavaEE项目tomcat
二、定义一个类,实现Servlet接口安全
public class ServletDemo1 implements Servlet
三、实现接口中的抽象方法服务器
public void service(ServletRequest servletRequest, ServletResponse servletResponse) throws ServletException, IOException { System.out.println("hello"); }
四、配置Servletapp
<servlet> <servlet-name>demo1</servlet-name> <servlet-class>lianbang.wu.web.servlet.ServletDemo1</servlet-class> </servlet> <servlet-mapping> <servlet-name>demo1</servlet-name> <url-pattern>/demo1</url-pattern> </servlet-mapping>
执行原理:url
一、当服务器接受到客户端浏览器请求后,会解析请求URL路径,获取访问的Servlet的资源路径线程
二、查找web.xml文件,是否有对应的 <url-pattern>标签体对象
三、若是有,则会找到对应的<servlet-class>全类名
四、tomcat会将字节码文件加载进内存,而且建立其对象
五、调用其方法
servlet的生命周期:
一、init,初始化方法,在servlet被建立的时候执行一次,只执行一次
默认状况下,第一次访问时,servlet被建立
也能够经过配置文件<servlet>标签中添加标签<load-on-startup>指定建立时机,负数第一次被访问建立,整数服务器启动建立
二、service,提供服务方法,每一次servlet被访问时执行,执行屡次
三、destroy,销毁方法,在服务器正常关闭时,执行,执行一次
注意:servlet是单例,尽可能不要在servlet中定义成员变量,即便定义了成员变量,也不要修改值,会形成线程安全问题
四、ServletConfig,servlet配置对象
五、getServletInfo,获取servlet信息
servlet3.0:
支持注解配置,能够不须要web.xml
步骤:一、建立JavaEE项目,选择Servlet的版本3.0以上,能够不建立web.xml
二、定义一个类,实现servlet接口
三、复写方法
四、在类上使用@WebServlet注解,进行配置
@WebServlet(“资源路径”)
Servlet体系:做为接口,servlet有两个实现类 GenericServlet,HttpServlet
GenericServlet:将Servlet接口中其余的方法默认了空实现,只将service()方法做为抽象,未来定义servlet类时,能够继承GenericServlet,实现service方法便可
HttpServlet:对Http协议对一种封装,简化操做,只须要复写doGet或doPost方法
Servlet的urlpartten配置:一、一个servlet能够定义多个访问路径,例如:
@WebServlet({"/d","/dd","/ddd"})
二、路径定义规则:/XXX
/XXX/XXX
*.do