JavaWeb学习之Servlet的学习(一)

来源:互联网 发布:金蝶软件科技有限公司 编辑:程序博客网 时间:2024/04/20 08:16
首先是对HTTP协议的学习,HTTP协议是浏览器与服务器之间的通信协议,是TCP/IP协议的一个应用层协议,用于定义WEB浏览器与WEB服务器之间交换数据的过程,使用请求-响应的方式进行传输,一个请求对应一个响应,并且请求只能是由客户端发起的。

HTTP请求中的常用头

GET /books/java.html HTTP/1.1

//请求行用于描述客户端的请求方式、请求的资源名称,以及使用的HTTP协议版本号


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请求中的常用头

Location:http://www.it315.org/index.jsp 
Server:apachetomcat
Content-Encoding:gzip 
Content-Length: 80 
Content-Language:zh-cn 
Content-Type:text/html; charset=GB2312 
Last-Modified:Tue, 11 Jul 2000 18:23:51 GMT
Refresh:1;url=http://www.it315.org
Content-Disposition:attachment;filename=aaa.zip
Transfer-Encoding:chunked  
Set-Cookie:SS=Q0=5Lb_nQ;path=/search
ETag:W/"83794-1208174400000"
Expires: -1 ---- 通知浏览器是否缓存当前资源 ,如果这个头的值是一个以毫秒为单位值就是通知浏览器缓存资源到指定的时间点,如果值是0或-1则是通知浏览器禁止缓存
Cache-Control: no-cache  -- 通知浏览器是否缓存资源
Pragma: no-cache    -- 通知浏览器是否缓存资源
            之所以三个头是一个功能,是因为历史原因.不同的浏览器对这三个头支持的不同,一般来说这三个头要同时使用确保不同的浏览器都能实现控制缓存的功能。
Connection: close/Keep-Alive   
Date: Tue, 11 Jul 2000 18:23:51 GMT
//空一行,下接实体内容





  
有了HTTP基础,接下来简单介绍servlet
Servlet概述
1.sun公司提供的动态web资源开发技术。本质是上一段java小程序,要求这个小程序必须实现Servlet接口,以便服务器能够调用。
2.开发Servlet的两个步骤
*实验:Servlet的快速入门
(1)步骤一:写一个java程序实现Servlet接口(此处直接继承了默认实现类GenericServlet)
package cn.itheima;
import java.io.*;
import javax.servlet.*;

public class FirstServlet extends GenericServlet{
public void service(ServletRequest req, ServletResponse res) throws ServletException, java.io.IOException{
res.getOutputStream().write("My FirstServlet!".getBytes());
}

}

(2)将编译好的带包的.class放到WEB-INF/classes下以外,还要配置web应用的 web.xml注册Servlet
<servlet>
       <servlet-name>FirstServlet</servlet-name>
       <servlet-class>cn.itheima.FirstServlet</servlet-class>
   </servlet>
   <servlet-mapping>
       <servlet-name>FirstServlet</servlet-name>
       <url-pattern>/FirstServlet</url-pattern>
   </servlet-mapping>
3.利用MyEclipse开发Servlet















//
0 0