文章目录
Servlet快速入门
一、什么是Servlet?
servlet:server applet,运行在服务器端的小程序。
其实,servlet就是一个接口,定义了Java类被浏览器访问到(Tomcat识别)的规则;在使用时,我们只需要自定义一个类,实现servlet接口,复写方法。
二、Servlet快速入门
四步走:
- 01-- 创建JavaEE项目
- 02-- 实现一个类,实现Servlet接口
- 03-- 实现接口中的抽象方法
- 04-- 配置Servlet
第一步,很简单的,这里就不详细讲了;
第二步、第三步:实现Servlet接口,即我们需要实现接口里的方法(5个),下面这个例子也说明了Servlet的执行过程,也就是Servlet的生命周期。
//Servlet的生命周期:从Servlet被创建到Servlet被销毁的过程
/**
*01-- 实例化:使用构造方法创建对象
*02-- 初始化:执行init方法
*03-- 服务:执行service方法
*04-- 销毁:执行destroy方法
*05-- 卸载
*/
public class ServletDemo1 implements Servlet{
//idea中可自动生成抽象方法
//public ServletDemo1(){}
//生命周期方法:当Servlet第一次被创建对象时执行该方法,该方法在整个生命周期中只执行一次
public void init(ServletConfig servletConfig) throws ServletException {
System.out.println("执行了init()方法!!!!!");
}
//生命周期方法:对客户端响应的方法,该方法会被执行多次,每次请求该servlet都会执行该方法
public void service(ServletRequest arg0, ServletResponse arg1)
throws ServletException, IOException {
System.out.println("hello,执行了service()方法!!!!!");
}
//生命周期方法:当Servlet被销毁时执行该方法
public void destroy() {
System.out.println("执行了destroy()方法!!!");
}
//当停止tomcat时也就销毁的servlet
public ServletConfig getServletConfig() {
return null;
}
public String getServletInfo() {
return null;
}
}
三、配置servlet:web.xml
如果程序涉及使用servlet,我们就需要在web.xml中配置servlet。根据servlet版本不同,有不同的配置方法【这里主要分析了 servlet2.5 和 servlet3.0 的配置】
(1) servlet2.5:web.xml
其中,需要注意的是:
1---- servlet-class:包名.类名
匹配流程如下图所示:
其中,需要注意的是: servlet-class:包名.类名
2. servlet3.0: @WebServlet
匹配流程:请求地址与@WebServlet中的值进行匹配,如果匹配成功,则说明请求的就是该注解所对应的类
3. servlet3.0: @WebServlet 与 servlet2.5 的区别
servlet3.0不需要再web.xml中配置,但需要在servlet类的定义处之上编写注解@WebServlet(“url-pattern的值”)
知识点补充:
【项目根目录:WebContent,src(所有的构建路径)】
例如:
WebContent中有一个文件index.jsp
src中有一个Servlet.java
如果index.jsp中请求…,则寻找范围:既会在src根目录中找,也会在WebContent根目录中找
如果index.jsp中请求…,则寻找范围:先在src或WebContent中找a目录,然后再在a目录中找abc