Servlet例子与注解配置

本文介绍了Servlet的概念,包括它作为一个接口的定义和作用。详细讲述了如何创建Servlet,包括创建web项目、定义类并实现Servlet接口。重点讲解了Servlet的配置方式,包括传统的web.xml配置和Servlet3.0以上的注解配置,强调了注解配置的便利性。最后,文章提到了Servlet的生命周期,暗示将深入探讨这一主题。

概念

创建

创建web项目

定义类实现Servlet接口,实现其抽象方法

配置servlet

原理

注解配置(Servlet3.0以上)

Servlet的生命周期


 

 

概念

  • 运行在服务器端的小程序
  • Servleta就是一个接口,定义了Java类被浏览器访问到(tomcat识别)的规则

创建

创建web项目

tomcat部署项目以及与IDEA集成

 设置虚拟目录为MyServlet

运行访问

定义类实现Servlet接口,实现其抽象方法

package com.lingaolu.servlet;

import javax.servlet.*;
import java.io.IOException;

/**
 * @author 林高禄
 * @create 2020-07-06-9:40
 */
public class ServletDemo1 implements Servlet {
    @Override
    public void init(ServletConfig servletConfig) throws ServletException {

    }

    @Override
    public ServletConfig getServletConfig() {
        return null;
    }

    @Override
    public void service(ServletRequest servletRequest, ServletResponse servletResponse) throws ServletException, IOException {
        System.out.println("service进来了......");
    }

    @Override
    public String getServletInfo() {
        return null;
    }

    @Override
    public void destroy() {

    }
}

 

配置servlet

 在项目的web.xml文件 中配置,(原理在下面说)

启动访问

控制台输出

 

说明我们的接口成功 

原理

项目启动的时候会把配置文件web.xml解析,把相关东西装进容器

1、我们访问的是这个地址:http://localhost:9002/MyServlet/demo1,找到虚拟目录MyServlet

2、接着找到资源路径/demo1,也就是配置里的<url-pattern>/demo1</url-pattern>内容,会映射找到<servlet-name>demo1</servlet-name>的内容demo1

3、接着根据demo1找到<servlet></servlet>标签里的内容,根据<servlet-name>demo1</servlet-name>对应找到<servlet-class>com.lingaolu.servlet.ServletDemo1</servlet-class>,这样就找到了我们的ServletDemo1类,

4、通过反射创建实例,然后会执行service方法,这是规范,所以要实现Servlet类并且实现相关的方法

注解配置(Servlet3.0以上)

通过上面我们了解了Servlet接口的创建与在web.xml的配置,但是配置有点繁琐,所以我们介绍一下注解配置

我们创建新的类ServletDemo2.同样实现Servlet接口

package com.lingaolu.servlet;

import javax.servlet.*;
import java.io.IOException;

/**
 * @author 林高禄
 * @create 2020-07-06-9:40
 */
public class ServletDemo2 implements Servlet {
    @Override
    public void init(ServletConfig servletConfig) throws ServletException {

    }

    @Override
    public ServletConfig getServletConfig() {
        return null;
    }

    @Override
    public void service(ServletRequest servletRequest, ServletResponse servletResponse) throws ServletException, IOException {
        System.out.println("service2222进来了......");
    }

    @Override
    public String getServletInfo() {
        return null;
    }

    @Override
    public void destroy() {

    }
}

 

因为我们创建项目的时候选的是servlet4.0,所以可以使用注解配置,然后我们的web.xml不需要写任何配置,也就是这个文件你删掉也可以

接着在我们ServletDemo2类名上加上注解@WebServlet("/demo2"),其中"/demo2"是你定义的资源路径

ctrl+鼠标左键查看一下 WebServlet

启动访问

 看控制台输出

是不是很方便,比在xml配置方便多了,所以以后我们写web项目,就使用Servlet3.0以上,使用注解配置,也不需要创建web.xml文件了。

Servlet的生命周期

Servlet的生命周期与详解

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

林高禄

你打不打赏,我都会一直写博客

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

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

打赏作者

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

抵扣说明:

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

余额充值