您的位置:首页 > 编程语言 > Java开发

javaweb-1

2016-08-23 20:06 155 查看
HTTP是hypertext transfer protocol(超文本传输协议)的简写,它是TCP/IP协议的一个应用层协议,用于定义WEB浏览器与WEB服务器之间交换数据的过程。

HTTP使用请求-响应的方式进行传输,一个请求对应一个响应,并且请求只能是由客户端发起的。

一个完整的HTTP请求包括如下内容:

一个请求行、若干请求头、以及实体内容

请求行

GET /books/java.html HTTP/1.1

请求方式 请求的资源名 所遵循的协议

请求方式:GET、POST,

其中GET方式在请求资源的URL后跟“?参数名=参数值&参数名=。。。”方式传递参数,传输的数据内容最大为1K

其中POST方式在请求实体中传输数据

除了用Form表单明确用method指定用post方式提交数据以外,其他的方式都是GET提交方式

2.2请求头

Accept: text/html,image/* 客户端可以接受的数据类型

Accept-Charset: ISO-8859-1 客户端接受数据需要使用的字符集编码

Accept-Encoding: gzip,compress 客户端可以接受的数据压缩格式

Accept-Language: en-us,zh-cn 可接受的语言环境

Host: www.it315.org:80 想要访问的虚拟主机名

If-Modified-Since: Tue, 11 Jul 2000 18:23:51 GMT 这是和缓存相关的一个头,带着缓存资源的最后获取时间

Referer: http://www.it315.org/index.jsp 这个头表示当前的请求来自哪个链接,这个头和防盗链的功能相关

User-Agent: Mozilla/4.0 (compatible; MSIE 5.5; Windows NT 5.0) 客户端的一些基本信息

Cookie 会在后面讲会话技术的时候单讲

Connection: close/Keep-Alive 指定是否继续保持连接

Date: Tue, 11 Jul 2000 18:23:51 GMT 当前时间

一个HTTP响应代表服务器向客户端回送的数据,它包括:

一个状态行、若干响应头(消息头)、以及实体内容 。

状态码:

100~199 表示成功接收请求,要求客户端继续提交下一次请求才能完成整个处理过程

200~299 表示成功接收请求并已完成整个处理过程,常用200

300~399 为完成请求,客户需进一步细化请求。例如,请求的资源已经移动一个新地址,常用302、307和304

400~499 客户端的请求有错误,常用404

500~599 服务器端出现错误,常用 500

Servlet程序是由WEB服务器调用,web服务器收到客户端的Servlet访问请求后:

Web服务器首先检查是否已经装载并创建了该Servlet的实例对象。如果是,则直接执行第④步,否则,执行第②步。

②装载并创建该Servlet的一个实例对象。

调用Servlet实例对象的init()方法。

④创建一个用于封装HTTP请求消息的HttpServletRequest对象和一个代表HTTP响应消息的HttpServletResponse对象,然后调用Servlet的service()方法并将请求和响应对象作为参数传递进去。

WEB应用程序被停止或重新启动之前,Servlet引擎将卸载Servlet,并在卸载之前调用Servlet的destroy()方法。

HttpServlet指能够处理HTTP请求的servlet,它在原有Servlet接口上添加了一些与HTTP协议处理方法,它比Servlet接口的功能更为强大。因此开发人员在编写Servlet时,通常应继承这个类,而避免直接去实现Servlet接口。

HttpServlet在实现Servlet接口时,覆写了service方法,该方法体内的代码会自动判断用户的请求方式,如为GET请求,则调用HttpServlet的doGet方法,如为Post请求,则调用doPost方法。因此,开发人员在编写Servlet时,通常只需要覆写doGet或doPost方法,而不要去覆写service方法。

元素用于注册Servlet,它包含有两个主要的子元素:和,分别用于设置Servlet的注册名称和Servlet的完整类名。

一个元素用于映射一个已注册的Servlet的一个对外访问路径,它包含有两个子元素:和,分别用于指定Servlet的注册名称和Servlet的对外访问路径。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: