zoukankan      html  css  js  c++  java
  • 14、Tomcat

    WEB开发
    用于表示Internet主机上供外界访问的资源。
    Web资源分为
    1、静态web资源(如html 页面):指web页面中供人们浏览的数据始终是不变。
    2、动态web资源:指web页面中供人们浏览的数据是由程序产生的,不同时间点访问web页面看到的内容各不相同
     
    静态web资源开发技术:Html、 css 、js
    常用动态web资源开发技术:JSP/Servlet、ASP、PHP
     
    在Java中,动态web资源开发技术统称为Javaweb
     

    一、常见WEB服务器

    1、WebLogic
    BEA公司的产品,是目前应用最广泛的Web服务器,支持JavaEE规范,而且不断的完善以适应新的开发要求
    2、WebSphereAS
    IBM公司,支持JavaEE规范
    3、JBoss
    红帽的产品,原来属于开源组织JbossAS,后被红帽收购。支持JavaEE规范,免费
    4、Tomcat
    在小型的应用系统或者有特殊需要的系统中,该服务器支持JSP以及
    Servlet规范
    SUN公司推出的小型Servlet/JSP调试工具的基础上发展起来的一个优秀的Servlet容器,Tomcat本身完全用Java语言编写。目前是Apache开源软件组织的一个软件项目
    可以和目前大部分的主流Web服务器(IIS、Apache服务器)一起工作,它运行稳定、可靠且高效。已成为目前开发企业JavaWeb应用的最佳Servlet容器选择之一。
    一个Apache服务器可以管理多个tomcat服务器
    zip文件 建议
     
    JavaEE规范 : 13 种技术的总称。 Servlet/Jsp、 JDBC、 JNDI、JTA...
    javaSE:
    javaEE:13种
    javaME:
     

    二、安装和部署

    1、安装

    Tomcat6本身是基于JDK1.5的应用程序,先要安装JDK
    直接解压到指定目录即可。(注:目录不要太深;目录不要有中文或空格)
    配置JAVA_HOME
    进入到F:apache-tomcat-7.0.52in>startup.bat 才能执行命令
    配置CATALINA_HOME:
    配置path:
    配置完成后双击start.bat开启,双击sgytdown.bat结束
     
    测试服务器是否启动成功
    http://localhost:8080
     

    2、Tomcat 的主要目录(重要)

     
    conf中server.xml中Connector可以修改端口号,要6000以上的
    logs中catalina.2016-12-04.log打开有JVM_Bind错误,就说明服务器端口号被占用,打开tomcat时一闪即过
    webapps中有几个就是几个应用
     

    3、标准的 JavaWeb 应用的目录结构

    都是同级目录,包括.html
    改了文件之后要重启tomncat
     
     查看.class
     

    4、部署应用到Tomcat服务器

    (1)开放目录部署方式
    1.把webRoot下文件直接复制到F:apache-tomcat-7.0.52webapps下,新建文件夹
    2.在输出的servers中选择tomcat,add Deployment下选择项目即可部署
    3.也可在工具栏的选择
    (2)把应用打成war包
    进入项目的webRoot目录下,打war包命令:jar -cvf MyApp.war  .
    把war包直接复制到F:apache-tomcat-7.0.52webapps下,启动服务器应用自动解压

     5、Tomcat服务器与MyEclipse集成

    (1)Tomcat集成

    (2)创建web应用

    (3)部署
     
    myeclipse关联tomcat
    windows->Preferences->myeclipse->servers->tomcat,打开tomcat安装目录,选择
     
    启动tomcat:
    (1)在输出栏启动
    (2)在工具栏也可启动
     
    URL: 统一资源定位符(网址)
    URI: 统一资源标识符
    http:// localhost:8080/ day08_02/1.html
    协议     主机IP(端口号) URI(当前应用的资源路径)
     
    接口号占用
    运行tomcat过程中直接关闭myeclipse可能导致端口号被占用
    解决办法
    1、修改F:apache-tomcat-7.0.52confserver.xml
    第70 行: <Connector port="8081"/>
    2、关闭端口号对应的进程:
    cmd-->netstat -ano --> 找到 pid-->任务管理器 --> 显示pid--> 关闭进程
     

    6、深入熟悉Tomcat服务器

    (1)虚拟目录
    方式一:(不建议使用,因为需要重启服务器)
    真实目录:d:MyAPP
    虚拟目录:http://localhost:8080/myApp
      
    (2)虚拟目录映射:
    <Context path="/myApp" docBase="d:MyAPP"/>
    docBase:代表的是应用的真实路径。
    path:网络访问的虚拟目录名
    注:需要重启服务器。
    方式二:
    新建myAPP.xml文件,文件名就代表应用的虚拟目录名。
    将文件放在F:apache-tomcat-7.0.52confCatalinalocalhost目录下
    <?xml version="1.0" encoding="utf-8"?>
    <Context docBase="D:myAPP"/>
     
    访问:http://localhost:8080/myAPP
     

    7、配置默认端口、默认应用、默认主页

    把server.xml中<Connector port="80" protocol="HTTP/1.1"
    connectionTimeout="20000"
    redirectPort="8443" />
    浏览器http默认端口:80
     
    默认应用:
    默认应用:把配置的虚拟目录的配置文件名改为ROOT.xml即可。
     
    默认主页
    修改当前应用web.xml中<welcome-file-list>中添加
     

    二、HTTP协议

    1、HTTP协议概述
    HTTP是HyperText Transfer Protocol(超文本传输协议)的简写,传输HTML文件。
    用于定义WEB浏览器与WEB服务器之间 交换数据的过程及数据本身的 格式。
     

    2、请求部分

    (1)请求消息行
    GET   /day08_02/1.html   HTTP/1.1
    请求方式:Get(默认) POST DELETE HEAD等
                   GET:明文传输 不安全,数据量有限,不超过1kb
                   GET   /day08_02/1.html?uName=tom&pwd=123 HTTP/1.1
                   POST: 暗文传输,安全。数据量没有限制。
    URI:统一资源标识符。去协议和IP地址。
    协议/版本 :
     
    (2)请求消息头
    从第2行到空行处,都叫消息头
    Accept:浏览器可接受的MIME类型,告诉服务器客户端能接收什么样类型的文件。
    Referrer:包含一个URL,用户从该URL代表的页面出发访问当前请求的页面
    Content-Type:内容类型,告诉服务器浏览器传输数据的MIME类型,文件传输的类型,application/x-www-form-urlencoded
    Accept-Charset: 浏览器通过这个头告诉服务器,它支持哪种字符集
    Accept-Encoding:浏览器能够进行解码的数据编码方式,比如gzip
    Accept-Language:浏览器所希望的语言种类,当服务器能够提供一种以上的语言版本时要用到。 可以在浏览器中进行设置。
    Host:初始URL中的主机和端口
    If-Modified-Since: Wed, 02 Feb 2011 12:04:56 GMT利用这个头与服务器的文件进行比对,如果一致,则从缓存中直接读取文件。
    User-Agent:浏览器类型.
    Content-Length:表示请求消息正文的长度
    Connection:表示是否需要持久连接。如果服务器看到这里的值为“Keep -Alive”,或者看到请求使用的是HTTP 1.1(HTTP 1.1默认进行持久连接
    Cookie:这是最重要的请求头信息之一
    Date:Date: Mon, 22 Aug 2011 01:55:39 GMT请求时间GMT
     
     
    (3)消息正文
    当请求方式是POST方式时,才能看见消息正文
    uName=tom&pwd=123
     

     3、响应部分

     
    (1)响应消息行
    第一行:
    HTTP/1.1 200 OK
    协议/版本 响应状态码 对响应码的描述(一切正常)
    响应状态码:
    常用的就40多个。
    200(正常) 一切正常
    302/307(临时重定向)
    304(未修改) 表示客户机缓存的版本是最新的,客户机可以继续使用它,无需到服务器请求。
    404(找不到) 服务器上不存在客户机所请求的资源。
    500(服务器内部错误)
     
    (2)响应消息头
    Location: http://www.it315.org/index.jsp指示新的资源的位置
    通常和302/307一起使用,完成请求重定向
    Server:apache tomcat指示服务器的类型
    Content-Encoding: gzip服务器发送的数据采用的编码类型
    Content-Length: 80 告诉浏览器正文的长度
    Content-Language: zh-cn服务发送的文本的语言
    Content-Type: text/html; charset=GB2312服务器发送的内容的MIME类型
    Last-Modified: Tue, 11 Jul 2000 18:23:51 GMT文件的最后修改时间
    Refresh: 1;url=http://www.it315.org指示客户端刷新频率。单位是秒
    Content-Disposition: attachment; filename=aaa.zip指示客户端下载文件
    Set-Cookie:SS=Q0=5Lb_nQ; path=/search服务器端发送的Cookie
    Expires: -1
    Cache-Control: no-cache (1.1)
    Pragma: no-cache (1.0) 表示告诉客户端不要使用缓存
    Connection: close/Keep-Alive
    Date: Tue, 11 Jul 2000 18:23:51 GMT
     
    (3)响应正文
    和网页右键 “ 查看源码” 看到的内容一样
     
     
     
    有志者,事竟成,破釜沉舟,百二秦关终属楚;苦心人,天不负,卧薪尝胆,三千越甲可吞吴。
  • 相关阅读:
    npm 常用命令
    jquery 滚动事件
    移动端触控事件封装(完整版)
    带动画的分页
    手机号码 座机号码验证
    js常用 弹出确认 取消对话框
    jQuery之select的option怎样绑定事件
    jQuery如何停止元素的animate动画,还有怎样判断是否处于动画状态
    jQuery live()方法使用及变更(事件委托)
    Could not publish server configuration for Tomcat v6.0 Server at localhost. Multiple Contexts have a path of "/tm".
  • 原文地址:https://www.cnblogs.com/1989guojie/p/6132322.html
Copyright © 2011-2022 走看看