Servlet 程序的实现

2021/10/22 11:39:34

本文主要是介绍Servlet 程序的实现,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档

文章目录

  • Servlet是什么?
  • 一.怎样去使用Servlet
    • 1. b)手动实现 Servlet 程序
    • 2.关于浏览器访问配置的地址有一张图解释原理
    • 3.关于Servlet中的函数的生命周期
    • 关于Servlet的实现一般采用通过继承 HttpServlet 实现 Servlet 程序
    • 为什么可以通过继承HttpServlet来实现Servlet
    • 总结


Servlet是什么?

Servlet 技术
a)什么是 Servlet
1、Servlet 是 JavaEE 规范之一。规范就是接口
2、Servlet 就 JavaWeb 三大组件之一。三大组件分别是:Servlet 程序、Filter 过滤器、Listener 监听器。
3、Servlet 是运行在服务器上的一个 java 小程序,它可以接收客户端发送过来的请求,并响应数据给客户端。

一.怎样去使用Servlet

1. b)手动实现 Servlet 程序

1、编写一个类去实现 Servlet 接口
2、实现 service 方法,处理请求,并响应数据
3、到 web.xml 中去配置

代码如下(示例):

public class HelloServlet implements Servlet {
/**
* service 方法是专门用来处理请求和响应的
* @param servletRequest
* @param servletResponse
* @throws ServletException
* @throws IOException
*/
@Override
public void service(ServletRequest servletRequest, ServletResponse servletResponse) throws
ServletException, IOException {
System.out.println("Hello Servlet 被访问了");
}
}

使用Servlet程序需要给该程序配置一个访问地址 这个地址一般配置在 WEB-INF下的web.xml文件中

如下配置

<?xml version="1.0" encoding="UTF-8"?>

HelloServlet com.atguigu.servlet.HelloServlet HelloServlet /hello

2.关于浏览器访问配置的地址有一张图解释原理

在这里插入图片描述

3.关于Servlet中的函数的生命周期

Servlet 的生命周期
1、执行 Servlet 构造器方法
2、执行 init 初始化方法
第一、二步,是在第一次访问,的时候创建 Servlet 程序会调用。
3、执行 service 方法
第三步,每次访问都会调用。
4、执行 destroy 销毁方法
第四步,在 web 工程停止的时候调

关于Servlet的实现一般采用通过继承 HttpServlet 实现 Servlet 程序

1、编写一个类去继承 HttpServlet 类
2、根据业务需要重写 doGet 或 doPost 方法
3、到 web.xml 中的配置 Servlet 程序的访问地址

public class HelloServlet2 extends HttpServlet {
/**
* doGet()在 get 请求的时候调用
* @param req
* @param resp
* @throws ServletException
* @throws IOException
*/
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException,
IOException {
System.out.println("HelloServlet2 的 doGet 方法");
}
/**
* doPost()在 post 请求的时候调用
* @param req
* @param resp
* @throws ServletException
* @throws IOException
*/
@Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException,
IOException {
System.out.println("HelloServlet2 的 doPost 方法");
}
}

web.xml配置文件

HelloServlet2 com.atguigu.servlet.HelloServlet2 HelloServlet2 /hello2

为什么可以通过继承HttpServlet来实现Servlet

我们可以通过此图来看清Servlet类的继承体系
1.Servlet接口由 GenericServlet类实现,而HttpServlet又继承了GenericServlet类我们编写Servlet程序时可以直接继承HttpServlet类来实现Servlet程序。
为什么不直接实现Servlet接口来搞Servlet程序那?
实现接口你会发现有很多方法我们无法直接使用

这里我猜想前面的Servlet接口里并没有过多的便于我们操作的方法,在GenericServlet和HttpServlet
又增加了许多不为人知的 方法与定义供我们继承使用
在这里插入图片描述

总结

这次的博客就到这里吧,最近有点焦虑,觉得学校学习的课程自己学不完,但是自己也想按照自己的路线走,自己平时又懒惰,导致了现在自己处于一种两难的境地。
但是我觉得自己按照自己的路走比较稳妥一些,不然大学过完自己没什么专精到时候就很尴尬了。
加油吧最近的目标就是学完java web。



这篇关于Servlet 程序的实现的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!


扫一扫关注最新编程教程