博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
什么是servlet?
阅读量:5117 次
发布时间:2019-06-13

本文共 1210 字,大约阅读时间需要 4 分钟。

什么是servlet?servlet的运行原理?如何自定义一个servlet?

1.什么是Servlet?

Servlet是SUN公司推出的在服务器端处理HTTP协议的组件规范。

2.Servlet的运行原理?

 

  1. 浏览器通过向服务器发送的ip地址,端口号等信息与服务器建立连接。
  2. 建立连接后浏览器端通信组件将请求数据打包,然后将请求数据发送给服务器。
  3. 服务器接收到用户请求数据后服务器端通信组件将数据拆包。
  4. 创建request请求对象和response响应对象。
  5. 创建Servlet实例对象后调用该实例对象的doGet/doPost/service方法传入request请求对象和response响应对象。
  6. request请求对象接收请求信息数据,处理完毕后由response相应对象将处理结果进行响应。
  7. 服务器端通信组件将响应信息打包并发送给浏览器。
  8. 浏览器接收到响应信息后通信组件将其拆包并将数据展示在浏览器页面
  9. 响应结束与服务器端口断开连接。

3.Servlet生命周期?

实例化:在第一次访问或启动tomcat时,tomcat会调用此无参构造方法实例化servlet。

初始化:tomcat在实例化此servlet后,会立即调用init方法初始化servlet。

就绪:容器收到请求后调用servlet的service方法来处理请求。

销毁:容器依据自身算法删除servlet对象,删除前会调用destory方法

其中实例化,初始化,销毁只会执行一次,service方法执行多次,默认情况下servlet是在第一次接受到用户请求的情况下才会实例化,可以在web.xml中的<servlet><servlet>标签内添加一个<load-on-startup>1<load-on-startup>配置,此时在启动tomcat时会创建servlet实例。

4.如何实现一个自定义的servlet?

 

  1. 写一个Servlet类extends HttpServlet并重写doPost或doGet或service方法
  1. 在web.xml中进行部署

        <servlet> 

           <servlet-name>别名</servlet-name>

           <servlet-class>包名.项目名(类名)</servlet-class> 

       </servlet>

       <servlet-mapping>

           <servlet-name>别名<servlet-name>

          <url-pattern>/网络路径名</url-pattern>

      </servlet-mapping>

5.servlet中不同的状态码对应的错误问题?

转载于:https://www.cnblogs.com/simple-oracle/p/10747981.html

你可能感兴趣的文章
[转]: 视图和表的区别和联系
查看>>
Regular Experssion
查看>>
图论例题1——NOIP2015信息传递
查看>>
uCOS-II中的任务切换-图解多种任务调度时机与问题
查看>>
CocoaPods的安装和使用那些事(Xcode 7.2,iOS 9.2,Swift)
查看>>
Android 官方新手指导教程
查看>>
幸运转盘v1.0 【附视频】我的Android原创处女作,请支持!
查看>>
UseIIS
查看>>
集合体系
查看>>
vi命令提示:Terminal too wide
查看>>
引用 移植Linux到s3c2410上
查看>>
MySQL5.7开多实例指导
查看>>
[51nod] 1199 Money out of Thin Air #线段树+DFS序
查看>>
poj1201 查分约束系统
查看>>
Red and Black(poj-1979)
查看>>
分布式锁的思路以及实现分析
查看>>
腾讯元对象存储之文件删除
查看>>
jdk环境变量配置
查看>>
安装 Express
查看>>
包含列的索引:SQL Server索引的阶梯级别5
查看>>