03-tomcat服务器和Http协议

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

一、WEB服务器Web开发背景目前市面上的软件分为两种:BS架构:浏览器端与服务器端的交互UI界面是在服务器端CS架构:客户端与服务器端的交互UI界面是在客户端程序实现1.基本概念什么是webWEB在英语中即表示网页的意思,它用于表示Internet主机上供外界访问的资源以及超链接所组成的链表放在internet网上供外界访问的文件或程序被称为web资源web资源被分为:静态web资源:html、css、jpg动态web资源:Servlet、JspAspphpjsp+servlet2.什么是WEB服务器?就是一台电脑,安装了一个服务器软件3.为什么需要安装WEB服务器思考问题:从一台计算机的IE浏览器如何去访问另一台计算机中的文件3.1两台计算机是如何实现通讯的?IP地址(计算机的唯一标识)IPV44个字节的整数,每个字节以点号隔开192.168.1.100每个字节的取值0~255在计算机中程序会绑定在某一个端口0~65535尽量用1024以上的连接一台计算机就需要输入ip地址和端口号作为接收方,应该绑定ip,监听指定的端口3.2在本地写程序添加一个服务,供别人来访问,假设监听8888端口3.3编码实现了一个本地服务器程序作用:管理本地的资源,只要将html页面放到指定的目录下,外界就可以访问了3.4安装服务器的目的:开发好的web资源可以发布到服务器上,这样外界就可以通过浏览器访问了源程序:MyServer.java//ServerSocket对象可以监听端口ServerSocketserversocket=newServerSocket(6666);while(true){Socketsocket=serversocket.accept();//等待客户端的连接请求,一旦有请求过来,就结束阻塞,返回客户端对象//一旦有客户来访问,就另开一个新线程去提供服务,main线程继续等待下一个客户的连接newThread(newMyService(socket)).start();}MyService.java//提供服务InputStreamin=socket.getInputStream();Thread.sleep(200);intlen=in.available();//估计此流不受阻塞能读取的字节数byte[]buffer=newbyte[len];in.read(buffer);Stringrequest=newString(buffer);//截取第一行StringfirstLine=request.substring(0,request.indexOf(\n));StringuriName=firstLine.split()[1];OutputStreamout=socket.getOutputStream();//根据需要访问的资源创建File对象Filefile=newFile(src+uriName);if(!file.exists()){out.write(对不起!您访问的资源不存在!别瞎搞!!.getBytes());out.close();return;}//从文件读,往浏览器写FileInputStreamfis=newFileInputStream(file);buffer=newbyte[1024];while((len=fis.read(buffer))0){out.write(buffer,0,len);}socket.close();二、Tomcat服务器的安装和配置目前使用较多的服务器weblogic1.使用tomcat6.0.20.rar文件解压即完成安装2.tomcat就是一个java程序,一定会用到jre所以需要配置环境变量java_home配置成jdk的安装目录c:\jdk1.6tomcat的启动是通过startup.bat文件,实际上startup.bat中是去调用catalina.bat文件,而且是通过%catalina_home%\bin\catalina.bat去找所以为了保证服务器启动正常,需要配置catalina_home环境变量为tomcat的安装目录3.tomcat的目录结构bin:存放一些执行文件conf:存放服务器的配置文件lib:存放tomcat所依赖的jar文件logs:存放日志文件temp:存放临时文件webapps:webapplications存放所有的web应用程序(web资源)work:tomcat的工作目录,jsp翻译成的Servlet就在这个目录下4.web应用多个web资源存放在一个目录下即为一个web应用(web应用程序、web工程)web应用的目录结构静态web资源直接放在目录下java类放在classes目录下web.xml文件负责管理web应用下所有的web资源所有jar包放在lib目录下三、WEB应用的映射1.虚拟目录一个web应用(服务器上一个目录)要想被供外界访问,就必须要映射虚拟目录在tomcat6中,放在webapps下的web应用,服务器会自动做映射(将文件夹名称作为虚拟路径)对于webapps目录外的web应用需要手动映射虚拟路径1.1.在server.xml文件可以配置hostContextpath=”/myWeb”docBase=”D:\myWeb”//host在server.xml文件中配置contextPath需要重新启动tomcat服务器1.2.在%Tomcat目录%\conf\[enginename][引擎名一般为Catalina]\[hostname][主机名一般为localhost]目录下建立一个扩展名为xml的配置文件,内容如下:?xmlversion=1.0encoding=gbk?ContextdocBase=D:\myWeb/文件名就是虚拟目录ContextdocBase=”D:\myWeb”/多级目录配置aaa#myWeb.xml对应/aaa/myWeb如果文件名是ROOT.xml那就是配置了缺省的web应用,访问时不需要输入虚拟目录2.web.xml管理web应用下所有的web资源通俗地讲,一个web应用下所有的web资源如何被外界访问都需要在此文件下做映射包括咱们后面学的Servletjsp都需要在这个文件中做映射实验:配置web应用的首页在web应用下新建目录WEB-INF,在此目录下新建web.xml文件?xmlversion=1.0encoding=ISO-8859-1?web-appxmlns=:xsi=:schemaLocation=://java.sun.com/xml/ns/javaee/web-app_2_5.xsdversion=2.5welcome-file-listwelcome-fileitcast.html/welcome-file/welcome-file-list/web-app3.域名解析一个完整urlhttp:\\协议名主机名端口号资源名(uri)IE访问服务器的原理,在IE中输入的地址中包含域名,域名就需要被翻译成服务器的IP,才能访问到服务器4.web应用映射的练习:新建一个web应用配置成缺省的web应用配置首页配置tomcat监听端口为80在windows中注册主机名新建一个web应用进行配置,要求在ie输入上配置多个主机,即虚拟主机中的起了两个作用:一找DNS服务器,作为域名被解析为IP二通过Host头告诉服务器访问的主机名配置方式:一在server.xml文件中配置Host元素,需要指定name(主机名)、appBase(默认web应用存放目录)appBase目录下所有的web应用,tomcat会自动映射虚拟路径修改server.xml文件Hostname==d:\sohuunpackWARs=trueautoDeploy=truexmlValidation=falsexmlNamespaceAware=false/HostHostname==d:\sinaunpackWARs=trueautoDeploy=truexmlValidation=falsexmlNamespaceAware=false/HostIE浏览器服务器(网络服务商)解析域名,获得一个IP二在D盘下放入对应的文件sina+sohu.rar三修改C:\Windows\System32\Drivers\etc下的hosts文件127.0.0.1:8080/bbs/进行访问PS:实验过程中发现sina目录下不能直接存放index.html,必须加一个bbs的中间目录。否则不能访问四、http协议Web开发的基石1.tcp/ip协议:网络通信协议(连接)ip协议:127.0.0.1ip地址对应一台计算机(互联网层)tcp高级协议:三次握手,发送请求、返回响应、传输数据(传输层)2.http协议是建立在tcp协议的基础之上(应用层)W3c制定的通讯协议,作用是规定了浏览器与服务器之间通讯的格式3.Http协议的版本Http1.0:建立连接,发送一次请求就断开Http1.1:建立连接,可以无限次发送请求五、http请求消息Ie向服务器发送的内容内容包括一个请求行、若干消息头、以及实体内容,其中的一些消息头和实体内容都是可选的,消息头和实体内容之间要用空行隔开。POST/itcast/HTTP/1.1请求行Accept:image/gif,image/x-xbitmap,*/*消息头Referer::zh-CN,en-GB;q=0.8,ar-YE;q=0.7,ja-JP;q=0.5,de-CH;q=0.3,en-US;q=0.2Content-Type:application/x-:gzip,deflateUser-Agent:Mozilla/4.0(compatible;MSIE7.0;WindowsNT5.1;GTB6.5;CIBA)Host:localhost:8080Content-Length:33Connection:Keep-AliveCache-Control:no-cacheCookie:JSESSIONID=B0B3FB4FFB0315B3D3C620548DD4E1EBusername=zhangsan&password=1234561.请求行GET/itcast/a.htmlHTTP/1.1请求方式共有7种,在实践中发现其中的5种没用,只需要学两种getpostGET方式:get方式请求参数跟在url后面/itcast/a.html?username=aaa&password=111,数据最多1KPost方式:请求参数放在消息体中传输,相对安全,get大小限制1K,post无数据量限制2.请求消息头:IE浏览器用于向服务器说明情况的(浏览器环境)Accept:text/html,im

1 / 10
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功