JavaWeb之Servlet技术

本文介绍了Servlet的基本概念,包括其作为HTTP协议处理程序的作用,以及如何创建和配置Servlet。详细讲解了Servlet的生命周期,包括init、service和destroy方法,并通过实例展示了Servlet的创建过程。在web.xml中配置Servlet映射后,可以通过特定URL访问Servlet并接收响应。
摘要由CSDN通过智能技术生成

一、Servlet技术

1、Servlet概述

1.1 什么是servlet?

运行在web服务器的一个java小程序,通俗来讲,它就是一个java类,在使用servlet时,需要导入javax.servlet下的jar包。比如:tomcat服务器提供了servlet的servlet-api.jar包,所以在开发时用tomcat服务器就不需要再导入servlet的jar包。
servlet是一个资源,是用来被用户访问的资源,同时也是一个动态资源。

1.2 Servlet的作用

    它是基于Http协议的,主要是用来接收客户端发送的请求,处理请求,把数据响应给客户端,

2、Servlet的入门

2.1 Servlet的接口和实现类

    Servlet是一个接口,在javax.servlet包下面。
2.1.1 五个方法
   (1)destory():执行这个方法,销毁了servlet对象
   (2) init(ServletConfig config): 在web服务器创建servlet对象以后,执行这个初始化方法
   (3)service(ServletRequest req, ServletResponse res): 服务方法,用来接收客户端发送的请求,并且响应数据到客户端。
   (4)getServletConfig()
   (5)getServletInfo(): servlet的信息,比如作者、版本和版权,开发中不用
2.1.2 GenericServlet
    是一个类,实现了Servlet接口

   HttpServlet,是一个类,实现了Servlet接口,同时继承了GenerciServlet

2.2 创建servlet三种方式

  直接实现Servlet接口
  继承GenericServlet类
  继承HttpServlet类
  一般在开发中,创建servlet,通常去继承这个HttpServlet
  比如:class MyServlet extends HttpServlet(重写所需要的方法)

2.3 servlet的继承关系

    HttpServlet继承GenericServlet
    GenericServlet实现Servlet接口

3、实现第一个Servlet程序

 (1)自己动手创建Servlet,通过Dos命令窗口编译Servlet,把编译好的class文件部署到tomcat服务器运行。

 (2)通过Eclipse创建Servlet,部署到tomcat服务器,然后就可以访问所需要的Servlet。
      步骤:
        创建HelloWordServlet,继承GenericServlt。
        重写父类GenerciServlet的service方法。
        在服务方法里面,处理客户端的请求后,把数据响应给客户端。
        如果没有对应的包,则要先导入jar包:先拷贝对应的jar包,放到WebContent下面的WEB-INF下面的lib文件夹下面。jar的图标就变成小奶瓶。

        访问Servlet,提供servlet的访问路径:
/**
*自己创建Servlet, 继承GenericServlet
*重写它的服务方法:service
*
**/

public class HelloWordService extends GenericServlet{

     @Override
     public void service(ServletRequest arg0, ServletResponse arg1) throws ServletException, IOException{
        //处理客户端发送的请求,并且把数据响应给客户端
        System.out.println("接收了客户端的请求------------");
        //把数据响应给客户端 ,与浏览器绑定的输出流,作用向浏览器输出数据
        PrintWriter pw = response.getWriter();
        pw.print("Hello World");
     }
}

在xml文件中写入

<!--配置/hello,访问的servlet-->
<servlet>
  <servlet-name>helloWorld</servlet-name>
  <servlet-class>cn.itcast.firstmyapp.servlet.HelloWordServlet</servlet-class>
</servlet>

<!--配置浏览器访问servlet的路径-->
<servlet-mapping>
     <servlet-name>helloWorld</servlet-name>
     <url-pattern>hello</url-pattern>
</servlet-mapping>
访问:

http://localhost:8080/webFirst/hello

就找到对应的HelloWorldServlet,把数据响应给浏览器

4、Servlet的生命周期:

4.1 生命周期(自然界人从出生到最终走向西方极乐世界)

   从servlet对象被创建,经过使用servlet对象被销毁,整个过程就是servlet的生命周期。

4.2 生命周期相关的三个方法

 (1)init(ServletConfig config) 初始化方法: 首次访问这个Servlet, Servlet对象会被创建,执行初始化方法。
 (2)service(ServletRequest req, ServletResponse res) 服务方法:每次访问servlet时,服务方法都会被执行。
 (3)destroy()销毁方法:在服务器正常关闭时,会执行销毁方法,执行一次。

4.3 例子

public class LifeServlet extends GenericServlet{
    //初始化方法
    @Override
    public void init(ServletConfig config) throws ServletException{
            System.out.println("首次访问LifeServlet时,会执行这个初始化方法。。。");
    }

    //servlet的服务方法
    @Override
    public void service (ServletRequest arg0, ServletResponse arg1) throws ServletException, IOException
    {
        System.out.println("每次访问LifeServlet时,都会执行这个服务方法。。。");
    }

    //销毁方法
    @Override
    public void destroy(){
        System.out.println("在服务器关闭时,会执行销毁方法。。。");
    }
}

在web.xml文件上面配置访问路径

<servlet>
      <servlet-name>lifeServlet</servlet-name>
      <servlet-class>cn.itcast.firstmyapp.servlet.LifeServlet</servlet-class>
</servlet>
<servlet-mapping>
      <servlet-name>lifeServlet</servlet-name>
      <url-pattern>/life</url-pattern>
</servlet-mapping>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

熊凯瑞

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

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

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

打赏作者

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

抵扣说明:

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

余额充值