web 服务器——Tomcat

web开发 ------ 网站制作

互联网上资源两类:静态、动态

静态资源:固定数据文件(图片、文本、音频、视频、静态网页文件 html)
动态资源:通过程序生成数据文件

网页设计:
静态网页 : HTML CSS JavaScript 静态网页开发技术

动态网页技术: 98前后 ASP PHP JSP
.net(微软技术集合 VB ASP C#) 、python、ruby(快速开发网页 语言 10分组开发一套博客系统【脚手架】)

当今网站开发 主流技术: ,net 和 php

学习javaweb ----- CRM 、ERP、OA 定制web界面

JVM支持多种脚本 语言: Jruby Groovy

Web系统 采用 B/S结构 :Browser -- Server
1、浏览器向服务器发送访问目标资源请求 (请求)
2、服务器根据请求的目标资源路径,在服务器端进行查找 (请求处理)
3、服务器会将查找结果 返回给客户端浏览器 (响应)

  • 在B/S系统中必须先产生请求,才会生成响应 ---- 请求和响应时成对出现的

什么是web服务器?
硬件环境、软件环境
在网络中安装web服务软件的计算机

web服务器软件环境搭建
1、weblogic BEA公司产品 ,随着BEA已经被oracle收购 ---- 全面支持JavaEE 所有规范 ,收费的
2、websphere IBM 公司产品,功能比weblogic更加强大和复杂 ----- 全面支持JavaEE 规范,收费
3、Apache Tomcat 免费、开源 Google 很多java开发web应用都是搭建tomcat环境上 ---- 在企业中小型java项目都是搭建tomcat上

  • tomcat 不支持所有javaee规范,只支持 Servlet/JSP/JNDI/JavaMail 等JavaEE规范

JBOSS --- EJB服务器 JBOSS公司产品

Tomcat服务器

  • Apache Tomcat下载主页:http://tomcat.apache.org/

  • 获取Tomcat安装程序包

    • tar.gz(zip)文件是Linux操作系统下的安装版本

    • exe文件是Windows系统下的安装版本

    • zip文件是Windows系统下的压缩版本

  • 解压缩Tomcat的目录不要含有空格或中文。

  • 配置JAVA_HOME环境变量:配置JDK的安装路径,注意路径不要加分好结尾。

启动Tomcat服务器

  1. 在Tomcat的目录下,双击bin/startup.bat (如果使用linux 双击bin/startup.sh)。

  2. 在浏览器地址栏输入 http://localhost:8080/ ,如果出现tomcat网站主页,则说明启动成功。

Tomcat启动问题

  • 窗口一闪然后消失 ----- 记事本打开startup.bat 在文件末尾加入 pause指令,再次运行,读取错误原因,根据原因解决。

    JAVA_HOME路径必须是JDK不可以是JRE

  • 端口占用问题(Tomcat的默认端口号为8080)

    1. 发现端口被占用后,通过cmd命令行,查看占用端口进程,CMD命令:netstat -ano (xp win7 通用),找到8080端口号的进程,记住它的PID(进程标识符),然后在任务管理器中找到该PID,关闭该PID对应的进程。

    2. 如果在任务管理器发现该占用8080端口的进程的PID是4,映像名称是System,这个进程无法关闭,如果出现这种情况证明了一个服务占用端口。这时候通过services.msc关闭www服务即可。

  • CATALINA_HOME环境变量
    指定tomcat安装位置 (该环境变量可以不配置) ---- 但是如果配置出错,tomcat将无法启动

Tomcat、Servlet/JSP、JavaEE、JDK版本之间的关系

Tomcat版本 Servlet/JSP版本 JavaEE版本 运行环境
4.1 2.3/1.2 1.3 JDK1.3
5.5 2.4/2.0 1.4 JDK1.4
6.0 2.5/2.1 5.0 JDK5.0
7.0 3.0/2.2 6.0 JDK6.0

Tomcat支持Servlet和JSP,Servlet属于JavaEE规范

  • 随着javaEE 版本提升 -- Servlet版本提升 --- 运行Servlet环境Tomcat版本提升

  • tomcat运行需要JDK 环境版本

Tomcat目录结构

bin ---- 存放tomcat启动关闭程序

conf --- 存放tomcat 配置文件

lib --- tomcat运行需要jar包

logs ---- tomcat日志文件

webapps ---- 网站发布目录 (所有网站可以发布到该目录)

work ----- 存放工程运行时,产生数据文件 (JSP翻译Servlet、Session持久化数据 )

web应用程序

  • web应用程序指供浏览器访问的程序,通常也简称为web应用。

  • 一个web应用由多个静态web资源和动态web资源组成,如:

    • html css javascript 图片 音频 视频 文本 --静态web资源

    • 程序Servlet、JSP ---动态web资源

    • 配置文件等等

    • 组成web应用的这些文件通常我们会使用一个目录组织,这个目录称之为web应用所在目录(网站的根目录)

  • web应用开发好后,若想供外界访问,需要把web应用所在目录交给web服务器管理(将网站发布到web服务器Tomcat上),这个过程称之为虚拟目录的映射。

网站的标准目录结构

站点根目录:

-------静态web资源、jsp

-------WEB-INF目录
              -------  classes目录 (保存.class文件)
              --------  lib  目录 (当前网站需要jar包) 
              -------- web.xml (网站配置文件)
  • WEB-INF目录不是必须的,没有Java动态程序代码,可以没有WEB-INF目录。

  • WEB-INF目录下资源不能被浏览器直接访问!

    可以测试一下:在Tomcat的目录下的webapps中新建文件夹(即创建网站根目录),创建两个HTML文件,其中一个在网站根目录下,另外一个在WEB-INF目录下。打开服务器,打开浏览器,发现在WEB-INF目录下的HTML网页不能访问,在网站根目录的网页可以访问。

tomcat发布web应用的三种方式

原理:配置<Context>元素

  1. 配置tomcat/conf/server.xml
    在标签<Host name="localhost" > 内部 添加 <Context> 元素。
    <Context path="/aa" docBase="C:\AA" /> ----- > 为网站配置虚拟目录 /aa ---- 映射到 c:\AA 目录

    修改server.xml 重启tomcat

  2. $CATALINA_HOME/conf/[enginename]/[hostname]/xxx.xml
    tomcat/conf/Catalina/localhost/xxx.xml
    在conf下新建 Catalina
    在Catalina下新建 localhost
    在localhost下 新建 bb.xml
    <Context docBase="C:\BB" /> ------ 为什么不需要写path ---- 虚拟目录就是文件名bb path值 默认 /bb

    1. 添加 bb.xml 不用重启tomcat
    1. 推荐第二种写法(不需要重启服务器,而且出错不会影响其它工程运行),尽量不要使用第一种
  3. 将网站复制到tomcat/webapps,让tomcat自动映射:tomcat服务器会自动管理webapps目录下的所有web应用,并把它映射成虚拟目录。换句话说,tomcat服务器webapps目录中的web应用,外界可以直接访问。

    1. 不用重启tomcat
    1. tomcat 会根据文件夹名称,自动生成虚拟路径 CC文件夹 ---- 虚拟路径 /CC

虚拟目录?

  • 浏览器访问网站采用访问路径 /aa /bb /abc ---- 这些路径不一定是服务器真实存在目录,只是浏览器在访问这些路径时,映射到指定网站根目录。

WAR包制作 ?

  • 当网站非常大,数据非常多,将开发平台网站发布到服务器运行环境 (在java发布便利性 war包 )
  • 什么是war包? zip格式应用数据压缩包 (不能是rar格式)
  • 先用压缩软件 将网站制作xx.zip --- 重命名 xx.war --- 复制.war文件到tomcat/webapps
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 212,185评论 6 493
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 90,445评论 3 385
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 157,684评论 0 348
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 56,564评论 1 284
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 65,681评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 49,874评论 1 290
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,025评论 3 408
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,761评论 0 268
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,217评论 1 303
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,545评论 2 327
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,694评论 1 341
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,351评论 4 332
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,988评论 3 315
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,778评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,007评论 1 266
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,427评论 2 360
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,580评论 2 349

推荐阅读更多精彩内容

  • 1、JavaWeb概念Java web,是用java技术来解决相关web互联网领域的技术的总称。web包括:web...
    寒剑飘零阅读 2,572评论 0 12
  • 转自陈明乾的博客,可能有一定更新。 转原文声明:原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 、...
    C86guli阅读 2,686评论 1 37
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 134,633评论 18 139
  • 从三月份找实习到现在,面了一些公司,挂了不少,但最终还是拿到小米、百度、阿里、京东、新浪、CVTE、乐视家的研发岗...
    时芥蓝阅读 42,216评论 11 349
  • 越来越觉得教育孩子是一门学问,它需要花费你的很多心血,时间和精力。虽然我现在还没结婚生子,但是作为姐姐对妹妹的爱就...
    Hifly816阅读 107评论 0 0