Servlet与HttpServlet

Request和Response的应用

本章重点内容

Servlet的功能,生命周期

与Servlet相关的类

HttpServletRequest

HttpServletResponse

HttpSession

ServletContext

ServletConfig

Servlet间的跳转

Servlet也是普通的java类,但是运行在服务端

Servlet通常需要配合服务器使用

Servlet接口中定义了5个方法:init(),service(),destory(),getServletInfo(),getServletConfig

出于性能优化的考虑,Servlet 往往是多线程运行的,客户的请求未必每次都能触发init() 和destory()

事件

init()

服务器实例化Servlet对象时触发

服务器一般采用多线程的方式运行,当用户第一次访问Servlet类时

,服务器才会创建对象,并触发init()事件。再次访问服务器只会重新开启一个线程来处理

不再触发 init()事件。除非 Servlet类的内容被改变,服务器才会重新实例话Servlet对象

service()

用户发生请求时触发

在service() 事件中要对用户的请求做出回应

destory()

Servlet对象将要结束前触发

所有的线程结束访问后,或Servlet类因为内容的改变需要重新加载前

,可能会触发destory()事件。服务器退出时一般也会触发

HttpServlet 是Servlet接口的一种实现,专门用来构建基于http协议的服务端程序

HttpServlet 与Servlet很相似,但重写了service()方法

客户端——Get请求--服务器--Httpservlet--init()--service()--doget(返回客户端)--destory()

实现自己的HttpServlet

继承HttpServlet

重写doGet()doPost()

如有必要重写init() 和destory()

init()中引用资源、

destory()中释放资源

HttpServletResponse

本类封装了对用户的回应,

如:

void setContentType(String type)

设置输出信息的类型和编码

了解MIME

注意:必须在信息输出前调用

PrintWriter getWriter()

返回一个 PrintWriter对象,用来输出信息

常见的Servlet运行图:

Servlet生命周期:

HttpServlet的生命周期:

java 中的servlet_java中的Servlet相关推荐

  1. servlet对java的重要性_浅谈Servlet技术中的Listener起到的作用

    Listener是在servlet2.3中加入的,主要用于对Session,request,context等进行监控. 使用Listener需要实现响应的接口.触发Listener事件的时候,tomc ...

  2. 运用《深入理解Java虚拟机》书中知识解决实际问题

    前言 以前看别人博客说看完<深入理解Java虚拟机>这本书并没有让自己的编程水平提高多少,不过却大大提高了自己的装逼水平.其实,我倒不这么认为,至少在我看完一遍这本书后,有一种醍醐灌顶的感 ...

  3. 用jsp_servlet实现在mysql中存储图片_从数据库中读取并生成图片的Servlet

    从数据库中读取并生成图片的Servlet 作者:未知    文章来源:www.jspcn.net 发布日期:2005年01月19日 作者:邵望 日期:2000-12-24 21:44:55 大体思路 ...

  4. java jee curd_Java / JEE中的有效日志记录–映射的诊断上下文

    java jee curd 这一切始于当我和一位同事坐在一起解决一些应用程序问题时,当我注意到一些有趣的事情时. 他正在合并代码,我的眼睛吸引了此类" org.apache.log4j.MD ...

  5. web csrf java_在Java Web应用程序中阻止CSRF

    web csrf java 跨站点请求伪造攻击(CSRF)在Web应用程序中非常常见,如果允许,可能会造成重大危害. 如果您从未听说过CSRF,建议您查看有关它的OWASP页面 . 幸运的是,阻止CS ...

  6. 在Java Web应用程序中阻止CSRF

    跨站点请求伪造攻击(CSRF)在Web应用程序中非常常见,如果允许,可能会造成重大危害. 如果您从未听说过CSRF,建议您查看有关它的OWASP页面 . 幸运的是,阻止CSRF攻击非常简单,我将向您展 ...

  7. java钟使用dwr_DWR中各种java方法的调用

    DWR是一个框架,简单的说就是能够在javascript直接调用java方法,而不必去写一大堆的javascript代码.它的实现是基于ajax的,可以实现无刷新效果. 网上有不少DWR的例子,但大都 ...

  8. servlet和action中获取URL中的汉字(解决URL中汉字为乱码的问题) .

    2019独角兽企业重金招聘Python工程师标准>>> 最近在项目中又遇到一个小问题,通过HttpURLConnection来传递汉字时,服务端获取汉字参数时都为乱码,以下分别为在s ...

  9. 盘点Java技术在生活中的10大应用

    没有见过用Java编写的游戏.桌面系统.办公软件?如果你是一个初学者或者只是刚刚开始学习Java,你或许会疑虑,Java到底是在哪里被运用了呢?如何正确的在现实世界中运用Java? 当你在安装Java ...

最新文章

  1. Python练习题:如何将多个小字符串拼接成一个大的字符串
  2. mysql存储过程是什么
  3. Linux内核ARM构架中原子变量的底层实现研究
  4. Random Forest 资源汇总(待续)
  5. Kafka 监控 Kafka Eagle 精简版本
  6. Lenet神经网络实现
  7. 软件测试工程师如何编写一篇杀手级简历?
  8. 使用 jQuery 修改 css 中带有 !important 的样式属性
  9. 面向对象的三个基本特征_杂谈:JavaScript面向对象
  10. 计算机ps一级知识点,2017年计算机等级一级Photoshop常考知识点
  11. 设计模式(一) 六大原则
  12. 如何对待新事物_以积极态度看待不断出现的新事物
  13. NotADirectoryError: [WinError 267] 目录名称无效和OSError: [Errno 22] Invalid argument:解决办法
  14. 用python搭建一个服务器
  15. Neurosim的manual细读(四)
  16. 什么是云手机?有免费的云手机吗?
  17. 【读书笔记】Unity 3D脚本编程--使用c#语言开发跨平台游戏(韦佳栋)
  18. 彩笔的第一个模型:DOTA数据集YOLOv5目标检测
  19. 嵌入式开发一定用的着的网站分享
  20. 为什么华为电脑不是鸿蒙系统,【图片】华为鸿蒙系统的厉害之处在于 你可能非用不可 !【手机吧】_百度贴吧...

热门文章

  1. 如何自行分析SAP WebClient UI开发环境里抛出的错误消息根源
  2. 今天,我要在睡梦里,和死神握握手
  3. SAP Data Hub里的Constant Generator
  4. SAP Cloud for Customer ABSL的一些优化
  5. 在GetSSL上申请和使用免费的SSL证书
  6. SAP UI5 fullScreenPageRoutes in Component.js
  7. How product extension field is involved in search scenario
  8. Regarding empty field check in business document save
  9. SAP CRM WebClient UI WebUI Runtime repository design
  10. Java AOP研究之@Aspect注解的工作原理