栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 系统运维 > 运维 > Linux

Servlet详解

Linux 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Servlet详解

一、什么是Servlet

 
1、 Servlet 是 JavaEE 规范之一。规范就是接口

2、 Servlet 就 lavaWeb 三大组件之一。三大组件分别是: Servet 程序、 Fiter 过滤器、 Listener 监听器。

3、 Servlet 是运行在服务器上的一个 java 小程序,它可以接收客户端发送过来的请求,并响应数据给客户。

很多地方也说Servlet是一个容器,本质上其实大同小异,说白了,Servlet就是从客户端接收到请求,并在Servlet中进行相应的操作,之后响应客户端。

这里我觉得理解为容器会更好一点,Servlet容器里含有接收请求和响应请求的对象,我们可以通过该容器接受到请求,并响应该请求。(像一个黑盒)

二、Servlet配置 
  
    HelloServlet
    untitled.servlet.HelloServlet
  
  
    HelloServlet
    /hello
  

1、标签表示给服务器配置Servlet程序,也就是告诉服务器我们有一个Srevlet程序可以供服务器响应客户算请求时使用

2、标签表示该sevlet程序的别名(一般是类名)

3、就表示该Servlet程序的全类名

4、用来配置程序的访问地址其中来表示访问某个路径时,做响应的Servlet程序是中表示的程序

简单来说,就是当我客户端要访问hello时,由HelloServlet来响应客户端的请求。

三、Servlet执行流程

我们以上面配置的Servlet以及下面的访问路径为例

http://localhost:8080/servlet/hello

我们来分解该访问路径

1、http:表示请求协议

2、localhost表示的是服务器的ip地址,即客户端用来锁定是哪个服务器来帮助我们完成请求的响应

3、:8080是端口号,通过端口号,定位到Tomcat

4、/servlet是工程路径,通过工程路径来确定访问那个工程

5、/hello表示资源路径,即我们通过/hello来确定我们用哪个servlet来响应我们的程序

上面呢个例子来说,我们的/hello路径通过一个叫HelloServlet程序来响应请求,HelloServlet又来找到我们的HelloServlet类,找到该类以后,通过该类(实现了servlet接口)中的service方法,我们来通过具体的方法响应请求。

四、Servlet生命周期

1、执行 Servlet 构造器方法

2、执行 init 初始化方法

第一、二步,是在第一次访问的时候创建 Servlet 程序会调用。

3、执行 service 方法

第三步,每次访问都会调用。

4、执行 destroy 销线方法

第四步,在 web 工程停止时候调用。
 

五、Servlet程序编写 

我们如果想自己实现自己的Servlet程序,只需要实现servlet接口即可

servlet中最重要的一个方法就是service方法,service用来在每一次请求访问servlet程序时对请求进行进行响应。 

public class MyFirstServlrt implements Servlet {
 
    @Override
    public void service(ServletRequest servletRequest, ServletResponse servletResponse) throws ServletException, IOException {
        //提供服务
    }
}      

我们可以通过调用servletRequest方法获取到请求方式(GET,POST等),通过if语句来分别编写不同的方法响应不同的请求。

Servlet接口中其他的两个方法(此处借用大佬讲的)

    getServletInfo( ),这个方法会返回Servlet的一段描述,可以返回一段字符串。

    getServletConfig( ),这个方法会返回由Servlet容器传给init( )方法的ServletConfig对象。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/643210.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号