Servlet快速入门教程

Servlet

一、概念

  • Servlet 是 Java 提供的一门动态 web 资源开发技术
  • Servlet 是 JavaEE 规范之一,其实就是一个接口,将来我们需要定义 Servlet 类实现 Servlet 接口,并由 web 服务器运行 Servlet

二、快速入门

  1. 创建 web 项目导入 Servlet 依赖坐标
<dependency>
	<groupId>javax.servlet</groupId>
	<artifactId>javax.servlet-api</artifactId>
	<version>3.1.0</version>
   	<scope>provided</scope>
</dependency>
  1. 创建:定义一个类,实现 Servlet 接口,并重写接口中的所有方法,并在 service 方法中输出一句话
public void service(ServletRequest servletRequest, ServletResponse servletResponse) throws ServletException, IOException {
        System.out.println("hello servlet");
    }
  1. 配置:在类上使用@WebServlet 注解,配置该 Servlet 的访问路径
@WebServlet("/demo1")
public class ServletDemo1 implements Servlet {
  1. 访问:启动Tomcat,浏览器输入URL访问该Servlet
http://localhost:8080/web_demo/demo1

三、Servlet 执行流程

  1. Servlet 由Web服务器创建,Servlet方法由web服务器调用
  2. 服务器怎么知道 Servlet 中一定有 service 方法?
    • 我们自定义的 Servlet,必须实现 Servlet 接口并复写其方法,而 Servlet 接口中有 service 方法。

四、Servlet 生命周期

  • 对象的生命周期指一个对象从被创建到被销毁的整个过程
  • Servlet 运行在 Servlet容器(web服务器)中,其生命周期由容器来管理,分为4个阶段:
    1. 加载和实例化:默认情况下,当Servlet第一次被访问时,由容器创建Servlet对象
    2. 初始化:在Servlet实例化之后,容器将调用Servlet的init()方法初始化这个对象,完成一些诸如加载配置文件,创建链接等初始化的工作。该方法只调用一次
    3. 请求处理:每次请求Servlet时,Servlet容器都会调用Servlet的service()方法对请求进行处理
    4. 服务终止:当需要释放内存或者容器关闭时,容器就会调用Servlet实例的destroy()方法完成资源的释放。在destroy()方法调用之后,容器会释放这个Servlet实例,该实例随后会被Java的垃圾收集器所回收
@WebServlet(urlPatterns = "/demo1", loadOnStartup = -1)
/**
 * 负整数:第一次这访问时创建Servlet对象
 * 0或正整数:服务器启动时创建Servlet对象,数字越小优先级越高
 */

除生命周期外的还有两个方法需要注意:

  • 获取Servlet对象
    public ServletConfig getServletConfig()

  • 获取Servlet信息
    public String getServletInfo()

五、Servlet 体系结构

Servlet体系结构
我们将来开发B/S架构的web项目,都是针对HTTP协议,所以我们自定义Servlet,会继承HttpServlet

  1. HttpServlet 使用步骤
    • 继承HttpServlet
    • 重写doGet 和 doPost方法
  2. HttpServlet 原理
    • 获取请求的方式,根据不同的请求方式,调用不同的doXxx方法

六、Servlet urlPattern配置

  • Servlet 要想被访问,必须配置其访问路径(urlPattern)
  1. 一个Servlet可以配置多个urlPattern
  2. urlPattern 配置规则
    • 精确匹配
      @WebServlet("/user/demo")
    • 目录匹配
      @WebServlet("/user/*")
    • 扩展名匹配
      @WebServlet("*.doc")
    • 任意匹配
      @WebServlet("/")
      @WebServlet("/*")
  • / 和 /* 的区别:

    • 当我们项目中的Servlet配置了"/",会覆盖掉tomcat中的DefaultServlet,当其他的 urlPattern 都匹配不上时会走这个Servlet
    • 当我们的项目中配置了"/*",意味着匹配任意访问路径
  • 优先级:

    • 精确路径 > 目录路径 > 扩展名路径 > /* > /

七、XML 配置方式编写 Servlet

  • Servlet 从3.0版本后开始支持使用注解配置,3.0版本以前只支持 XML 配置文件的配置方式
  • 步骤:
    1. 编写Servlet类
    2. 在 web.xml 中配置该 Servlet
<servlet>
	<servlet-name>demo</servlet-name>
	<servlet-class>com.itheima.web.servletDeom</servlet-class>
</servlet>
<servlet-mapping>
	<servlet-name>demo</servlet-name>
	<url-pattern>/demo</url-pattern>
</servlet-mapping>





声明: 本文内容整理自:黑马程序员新版JavaWeb基础教程,Java web从入门到企业实战完整版

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
Servlet 第一天 一、简述 1、Servlet,服务器端的小程序,它是相对于Applet 而言的,Applet 是客户端小程序。 Servlet,是接受来自网络的请求(form 表单,以及其他的请求),并对不同请求作出不同的响应 Servlet,是基于Http 协议的,是运行在web 服务器中的程序。这里要提出一个容器的概念。 servlet 是运行在web 容器中,在后面会详细地讲解,这个web 容器可以控制Servlet 对象的生命周期,控制请 求由Servlet 对象处理。 2、web 服务器,这里的服务器不是硬件概念,而是软件,常用的web 服务器有Tomcat,Jboss 等,我们所用到的 Tomcat 是一个开源的服务器, Tomcat 是一个用java 语言编写的web 服务器,所以需要有相应的java 运行环境,也就是JVM,还要配置tomcat 的具体路径。 二、Tomcat 的配置 JAVA_HOME=/XXX/XXX/(JDK 路径,bin 的上一层目录) CATALINA_HOME=/XXXX/XXX(tomcat 的绝对路径windows 中X:\xxx\xxx) 在启动Tomcat 时,是运行Tomcat 的bin 目录下的startup.sh(windows 中使用startup.bat) 判断Tomcat 是否启动成功,可以在浏览器的地址栏中使用http://localhost:8080/或http://127.0.0.1:8080/可以访问到 tomcat 的主页就是启动成功了。 要想停止tomcat 服务器要使用shutdown.sh(windows 中使用shutdown.bat),如果直接关闭启动窗口,就会造成 8080 端口占用错误,这时可以在使用shutdown.sh 关闭一下服务器。 startup.sh,shutdown.sh,shutdown.bat,startup.bat 这些文件其实是一些脚本文件用来执行大量

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

不想写代码的Rayoung

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值