JavaWeb之Servlet组件

Servlet组件

1.1 Servlet概述

Servlet是JavaWeb的 三大组件之一 (Servlet、Filter(过滤器)、Listener(监听器)) ,它属于动态资源。Servlet的作用是处理请求,服务器会把接收到的请求交给Servlet来处理,在Servlet中通常需要:

  • 接收请求数据;
  • 处理请求;
  • 完成响应。

例如客户端发出登录请求,或者输出注册请求,这些请求都应该由Servlet来完成处理!Servlet需要程序员自己来编写,每个Servlet必须实现javax.servlet.Servlet接口。

1.2 实现Servlet的方式

实现Servlet有三种方式:

  • 实现javax.servlet.Servlet接口;
  • 继承javax.servlet.GenericServlet类;
  • 继承javax.servlet.http.HttpServlet类;

1.2.1 例子1:实现javax.servlet.Servlet接口

(1)配置web.xml

<!--配置Servlet, 一个Servlet类绑定一个url(客户端访问入口)-->
    <servlet>
        <!-- 名称 随意取, 一般取名类名-->
        <servlet-name>AServlet</servlet-name>
        <!--对应的Servlet类, 全限定名(包.类名) -->
        <servlet-class>com.fs.wwl.web.AServlet</servlet-class>

        <!--配置初始化参数-->
        <init-param>
            <param-name>name</param-name>
            <param-value>张三</param-value>
        </init-param>
        <init-param>
            <param-name>age</param-name>
            <param-value>21</param-value>
        </init-param>
    </servlet>
    <servlet-mapping>
        <!--名称, 与对应servlet的servlet-name一样 -->
        <servlet-name>AServlet</servlet-name>
        <!--绑定url: /路径  一般取名: /类名 -->
        <url-pattern>/AServlet</url-pattern>
    </servlet-mapping>

在web.xml中配置Servlet的目的其实只有一个,就是把访问路径与一个Servlet绑定到一起,上面配置是把访问路径:“/AServlet”与“com.fs.wwl.web.AServlet”绑定到一起。

  • <servlet>:指定AServlet这个Servlet的名称为AServlet;

  • <servlet-mapping>:指定/AServlet访问路径所以访问的Servlet名为AServlet。

    <servlet><servlet-mapping>通过<servlet-name>这个元素关联在一起了!

接下来,我们编译AServlet,注意,编译AServlet时需要导入servlet-api.jar,因为Servlet.class等类都在servlet-api.jar中。
然后启动Tomcat,在浏览器中访问:http://localhost:8080/AServlet即可在控制台上看到输出!

(2) 编写AServlet实现Servlet 接口

/**
 *  取Servlet的类名:  XxxServlet
 * 实现Servlet的第一种方式
 *   实现javax.servlet.Servlet接口
 */
public class AServlet implements Servlet {
   
    private ServletConfig servletConfig;  //默认null

    /**
     * 初始化方法    生命周期方法, 由Tomcat调用    做初始化操作
     *   在Servlet创建之后调用, 调用一次
     * @param servletConfig
     * @throws ServletException
     */
    @Override
    public void init(ServletConfig servletConfig) throws ServletException {
   
        System.out.println("555~~555,我出生了...");
        this.servletConfig = servletConfig;
    }

    /**
     * 得到ServletConfig对象 (Servlet的配置)
     *
     * @return
     */
    @Override
    public ServletConfig getServletConfig() {
   
        return servletConfig;
    }

    /**
     * 最重要的方法, 接收用户请求,处理用户请求, 响应结果
     * Tomcat调用:  生命周期方法   , 每请求一次,执行一次
     * @param servletRequest
     * @param servletResponse
     * @throws ServletException
     * @throws IOException
     */
    @Ove
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

小温豌豆

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

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

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

打赏作者

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

抵扣说明:

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

余额充值