




已阅读5页,还剩9页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
一、 http协议超文本传输协议 (HTTP-Hypertext transfer protocol) 是一种详细规定了浏览器和万维网服务器之间互相通信的规则,通过因特网传送万维网文档的数据传送协议。HTTP是Hyper Text Transfer Protocol(超文本传输协议)的缩写。它的发展是万维网协会(World Wide Web Consortium)和Internet工作小组IETF(Internet Engineering Task Force)合作的结果,(他们)最终发布了一系列的RFC,RFC 1945定义了HTTP/1.0版本。其中最著名的就是RFC 2616。RFC 2616定义了今天普遍使用的一个版本HTTP 1.1。HTTP协议(HyperText Transfer Protocol,超文本传输协议)是用于从WWW服务器传输超文本到本地浏览器的传送协议。它可以使浏览器更加高效,使网络传输减少。它不仅保证计算机正确快速地传输超文本文档,还确定传输文档中的哪一部分,以及哪部分内容首先显示(如文本先于图形)等。HTTP是一个应用层协议,由请求和响应构成,是一个标准的客户端服务器模型。HTTP是一个无状态的协议。发出的请求信息包括以下几个:请求行,例如GET /images/logo.gif HTTP/1.1,表示从/images目录下请求logo.gif这个文件。(请求)头,例如Accept-Language: en空行可选的消息体请求行和标题必须以作为结尾(也就是,回车然后换行)。空行内必须只有而无其他空格。在HTTP/1.1协议中,所有的请求头,除post外,都是可选的。1.了解HTTP协议:在myeclipse里面新建一个web工程,新建一个test.java:import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;import java.io.OutputStreamWriter;import java.io.PrintWriter;import .Socket;public class test public static void main(String args) throws IOException Socket s=new Socket(,8080);/Socket连到哪儿了?Tomcat的Server上了。 PrintWriter pw=new PrintWriter(new OutputStreamWriter(s.getOutputStream();/得到Socket的输出流,输出到Tomcat的Server上。 pw.println(GET / HTTP/1.1); /get方式或者post方式,注意Get后面的/表示:8080/最后的斜杠 pw.println(Host: localhost); /一般指域名 pw.println(Content-Type: text/html); /反馈的内容类型是html类型 pw.println(); /空行,表示发送的东西已经结束 pw.flush(); BufferedReader br=new BufferedReader(new InputStreamReader(s.getInputStream(); /请求之后的反馈,通过输入流读取 String str=; while(str=br.readLine()!=null) System.out.println(str);/逐行输出 br.close(); pw.close(); s.close(); 运行该程序,得到的结果为:HTTP/1.1 200 OKServer: Apache-Coyote/1.1Content-Type: text/html;charset=ISO-8859-1Transfer-Encoding: chunkedDate: Sun, 06 Oct 2013 05:49:42 GMT2000 Apache Tomcat/5.5.30 /*/ Apache Tomcat/5.5.30 Administration Status Tomcat Administration Tomcat Manager Documentation Release Notes Change Log Tomcat Documentation Tomcat Online Home Page FAQ Bug Database Open Bugs Users Mailing List Developers Mailing List IRC Examples JSP Examples Servlet Examples WebDAV capabilities Miscellaneous Suns Java Server Pages Site Suns Servlet Site If youre seeing this page via a web browser, it means youve setup Tomcat successfully. Congratulations! As you may have guessed by now, this is the default Tomcat home page. It can be found on the local filesystem at: $CATALINA_HOME/webapps/ROOT/index.jsp where $CATALINA_HOME is the root of the Tomcat installation directory. If youre seeing this page, and you dont think you should be, then either youre either a user who has arrived at new installation of Tomcat, or youre an administrator who hasnt got his/her setup quite right. Providing the latter is the case, please refer to the Tomcat Documentation for more detailed setup and administration information than is found in the INSTALL file. NOTE: This page is precompiled. If you change it, this page will not change since it was compiled into a servlet at build time. (See $CATALINA_HOME/webapps/ROOT/WEB-INF/web.xml as to how it was mapped.) NOTE: For security reasons, using the administration webapp is restricted to users with role admin. The manager webapp is restricted to users with role manager. Users are defined in $CATALINA_HOME/conf/tomcat-users.xml. Included with this release are a host of sample Servlets and JSPs (with associated source code), extensive documentation (including the Servlet 2.4 and JSP 2.0 API JavaDoc), and an introductory guide to developing web applications. Tomcat mai2e4ling lists are available at the Tomcat project web site: for general questions related to configuring and using Tomcat for developers working on Tomcat Thanks for using Tomcat! Copyright © 1999-2010 Apache Software Foundation All Rights Reserved 0与查看:8080/的源代码结果是一致的。HTTP协议比较简单,都是固定格式的字符串。按照规定格式发送,就会得到相应的反馈。2.Post方式:Post /Servlet/ HTTP/1.1Host: localhostContent-Type: Content-Length:32username=aaa&password=111最后一行是数据提交的方式,通过变量名和变量值的方式来提交,中间用&隔开。Get方式提交后在URL中就可以看到username=aaa&password=111。3.服务器端反馈给客户端的内容:HTTP/1.1 200 OKServer: Apache-Coyote/1.1Content-Type: text/html;charset=ISO-8859-1Transfer-Encoding: chunkedDate: Sun, 06 Oct 2013 05:49:42 GMT第一行是标准写法,表示请求被正确处理了。HTTP/1.1是版本号,200表示出错时的状态。如果非正常处理,测试下:在浏览器地址栏输入http:/localhost:8080/aaa出现的页面是:把test.java中改为:pw.println(GET /aaa HTTP/1.1);重新运行test.javaHTTP/1.1 404 Not FoundServer: Apache-Coyote/1.1Content-Type: text/html;charset=utf-8Content-Length: 964Date: Sun, 06 Oct 2013 15:23:29 GMT二Web application的概念符合J2EE标准的web application就是一个目录,目录下面是固定的结构。WEB-INF:是对web的描述。(1)WEB-INF下必须有一个文件叫web.xml,是web application的配置文件。(2)lib目录:该web app用到的库文件(3)classes:存放编译好的servlet新建一个目录test,在该目录下新建一个WEB-INF,在WEB-INF下新建一个web.xml,(可以复制一个web.xml的内容过来)内容为:在test下新建一个html文件,启动Tomcat,则在浏览器地址栏中输入::8080/test/2.html可以访问到该页面。在test下新建一个admin文件夹,在文件夹下面新建一个html文件,启动Tomcat,则在浏览器地址栏中输入::8080/test/admin/2.html可以访问到该页面。三、Servlet介绍在C:Program FilesApache Software FoundationTomcat 5.5commonlib目录下有servlet-api.jar文件,该jar文件中即是与Servlet相关的类。可以解压后与java api中的包结构对比一下。如果要开发Servlet程序的话,新建一个工程servlet-example1,为该工程导入servlet-api.jar。新建一个类HelloWorldServlet。查阅servlet api文档:/cd/E17802_01/products/products/servlet/2.5/docs/servlet-2_5-mr2/所有的Servlet的类都实现了一个Servlet接口。Servlet是可以在任何服务器端运行的小程序。而我们编写的程序是专门在HTTP服务器端运行的小程序。HttpServlet是GenericServlet的子类,所以从HttpServlet继承最合适。观察HttpServlet的方法。当客户端去请求一个URL地址的时候,会调用Servlet相应的方法。针对不同的请求,会调用不同的方法。如果是get请求,会调用doget()方法。直接在URL敲地址就是get方式。如果是post请求,会调用dopost()方法。直接在form中点提交,并且method是post方式这种形式才是post方式。除了这两种方式之外,还有其他的方式。完成HelloWorldServlet类:import javax.servlet.ServletException;import javax.servlet.http.HttpServlet;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;public class HelloWorldServlet extends HttpServletOverrideprotected void doGet(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException / TODO Auto-generated method stub System.out.println(doGet);HttpServletRequest:封装了客户端到服务器端一系列的请求。HttpServletResponse:封装了服务器端返回给客户端的对象。在WEB-INF下新建一个classes文件夹,在该文件夹中放置HelloWorldServlet类编译之后的class文件。之后要确定别人通过什么地址才可以调用这个servlet,这要通过web.xml来定义。内容如下:hwHelloWorldServlethw/HelloWorldServlet解释:表示有一个servlet,随便取名,就是类名,建议copy过来类名。客户端要访问哪个URL可以调用这个servlet,就是刚才取的名字,就是URL中的内容,永远以/开头,表示相对于web application根目录的路径。如:8080/test/启动Tom
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 历史教师考试题及答案
- 理工英文考试题及答案
- 2025年中国女底坡跟数据监测报告
- 客房经理考试题及答案
- 焦炉调温工5S管理考核试卷及答案
- 课件时针分针的自我介绍
- 重金属物料焙烧工三级安全教育(公司级)考核试卷及答案
- 酒店实务考试题及答案
- 景区管理考试题及答案
- 课件文案编写
- JG/T 127-2007建筑门窗五金件滑撑
- 国防预算优化路径-洞察阐释
- 2025福建厦门水务集团限公司招聘易考易错模拟试题(共500题)试卷后附参考答案
- 污水排污协议书
- 饲料采购工作总结
- 新课标解读丨《义务教育道德与法治课程标准(2022年版)》解读课件
- 能源管理培训课件
- 江苏省苏州市2024-2025学年高一上学期期末调研英语试题(解析版)
- 体育赛事直播技术服务合同
- 护理礼仪(第3版) 课件 第四章 护士仪态礼仪
- 认识中国特色社会主义文化
评论
0/150
提交评论