什么是servlet?
.Sun(oracle)公司制定的一种用来扩展Web服务器功能的组件规范.
组件:在软件开发行业,符合一定规范,实现部分功能,并且需要部署到容器中才能运行的软件模块
容器:符合一定规范,提供组件运行环境的一个程序
什么是HTTP协议?
HyperText Transfer Protocol
是由w3c(万维网联盟)制定的一种应用层协议,用来定义浏览器与web服务器之间
如何通信以及通信的数据格式.
Request Message
GET /sayHi HTTP/1.1 请求行 :请求方式+请求资源路径+协议版本
Host :localhost
Connection:Keep-Alive消息头:是一些键值对,一般由W3C定义.通信双方通过消息头传递一些特定的含义
User-Agent:Mozilla/4.0如:浏览器发送User-Agent消息头告诉Web服务器,浏览器类型和版本 ,大部分是自动生成,有时也需自己添加消息头
Accept:image/gif,image/jpeg
-----------blank line-------------------
(Empty body)实体内容,请求方式为POST时才有内容,即请求参数
Response Message
HTTP/1.1 200 OK状态行(status line)协议类型+版本+状态码+状态描述
Date:...
Server:Apache/2.0.45消息头(header):web服务器返回一些消息头给浏览器,如Content-Type消息头,告诉浏览器服务器返回的数据类型和字符集
Last-Modified:...
Content-Type:text/html
---------blank line-----------
<html><head><title>say实体内容:程序处理的结果
hi</title></head>
<body><h1>Hello World</h1>
</body></html>
如何控制通信数据
当Web容器收到一个Http请求时,通信数据由Web容器赋值封装和提供
这些信息被解释成两个对象,请求数据对应的HttpServletRequest和响应对应的HttpServletResponse类型对象
HttpServletRequest对象代表客户端的请求,客户端通过HTTP协议访问服务器时,请求中所有消息都封装在这个
对象中,通过这个对象的相关方法可以获取请求数据
作用:-读取和写入HTTP请求数据
-取得和设置Cookies
-去的路径信息
-标识HTTP会话
-实现请求转发
HttpServletResponse对象代表提供给客户端的响应,封装了HTTP的响应数据。通过这个对象可设置
状态行、消息头、实体内容。
作用:
-设置对客户端的输出内容
-设置响应的状态吗
-设置浏览器解码方式
-设置Cookies
-实现重定向
web工程的目录结构:
appName
WEB-INFO
classes,web.xml