你要的Servlet技术(一)这里全都有!

1.Servlet技术

a)什么是Servlet?
1.Servlet就是javaEE规范之一。规范就是接口。
2.Servlet是javaweb三大组件之一。三大组件分别是:Servlet程序,Filter过滤器,Listener监听器。
3.Servlet是运行在服务器上的一个java小程序,它可以接受客户端发送过来的请求,并响应数据给客户端。
在这里插入图片描述
b)手动实现Servlet程序
1、编写一个类去实现Servlet接口
2、实现service方法,处理请求,并响应数据
3、到web.xml中去配置servlet程序的访问地址

public class HelloServlet implements Servlet {
    public HelloServlet() {
        System.out.println("HelloServlet()构造器被调用了");
    }

    @Override
    public void init(ServletConfig servletConfig) throws ServletException {
        System.out.println("HelloServlet的init()被调用了");
    }

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

    @Override
    public void service(ServletRequest servletRequest, ServletResponse servletResponse) throws ServletException, IOException {
        System.out.println("我是HelloServlet的service方法!");
    }

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

    @Override
    public void destroy() {
        System.out.println("HelloServlet的destroy()方法被调用了!");

    }
}

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

c)url地址到Serlvet程序的访问
在这里插入图片描述
d)Servlet的生命周期
1、执行Servlet的构造器方法
2、执行init()初始化方法
第一、二步,是在第一次访问的时候创建Servlet程序的时候会调用
只调用一次!!!
3、执行service()方法----每次访问都会调用
4、执行destroy()销毁方法,在web工程停止的时候调用
在这里插入图片描述
e)GET和POST请求的分发处理
在这里插入图片描述
f) 通过继承 HttpServlet 实现 Servlet 程序
一般在实际项目开发中,都是使用继承 HttpServlet 类的方式去实现 Servlet 程序。
1、编写一个类去继承 HttpServlet 类
2、根据业务需要重写 doGet 或 doPost 方法
3、到 web.xml 中的配置 Servlet 程序的访问地址

在这里插入图片描述
在这里插入图片描述
g) 使用 IDEA 创建 Servlet 程序
在这里插入图片描述

在这里插入图片描述
h)Servlet 类的继承体系
在这里插入图片描述
java7中HttpSevlet的doGet()和doPost()
在这里插入图片描述

在这里插入图片描述

2.ServletConfig类

在这里插入图片描述
ServletConfig 类从类名上来看,就知道是 Servlet 程序的配置信息类。
Servlet 程序和 ServletConfig 对象都是由 Tomcat 负责创建,我们负责使用。
Servlet 程序默认是第一次访问的时候创建,ServletConfig 是每个 Servlet 程序创建时,就创建一个对应的 ServletConfig 对象。

a)ServletConfig 类的三大作用
1、可以获取 Servlet 程序的别名 servlet-name 的值
2、获取初始化参数 init-param
3、获取 ServletContext 对象
在这里插入图片描述
在这里插入图片描述
注意点:
在这里插入图片描述

第一种获取ServletConfig的方式:

创建一个自己的Servlet类,然后继承HttpServlet,重写init方法(带参数的)
@Override
 
    public void init(ServletConfig config) throws ServletException {
 
        super.init(config);
 
        this.myServletConfig=config;
 
    }

在这里插入图片描述
否则会报错如下:
在这里插入图片描述

第二种获取ServletConfig的方式:

因为父类GenericServlet 中已经有这个方法,所以可以直接使用。
在这里插入图片描述

第三种获取ServletConfig的方式:使用this.getServletConfig.getIninParameter(String s);

由于父类GenericServlet 中已经有getServletConfig方法。其实也是得到config对象后,调用config的getInitParameter方法。

String username = this.getServletConfig().getInitParameter("username");

class HelloServlet2:
在这里插入图片描述
web.xml配置文件:

<servlet>
    <servlet-name>HelloServlet2</servlet-name>
    <servlet-class>com.atguigu.servlet.HelloServlet2</servlet-class>
    <init-param>
        <param-name>username</param-name>
        <param-value>root</param-value>
    </init-param>
    <init-param>
        <param-name>password</param-name>
        <param-value>123456</param-value>
    </init-param>
    <init-param>
        <param-name>address</param-name>
        <param-value>ChangSha</param-value>
    </init-param>
</servlet>
<servlet-mapping>
    <servlet-name>HelloServlet2</servlet-name>
    <url-pattern>/hello2</url-pattern>
</servlet-mapping>

输出结果:
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值