tomcat服务器搭建,HTTP协议
服务器
* WEB 网页 javaweb 使用java语言开发动态的网页
* C/S client/server 客户端/服务器 例子:QQ 快播 暴风影音
* 优点:交互性好,下载客户端。服务器压力小。
* 缺点:如果客户端更新,需要下载。
* B/S browser/server 浏览器/服务器 例子:购物的网站 12306
* 缺点:服务器的压力大。
* 优点:不需要更新。
* 静态的web资源
* HTML CSS JAVASCRIPT
* 动态的web资源
* Servlet/JSP
服务器
* 概念
* 硬件
* 一台电脑
* 软件
* 服务器的软件。
* 访问:
* ip+端口号(默认的端口号是80)
* http://www.baidu.com/
* 百度的ip:61.135.169.121:80
* 发布web的资源的话 :http://ip:8080/xx/xx.html
* WEB的常见服务器
* WebLogic BEA公司(orcale收购了) 收费的 支持JAVAEE所有的规范 EJB servlet/jsp (java mysql(oracle) WebLogic)
* WebSphere IBM 收费的 支持JAVAEE所有的规范
* tomcat apache(开源的组织,非常伟大) 支持servlet/jsp规范
* 安装服务器
* 配置JAVA_HOME
* 推荐使用解压版的,放在根目录下。启动服务器。tomcat/bin/startup.bat,双击就启动服务器了。
* 访问: http://192.168.14.141:8080
* 访问1.html http://192.168.14.141:8080/aa/1.html
* 访问自己的服务器:http://localhost:8080/aa/1.html
* 访问自己的服务器:http://127.0.0.1:8080/aa/1.html
* 关闭服务器:关闭黑窗口。
* 常见的启动问题
* JAVA_HOME环境变量的配置
* 端口占用的问题
* java.net.BindException: Address already in use: JVM_Bind
* 解决办法:
* 通过dos窗口输入命令 netstat -ano 查询所有的进程,占用8080的进程的PID
* 通过任务管理器,结束掉进程就ok
* 修改tomcat服务器自己的端口号(默认是8080,修改成80)
* 修改tomcat服务器的配置文件
* tomcat/conf/server.xml修改配置文件
<Connector port="80" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" />
* 说明80端口,其他的程序占用了。
* World wide web publish IIS 自带的服务(占用的80)
* 必须重新启动服务器。
tomcat目录结构
* bin(**) 启动服务器
* conf(*****) tomcat服务器的配置文件
* lib(**) 存放jar包
* logs(**) 存放日志
* temp(**) 存放临时文件的
* webapps(*****) web applications 存放web应用的
* work(****) JSP翻译成servlet存放在word目录下。
web资源
* servlet/JSP
* 在webapps目录,发布动态的web资源
website(项目)
| -- HTML/CSS/JAVASCRIPT/JSP
WEB-INF
|
web.xml 必须要有的
classes (可选的) 编译成.class的文件
lib (可选的) 第三方的jar包
MyEclipse和tomcat的结合
* 通过winodw -- 选项 -- myEclipse -- Servers -- 选择tomcat6.x -- 选择enable -- 选择tomcat的根目录
* 选择tomcat左边的加号 -- 选择JDK -- 点击ok
* 创建了web的项目,发布到服务器中了。启动服务器,就可以正常的访问了。
* 虚拟路径(访问的路径)
* 默认和项目名称是相同的,并且一般情况下和项目相同。
* WebRoot -- 虚拟路径
* 修改虚拟路径
* 项目右键 -- 选择属性 -- myeclipse -- web -- 修改虚拟的路径
* tomcat配置管理员(了解)
* 需要在tomcat/conf/tomcat-user.xml
<role rolename="manager"/>
<user username="admin" password="admin" roles="manager"/>
如何部署web的应用程序 (三种)(*)
* 直接把项目复制到webapps目录下。
* 通过配置虚拟路径方式
* 直接在tomcat/conf/server.xml中去配置虚拟路径
* 通过Context的标签来配置虚拟路径,需要在<host>标签下配置
docBase :项目的真实路径
path :虚拟的路径(访问路径)
<Context docBase="项目的真实路径" path="虚拟路径"></Context>
* 自己可以编写一个配置文件(推荐使用的)
* 自己在一个固定的文件夹下编写一个abc.xml配置文件,把abc作为虚拟路径(访问路径)。
* 在哪个文件夹下?
* $CATALINA_HOME/conf/[enginename]/[hostname]
* tomcat/conf/Catalina/localhost/abc.xml 把abc作为访问的路径了
* 配置文件中写什么配置?
* <Context docBase="项目的真实路径" ></Context>
* web的通信
* 先找本地的hosts文件 -- 找网络DNS域名的服务器
* 配置虚拟主机
* hosts文件地址:C:\WINDOWS\system32\drivers\etc\hosts
* 需要使用<host>标签 name="www.baidu.com" appBase="C:\baidu"
HTTP的协议
* 遵循一定规范的数据格式。
* 基于请求和响应的模式(先有请求,才有响应)
* 默认端口80
* 基于TCP的链接
* telnet命令
* DOS的窗口中运行命令
* telnet localhost 80
* 输入内容是乱码(解决乱码)
ctrl+] 解析乱码的问题
* telnet不支持删除。一般都是写好,复制过去
* 发送的请求
GET /aa/1.html HTTP/1.1
host:localhost
* 响应的内容
HTTP/1.1 200 OK
Server: Apache-Coyote/1.1
ETag: W/"14-1415411840772"
Last-Modified: Sat, 08 Nov 2014 01:57:20 GMT
Content-Type: text/html
Content-Length: 14
Date: Sat, 08 Nov 2014 08:20:11 GMT
<h1>hello</h1>
* HTTP协议的版本
* HTTP/1.0
* 一次请求只能获取到一个web资源。做出一次响应,链接就断开了。
* HTTP/1.1(使用)
* 一次请求,获取多次web的资源。
* 长时间不操作,自动断开链接的。
请求
* 请求行
* 提交方式
* POST、GET、HEAD、OPTIONS、DELETE、TRACE、PUT、CONNECT
* POST和GET的区别:
* 请求的路径
*
* 协议的版本
* HTTP/1.1版本
* 请求头
Accept: text/html,image/*
Accept-Charset: ISO-8859-1
Accept-Encoding: gzip
Accept-Language:zh-cn
Host: www.itcast.com:80
If-Modified-Since: Tue, 11 Jul 2000 18:23:51 GMT
Referer: http://www.itcast.com/index.jsp
User-Agent: Mozilla/4.0 (compatible; MSIE 5.5; Windows NT 5.0)
Connection: close/Keep-Alive
Date: Tue, 11 Jul 2000 18:23:51 GMT
* 重点的头
* If-Modified-Since :控制本地的缓存(必须要和响应头一起使用)
* Referer :记录当前网页的来源(防止盗链)
* User-Agent :获取浏览器的信息(做文件下载时候用)
* 请求体
* POST方式参数
响应
* 响应行
* 协议版本
* HTTP/1.1
* 状态码
200 :请求成功处理,一切OK
302 :请求重定向
304 :服务器端资源没有改动,通知客户端查找本地缓存
404 :客户端访问资源不存在
500 :服务器内部出错
* 状态码描述
* 响应头
Location: http://www.it315.org/index.jsp
Server:apache tomcat
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
Expires: -1
Cache-Control: no-cache
Pragma: no-cache
Connection: close/Keep-Alive
Date: Tue, 11 Jul 2000 18:23:51 GMT
* 重要的头
* Location :和302完成重定向的操作
* Last-Modified :和If-Modified-Since完成控制缓存的操作,304
* Refresh :页面定时刷新
* Content-Disposition :文件下载的时候
Expires: -1
Cache-Control: no-cache
Pragma: no-cache
* 禁用浏览器的缓存
* 响应体
* 真正的数据内容