J2EE进阶之tomcat服务器搭建,HTTP协议 八

来源:互联网 发布:python马踏棋盘算法 编辑:程序博客网 时间:2024/06/05 07:24

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                    * 禁用浏览器的缓存        * 响应体            * 真正的数据内容