初学者对Servlet、JSP及Web容器之间关系的理解

Servlet就是一个Java程序,一个Servlet应用程序经常包含一个或者多个Servlet也就是当用户发送请求,例如提交表单,那么需要一个或多个Servlet协同作用,而访问的jsp页面也是一个Servlet。当每次我们发送请求时,Servlet应用程序中的service()方法就会被触发执行一次。当初次访问一个Servlet时,init()方法会触发执行一次,之后的请求都是执行service()方法。


如果你觉得奇怪,为什么没看到过service()这个方法,那是因为我们一般用的是通过继承HttpServlet来实现Servlet,而在HttpServlet中一般的请求我们只要@override doGet()doPost()方法即可实现我们对请求的处理。而HttpServlet中的service()方法会根据请求的类型调用对应的doGet()doPost()等等方法,所以只要实现doGet()doPost()方法等等即可。

为什么说jsp也是一个Servlet呢,那是因为当我们使用Servlet/JSP容器时,例如最常用的Tomcat会将jsp文件转化成相应的一个Servlet程序,jsp页面的主体就转化成相应代码位于service()方法当中。jsp技术只是将开发变得简单,然而基本原理还是不变的,实现及其复杂的Servlet就由Tomcat这一类的容器来实现,我们只要实现jsp页面就可以了。

访问Servlet只需为地址添加映射到Servlet类即可或者是@WebServlet注解实现。

Servlet是一个接口,含有五个方法:

  • init。仅在第一次访问Servlet时调用,之后不再调用。
  • service。每次请求Servlet时,Servlet容器都会调用这个方法。第一次调用init,之后调用service。这里编写Servlet要实现的处理代码。
  • destroy。销毁Servlet时,Servlet容器就会调用这个方法。
  • getServletInfo……
  • getServletConfig……

类与接口

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值