转自javaresearch.com由timgball 整理

Tomcat是一个免费的开源Web服务器,最新版本是5.5.1,支持Servlet2.4,JSP2.0,非常适合初学者学习Java Web开发。下面是一个简单的Tutorial:[安装Tomcat],在安装Tomcat之前,必须首先安装JDK1.4,因为Tomcat本身是纯Java程序,需要JVM运行,此外JSP页面需要javac来编译运行,因此必须安装JDK(单装JRE不行)。然后从Tomcat官方站点下载最新版的Tomcat:Windows版本:http://apache.linuxforum.net/dist/jakarta/tomcat-5/v5.5.1/bin/jakarta-tomcat-5.5.1.zip ,Linux版本:http://apache.linuxforum.net/dist/jakarta/tomcat-5/v5.5.1/bin/jakarta-tomcat-5.5.1.tar.gz
Tomcat不需安装,直接解压到某个目录即可(请注意整个路径不要有中文名)。

[配置Tomcat]
先设置如下环境变量:
JAVA_HOME = <JDK安装目录>
TOMCAT_HOME = <Tomcat根目录>
在Path最后附加:
Path = ......;%JAVA_HOME%/bin

如果使用linux,请用export设置环境变量。

然后打开控制台窗口,输入javac,如果能够运行,说明能找到JDK的编译器,输入java -version,如果显示1.4.x_xx则配置正确,否则检查是否安装了低版本的JDK(比如1.3版本),如果有低版本的JDK,把它从Path中移除即可。

[启动和关闭Tomcat]
打开目录%TOMCAT_HOME%/bin,运行startup.bat(linux下是startup.sh),稍等片刻,直到出现信息: Server startup in XXXXX ms表示启动成功!要关闭Tomcat,最好不要直接关掉控制台窗口,运行%TOMCAT_HOME%/bin/shutdown.bat(linux下是shutdown.sh)。

[第一个JSP程序]
运行在Tomcat的Web程序全部放在%TOMCAT_HOME%/webapps下,每个应用单独一个目录,我们开始写第一个"Hello, world"JSP页面。
首先,我们在%TOMCAT_HOME%/webapps下新建一个hello目录,作为整个Web应用程序的根目录,然后在hello目录下新建hello.jsp,用任何文本编辑器输入以下内容:
<% out.println("Hello, world."); %>
然后启动Tomcat,打开浏览器,输入http://localhost:8080/hello/hello.jsp,稍等片刻,浏览器显示“Hello, world.”我们的第一个JSP运行成功!
 [Web开发基础]
J2EE的Web应用程序有标准的格式,我们先创建如下结构的目录(请严格区分大小写):
hello |
 +- WEB-INF     |
 +- classes    |
 +- lib
 +- web.xml
所有需要的class文件均以WEB-INF/classes/为根目录按包名存放,所有的jar文件全部放在WEB-INF/lib下,Web服务器(比如Tomcat)会自动把classes和lib下的所有jar文件动态添加到CLASSPATH中,其中classes目录优先级高,如果classes和lib中某个jar的class全名相同,则只会找到classes下的文件。
WEB-INF/web.xml是标准配置文件,负责注册Servlet,Filter及其它用到的资源。在我们的hello应用中,因为没有web.xml,Tomcat会使用缺省的配置文件(什么也不配置)。
一般说来,自己写的class包括servlets,filter,javaBean等编译后放在classes目录下,用到的第三方jar(如struts.jar)放在lib下。
JSP文件可放在根目录下的任意位置,但是位置不同会影响URL的格式。以上面的hello应用为例,我们指定hello/hello.jsp,则URL为http://localhost:8080/hello/hello.jsp,若是放在hello/admin/hello.jsp,则相应的URL变为http://localhost:8080/hello/admin/hello.jsp,若是放在WEB-INF下,则用户不可直接访问此JSP文件,只能通过RequestDispatch间接访问,此方法可向用户屏蔽真实的URL,在struts等Web框架中被广泛使用。

[发布Web应用程序]
发布Web应用程序非常简单,直接使用jar命令将整个hello目录打包,命名为xxx.war,然后复制到另一台计算机的%TOMCAT_HOME%/webapps/下(或者别的Web服务器如Resin,WebLogic也可),启动服务器,它会自动找到这个war文件并解压安装。

./catalina.sh start  开启tomcat服务

./catalina.sh stop   关闭tomcat服务

Tomcat容器入门介绍

Tomcat环境配置

PS:JDK的安装这里就不讲了,找到安装包直接下一步下一步就行了。

1、配置JDK

在Windows10下,找到环境变量

在环境变量中添加JDK主目录

格式为:JAVA_HOME= 指向你的jdk的主目录(并不是bin文件目录)

在环境变量中添加路径

格式为:path = %JAVA_HOME%\bin;

在环境变量中添加classpath

格式为:classpath: .;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar;

至此,JDK就配置完了。

PS:如果在不配置JAVAHOME的前提下可以用如下方法启动tomcat

在startup.bat的第25行中添加set JAVA_HOME=JKD路径

2、启动tomcat

到 tomcat 主目录下的bin/startup.bat点击启动

3、验证是否安装成功

在浏览器中输入http://127.0.0.1:8080(8080是默认端口,如果该端口被占用需要到主目录/conf/server.xml中改端口号)

出现这个界面,就表示tomcat已经配置成功了。

Tomcat配置异常及其解决

1、JAVA_HOME 配置错误,或者没有配置

这时候,可以按照上面的步骤在来一次,在命令行中输入java -version,如果显示

就表示成功了。

2、如果你的机器已经占有了8080 端口,则无法启动

解决方法

(1) 你可以8080 先关闭

netstat –an

netstat –anb 来查看谁占用该8080

(2) 主动改变tomcat的端口.

到 conf/server.xml 文件中修改

3、 能够正常启动,但是会导航到另外一个页面

去修改工具->管理加载项,把默认的导航给禁用即可

4、浏览器显示404 Not Found

在访问 tomcat时候,一定要保证 tomcat 服务器是启动,不然就会出现这种错误。

Tomcat的目录结构文件

bin: 启动和关闭tomcat的bat文件

conf: 配置文件

-->*server.xml *: 该文件用于配置和 server 相关的信息, 比如 tomcat启动端口后,配置Host,  配置Context 即web应用

-->web.xml : 该文件配置与 web应用(web应用就相当于是一个 web站点)

-->tomcat-users.xml: 该文件用户配置tomcat 的用户密码 和 权限

lib 目录: 该目录放置运行tomcat 运行需要的jar包

logs 目录:存放日志, 当我们需要去查看日志的时候,很有用!,当我们启动tomcat错误时候,可以查询信息.

webapps 目录: 该目录下,放置我们的web应用(web 站点), 比如:

建立  web1 目录  下面放置我们的html 文件 jsp 文件..图片... 则 web1就被当做一个web应用管理起来(☞ 特别说明tomcat 6.0 以后支持 tomcat 5 版本 还有别的设置)

work: 工作目录: 该目录用于存放jsp被访问后 生成的对应的 server文件 和.class文件

如何访问一个web应用的某个文件

PS:想要访问一个WEB应用中的某个文件可以采用url(Uniform Resource Locator)统一资源定位符来访问,其格式如上。

Tomcat应用部署目录结构规范

Tomcat管理虚拟目录

需求:当希望将web应用部署到非webapps目录下时,怎么解决这问题。

PS:可以通过虚拟目录配置技术解决。

配置步骤

1、找到server.xml文件

2、编辑host节点,添加Context path

<Context path="/应用名" docBase="web应用所在的绝对路径"/>

例如:要访问该web应用根目录下的hello.html文件

实际访问时输入的地址:http://localhost:8088/应用名/hello.html

3、重启、重新部署生效

context的几个属性的说明

path: 应用名称

docbase:  web应用所在的绝对路径

reloadable: 如果设为ture ,表示 tomcat 会自动更新 web应用,但是这个开销大,建议在开发过程中,可以设为true, 但是真的发布了,则应当设为false

upackWAR: 如果设为 ture ,则自动解压,否则不自动解压.

PS:war包的打包和Tomcat怎么部署war包可以使用搜索引擎找到。

配置域名

实现的步骤如下:

(1) 在C:\WINDOWS\system32\drivers\etc 下的host文件 添加127.0.0.1 www.myweb.com

(2) 在tomcat 的server.xml文件添加主机名

<Host name="www.myweb.com" appBase="d:\web3”>

<Context path="/" docBase="d:\web3" />

</Host>

(3) 在d:\web3 加入了一个 /WEB-INF/web.xml 把 hello2.html设为首页面,如果连端口都不希望带,则可以把tomcat的启动端口设为80即可.

(4) 重启生效

Tomcat框架机制

Tomcat配置默认主机

在tomcat/conf/server.xml 文件

<Engine name="Catalina" defaultHost="主机名">

如:<Engine name="Catalina" defaultHost="www.myweb.com">

----------参考《韩顺平.细说Servlet》

Tomcat入门指南的更多相关文章

  1. Java Gradle入门指南之内建与定制任务类(buildSrc、Groovy等)

        上一篇随笔介绍了Gradle的安装与任务管理,这篇着重介绍Gradle的内建任务(in-built tasks)与自定义任务(custom tasks),借助Gradle提供的众多内建任务类型 ...

  2. Nexus入门指南(图文)

    Nexus入门指南(图文) 博客分类: Maven JavamavenGoogleApacheTomcat Nexus介绍 Nexus 是Maven仓库管理器,如果你使用Maven,你可以从Maven ...

  3. 第3章 Spring Boot 入门指南

    Part II. 入门指南 如果你刚刚开始使用Spring Boot,这是你的一部分内容! 在这里我们将会回答一些基本的“what?”, “how?” 和 “why?”的问题. 在这里你会找到一个详细 ...

  4. Web API 入门指南 - 闲话安全

    Web API入门指南有些朋友回复问了些安全方面的问题,安全方面可以写的东西实在太多了,这里尽量围绕着Web API的安全性来展开,介绍一些安全的基本概念,常见安全隐患.相关的防御技巧以及Web AP ...

  5. Vue.js 入门指南之“前传”(含sublime text 3 配置)

    题记:关注Vue.js 很久了,但就是没有动手写过一行代码,今天准备入手,却发现自己比菜鸟还菜,于是四方寻找大牛指点,才终于找到了入门的“入门”,就算是“入门指南”的“前传”吧.此文献给跟我一样“白痴 ...

  6. yii2实战教程之新手入门指南-简单博客管理系统

    作者:白狼 出处:http://www.manks.top/document/easy_blog_manage_system.html 本文版权归作者,欢迎转载,但未经作者同意必须保留此段声明,且在文 ...

  7. 【翻译】Fluent NHibernate介绍和入门指南

    英文原文地址:https://github.com/jagregory/fluent-nhibernate/wiki/Getting-started 翻译原文地址:http://www.cnblogs ...

  8. ASP.NET MVC 5 入门指南汇总

    经过前一段时间的翻译和编辑,我们陆续发出12篇ASP.NET MVC 5的入门文章.其中大部分翻译自ASP.NET MVC 5 官方教程,由于本系列文章言简意赅,篇幅适中,从一个web网站示例开始讲解 ...

  9. 一起学微软Power BI系列-官方文档-入门指南(1)Power BI初步介绍

    我们在前一篇文章微软新神器-Power BI,一个简单易用,还用得起的BI产品中,我们初步介绍了Power BI的基本知识.由于Power BI是去年开始微软新发布的一个产品,虽然已经可以企业级应用, ...

随机推荐

  1. sqlalchemy 的 Core 方式使用示例

    知乎: sqlalchemy 的 Core 方式操作数据是一种怎样的体验? 答: 爽! 本文基于:win 10 + python 3.4 + sqlalchemy 1.0.13 基本步骤如下: 1. ...

  2. [CareerCup] 3.4 Towers of Hanoi 汉诺塔

    3.4 In the classic problem of the Towers of Hanoi, you have 3 towers and N disks of different sizes ...

  3. LeetCode:Path Sum I II

    LeetCode:Path Sum Given a binary tree and a sum, determine if the tree has a root-to-leaf path such ...

  4. Linux第14周学习笔记

    虚拟存储器 虚拟存储器是硬件异常.硬件地址翻译.主存.磁盘文件和内核软件的完美交互. 虚拟存储器的特点: 中心的 强大的 危险的 物理和虚拟寻址 计算机系统的主存被组织成一个由M个连续的字节大小的单元 ...

  5. PM2实用入门指南

    简介 PM2是node进程管理工具,可以利用它来简化很多node应用管理的繁琐任务,如性能监控.自动重启.负载均衡等,而且使用非常简单. 下面就对PM2进行入门性的介绍,基本涵盖了PM2的常用的功能和 ...

  6. Android Studio修改项目的包名

    android studio的修改包名,没有有Eclipse环境中那么好操作.也可能你对Eclipse的操作比较熟悉,对Andoid Studio的操作还不太熟悉.在项目的开发中,你可能遇到需要更改模 ...

  7. 手把手教你Linux服务器集群部署.net网站 - 让MVC网站运行起来

    一.Linux下面安装需要软件 我们这里需要安装的软件有: 1) Mono 3.2.8 : C#跨平台编译器,能使.Net运行与Linux下,目前.net 4.0可以完美运行在该平台下 2) ngin ...

  8. windows 7 + vs2010 sp1编译 x64位版qt4

    由于qt官方没有发布预编译的64位版qt4,要使用64位版qt4,只能自己编译,编译过程如下: 1,下载源码并解压到D:\qt-src\qt-everywhere-opensource-src-4.8 ...

  9. Boostrap(4)

    1.按钮 <!doctype html> <html> <head> <meta charset="utf-8"> <titl ...

  10. [设计模式] javascript 之 抽象工厂模式

    抽象工厂模式说明 1. 工厂方法模式的问题: 在工厂方法模式里,创建类都需要通过 工厂类,如果要扩展程序,就必须修改工厂类,这违背了闭包原则,对扩展开放,对修改关闭:对于设计有一定的问题. 2. 如何 ...