Servlet开发

用户在浏览器中输入一个网址并回车,浏览器会向服务器发送一个HTTP请求。服务器端程序接受这个请求,并对请求进行处理,然后发送一个回应。浏览器收到回应,再把回应的内容显示出来。这种请求—响应模式就是典型的Web应用程序访问过程。

JavaWeb应用程序中所有的请求—响应都是由Servlet完成的。 Servlet是JavaWeb的核心程序,所有的网址最终都交给Servlet处理。Servlet并没有main之类的执行方法。当用户访问服务器的 时候,Tomcat是通过调用Servlet的某些方法来完成整个处理过程的。

Servlet是什么

一个Servlet程序就是一个实现了特殊接口的Java类,它由支持Servlet的Web服务器调用和启动运行。一个Servlet程序负责处理它所对应的一个或一组URL地址的访问请求,并接收客户端发出的访问请求信息和产生响应内容。

Servlet程序可以完成普通Java程序所能完成的大多数任务:

  • 获取客户端通过HTML的FORM表单提交的数据和URL后面的参数信息
  • 创建对客户端的响应信息内容
  • 访问服务器端的文件系统
  • 连接数据库并开发基于数据库的应用
  • 调用其它的Java类

Servlet工作流程

浏览器提交的请求是遵循HTTP协议的文本。这段文本由服务器也就是Tomcat 接收并解析,封装成了HttpServletRequest类型的request对象。所有的HTTP头数据都可以通过request相应的方法查询到。 Tomcat同时把输出流封装成为HttpServletResponse类型的response对象,通过设置response对象可以控制输出的内 容。在请求—响应的这个过程中,Tomcat把request对象、response对象作为参数,调用Servlet的相应方法,例如 doPost(request,response)、doGet(request,response)等。

Servlet接口

Servlet是一种实现了javax.servlet.Servlet接口的 类。Servlet接口规定了特定的方法来处理特定的请求。Servlet规范是建立在HTTP规范基础上的。HTTP 1.1 规范支持OPTIONS、GET、POST、HEAD、PUT、DELETE、TRACE等7中访问方式,其中最常用的就是GET和POST了。

GET:表示查询信息,URL中可以附带少量的参数信息,但是URL总长度不能超过255个字符,并且参数会显示在浏览器地址栏。

POST:表示提交信息,一般用于提交大数据信息或者文件,提交的内容不受长度限制,并且不会显示在浏览器地址栏中。

<servlet>和</servlet>分别为 Servlet配置的开始标签和结束标签。中间的部分就是一个Servlet的配置信息。其中<servlet-name> 与<servlet-class>属性分别为Servlet的名称和类名,都是必须配置的。<servlet-name>可以是 任意的字符串,但是必须保证该名称在web.xml里唯一。

使用<init-param>标签可以配置一个初始化参数,包括一个 参数名称和一个参数值。一个Servlet可以配置多个初始化参数。Servlet中可以使用方法 getServletContext().getInitParam(String paramName)来取得配置的初始化参数值。

标签<load-on-startup>配置该Servlet的加载方式,可选值为0和1,。如果配置为1,Tomcat在启动的时候就加载该Servlet,否则,Tomcat会在第一次请求该Servlet的时候才加载。

转载于:https://www.cnblogs.com/AutumnRhyme/p/4562844.html

JavaWeb学习--Servlet认识相关推荐

  1. html与java接口,JavaWeb学习——Servlet相关的接口和类

    JavaWeb学习--Servlet相关的接口和类 摘要:本文主要学习了Servlet相关的接口和类. Servlet的接口和类 三种方式 实现Servlet有三种方式: 实现javax.servle ...

  2. javaweb学习总结(六)——Servlet开发(二)

    一.ServletConfig讲解 1.1.配置Servlet初始化参数 在Servlet的配置文件web.xml中,可以使用一个或多个<init-param>标签为servlet配置一些 ...

  3. javaweb学习总结(六):Servlet开发(二)

    一.ServletConfig讲解 1.1.配置Servlet初始化参数 在Servlet的配置文件web.xml中,可以使用一个或多个<init-param>标签为servlet配置一些 ...

  4. 【转载】 javaweb学习总结(二十二)——基于Servlet+JSP+JavaBean开发模式的用户登录注册 - 孤傲苍狼 - 博 http://www.cnblogs.com/xdp-gacl/

    javaweb学习总结(二十二)--基于Servlet+JSP+JavaBean开发模式的用户登录注册 一.Servlet+JSP+JavaBean开发模式(MVC)介绍 Servlet+JSP+Ja ...

  5. JavaWeb学习笔记(十)--HttpServletRequest

    1. HttpServletRequest简介 HttpServletRequest对象代表客户端的请求,当客户端通过HTTP协议访问服务器时,HTTP请求头中的所有信息都封装在这个对象中 2. Ht ...

  6. javaweb学习总结(四)——Http协议

    javaweb学习总结(四)--Http协议 一.什么是HTTP协议 HTTP是hypertext transfer protocol(超文本传输协议)的简写,它是TCP/IP协议的一个应用层协议,用 ...

  7. 转载:javaweb学习总结(二十三)——jsp自定义标签开发入门

    javaweb学习总结(二十三)--jsp自定义标签开发入门 转自:http://www.cnblogs.com/xdp-gacl/p/3916734.html 一.自定义标签的作用 自定义标签主要用 ...

  8. javaweb学习总结(三十九)——数据库连接池

    javaweb学习总结(三十九)--数据库连接池 一.应用程序直接获取数据库连接的缺点 用户每次请求都需要向数据库获得链接,而数据库创建连接通常需要消耗相对较大的资源,创建时间也较长.假设网站一天10 ...

  9. JavaWeb学习之路——SSM框架之SpringMVC(八)

    SpringMVC参数传递:把内容写到方法(HandlerMethod)参数中,SpringMVC只要有这个内容,则会注入,在这里使用注解的方式来传递参数 前提使用springmvc注解功能,相应配置 ...

  10. Javaweb学习路线(自学规划)

    一.Java学习路线 第一阶段:Java基础,包括java语法,面向对象特征,常见API,集合框架; (基础) 第二阶段:java界面编程,包括AWT,事件机制,SWING,(不常用)这个部分也可以跳 ...

最新文章

  1. Uber AI实验室总结「神经进化」研究:如何利用遗传算法优化网络?
  2. 第二讲 Best Practices For Running IIS 6.0 And ASP.NET
  3. redis五种数据类型的应用场景_Redis五种不同的数据类型
  4. php基础标签大全,HTML基础之HTML常用标签
  5. GitHub的CI实践(xUnit / OpenCover /Appveyor / Coveralls.net)
  6. .NET存储过程入门
  7. 文件与用户管理linux实验,实验03 Linux用户和权限管理
  8. python为运行为何出现乱码_python中文的显示乱码怎么办
  9. 私有云计算保密技术谁家靠谱?云宏CNware®虚拟化平台安全体系设计
  10. python 网络音乐播放器(二):tkinter 实现歌词同步滚动
  11. 刷题42-m升水倒入n个杯子(动态规划)
  12. c语言 宏常量 pi,宏和常量
  13. pip使用代理安装python模块
  14. 浅谈如何在优麒麟22.04中使用Eigenstrat和Plink工具生成类23andMe格式原始数据
  15. 回归A股成“网红”,中芯国际20年芯片发展史
  16. 计算机中rom,计算机中rom指的是内存还是外存
  17. 几款常见蓝牙芯片整理
  18. Ext4 vs XFS——你应该使用哪个文件系统
  19. Swift2.2 学习笔记(十二) ___控制流
  20. Java消息服务【必看】

热门文章

  1. PostgreSQL是否区分大小写
  2. cmd 下关闭不需要的进程
  3. 【NeurIPS2020】之预训练语言模型压缩
  4. 知乎高赞:985计算机视觉毕业后找不到工作怎么办?怒刷leetcode,还是另寻他路?...
  5. 【Linux】五分钟搞定 Linux 文档全部知识,就看这篇文章
  6. 【为书豪相亲】单身小姐姐你在哪里,我是书豪,我在等你
  7. 只知道CS224N?斯坦福最新推出NLU公开课CS224U
  8. 收藏 | 《周志华机器学习详细公式推导版》发布,Datawhale开源项目pumpkin-book
  9. 概率论从入门到放弃?布朗学霸火到宕机的毕业作品,让统计“看得见”
  10. 深度学习2.0-7.tensorflow的高阶操作之数据统计