tomcat学习笔记
1、安装和运行【必须】
* 解压apache-tomcat-6.0.35.zip
* 位置:不能包含中文和空格
* 运行:
%tomcat%/bin/startup.bat
* 测试
* http://localhost:8080
2、启动错误
* 没有配置JAVA_HOME系统环境变量
* 错误内容
Neither the JAVA_HOME nor the JRE_HOME environment variable is defined
At least one of these environment variable is needed to run this program
* 配置JAVA_HOME,如果没有指向JDK目录
* 错误内容
The JAVA_HOME environment variable is not defined correctly
This environment variable is needed to run this program
NB: JAVA_HOME should point to a JDK not a JRE
* 配置JDK
* 安装目录:C:\java\JDK\jdk1.6.0_32
* 错误信息位置
* %tomcat%/bin/setclasspath.bat
* 必须存在4个可执行程序
if not exist "%JAVA_HOME%\bin\java.exe" goto noJavaHome
if not exist "%JAVA_HOME%\bin\javaw.exe" goto noJavaHome
if not exist "%JAVA_HOME%\bin\jdb.exe" goto noJavaHome
if not exist "%JAVA_HOME%\bin\javac.exe" goto noJavaHome
* 端口被占用
* 错误内容
异常:java.net.BindException: Address already in use: JVM_Bind <null>:8080
3、修改端口号
* 修改文件的位置
* %tomcat%/conf/server.xml
* 修改端口的个数:3个
* <Server port="8005" shutdown="SHUTDOWN">
* <Connector port="8080" protocol="HTTP/1.1"
* <Connector port="8009" protocol="AJP/1.3"
* 注意:
一个端口号只能被一个应用程序占有
一个应用程序可以占用多个端口号
* 将端口修改成80后,再修改回8080
4、tomcat的目录结构
* bin目录:存放tomcat的启动和终止脚本
* startup.bat 启动脚本
* bootstrap.jar,启动脚本最终执行的java程序
* org.apache.catalina.startup.Bootstrap
* shutdown.bat 终止脚本
* conf目录:存放tomcat所有的配置信息的文件【必须】
* tomcat-users.xml:管理用户权限
* web.xml:手动书写web项目的web.xml
* server.xml:修改配置(修改端口、添加虚拟路径、添加虚拟主机)
* lib目录:存放tomcat所有的功能的jar
* tomcat:web服务器,servlet容器
* tomcat仅实现了JSP、servlet
* java ee 13核心技术(ppt 8)
* logs目录:日志目录
* temp目录:临时文件夹
* webapps目录:tomcat维护的所有的web应用程序所在的目录【必须】
* ROOT -- /
* work目录:tomcat处理JSP文件的工作目录【必须】
5、配置tomcat的管理用户【必须】
* 文件位置
* %tomcat%/conf/tomcat-users.xml
* 添加内容
<!--声明当前需要的角色-->
<role rolename="manager-gui"/>
<!-- 确定当前用户的账号和密码,以及使用的角色-->
<user username="root" password="root" roles="manager-gui"/>
* 重启tomcat
6、web项目【必须】
| web project
| -- WEB-INF目录:屏蔽浏览器访问的资源目录。此目录浏览器不可见
* 存放web项目的配置信息
* 存放web项目依赖的jar文件
* 存放当前web的源码文件生成的class文件
| -- web.xml文件:web项目的配置文件
* 配置信息的内容:%tomcat%/conf/web.xml,拷贝根元素
| -- lib目录:所依赖jar文件存放的位置
| -- classes目录:class文件存放的位置
7、虚拟目录:
* 文件位置:%tomcat%/conf/server.xml
* 配置内容
<Host name="localhost" appBase="webapps">
<Context path="/xxx" docBase="F:\workspaces\20120909\day04\WebRoot" />
* path:浏览器访问的路径
* docBase:当前路径映射的实际文件夹位置
* 注意:指定到一个web项目
* 用途:扩展webapps目录管理项目的
8、虚拟主机
* 本地域名生效原因localhost
* C:\WINDOWS\system32\drivers\etc\hosts
* 127.0.0.1 localhost
* hosts文件
* 书写URL访问资源
* IP的作用:仅负责找到需要的主机的位置
* 配置内容
<Host name="www.baidu.com" appBase="D:\mywebapps"
* 注意:需要修改host文件
tomcat学习笔记的更多相关文章
- Tomcat 学习笔记二
学习一 java.bean.PropertyChangeListener用来监听bean类的属性值改变.当改变时同时执行对应事件.而且是线程安全的.tomcat用此reload的Boolean值改变是 ...
- Tomcat ----> 学习笔记
源码之几个常见类和接口的关系 在学习Servlet的时候经常见到以下几个合成单词和非合成单词:Servlet.GenericServlet.HttpServlet.它们之间有联系的.接下来我把它们的联 ...
- Tomcat学习笔记【1】--- WEB服务器、JavaEE、Tomcat背景、Tomcat版本
本文主要讲学习Tomcat需要知道的基础知识. 一 Web服务器 1.1 简介 Web服务器可以解析HTTP协议.当Web服务器接收到一个HTTP请求,会返回一个HTTP响应,例如送回一个HTML页面 ...
- tomcat学习笔记一:安装和配置
安装 配置环境: win7 + centos7虚拟机 安装步骤: 到http://tomcat.apache.org/下载最新的tomcat安装包(8.0.24) 移到对应的目录并解压 安装问题: 安 ...
- tomcat学习笔记2
LNMT在网站架构中的实现过程: Client --> http --> Nginx --> reverse_proxy (http) --> tomcat (http con ...
- tomcat学习笔记1
tomcat是一个开源软件,是由java语言编写的,它工作的话需要运行在jvm虚拟机中,说到jvm不得不说下java这个大名鼎鼎的编程 语言了 java这个编程语言最优秀的特点要数write once ...
- Tomcat学习笔记 - 错误日志 - Tomcat部署项目或修改xml配置出现无法保存的情况(拒绝访问)
原因分析:(windows下) 可能有人会发现在编辑好 tomcat-users.xml 文件后无法保存,原因是使用的用户没有权限修改文件,可能是把 Tomcat 发行包放到了一个需要管理员权限才能修 ...
- Tomcat学习笔记 - 错误日志 - NetBeans配置tomcat出错情况总结 -- 尚未授予访问 Tomcat 服务器的权限。请在服务器管理器的 Tomcat 定制器中设置 "manager-script" 角色的正确用户名和口令。 有关详细信息, 请查看服务器日志。
错误描述: 发布时控制台出现: 部署错误: 尚未授予访问 Tomcat 服务器的权限.请在服务器管理器的 Tomcat 定制器中设置 "manager-script" 角色的正确用 ...
- Tomcat学习笔记 - 错误日志 - Tomcat访问Manager apps出现401 Unauthorized错误
原因是配置文件中未指定管理员身份. 打开tomcat>conf>tomcat-user.xml文件,添加如下代码: <role rolename="admin-gui&qu ...
- Tomcat学习笔记 - 错误日志 - NetBeans配置tomcat出错情况总结 -- 部署错误: 启动 Tomcat 失败。-- '127.0.0.1' 不是内部或外部命令,也不是可运行的程序
真的管用,不知道为啥管用.转载自:http://blog.sina.com.cn/s/blog_709548200102vgy4.html 问题描述: 新安装的NetBeans8.0.2,安装过程中还 ...
随机推荐
- B趣味求和
编写一个程序,求Sn=a+aa+aaa+--+aa-aaa(有n个a)的值,其中a是一个数字. Input 输入数据含有不多于50组的数据,每组数据由两个正整数(0<a, n < 10)组 ...
- UITableView移除某行的分割线和让分割线宽度为cell的宽度
1.移除 UITableView 某一行的分割线 所谓移除,其实就是使其偏移出 cell 的显示范围,看不到即移除. 方法1: 移除系统的分割线,自己定义每行的分割线 self.tableView.s ...
- 一次使用pywin32学到的知识
FindWindow这个函数检索处理顶级窗口的类名和窗口名称匹配指定的字符串.这个函数不搜索子窗口. FindWindowEx:FindWindowEx是在窗口列表中寻找与指定条件相符的第一个子窗口 ...
- XAMPP启动MySQL时报端口被占用错误
1 问题描述 启动XAMPP中的mysql时宝凑,错误信息是:3306端口被占用 2 问题诊断 2.1 可能是在安装XAMPP之前安装了MySQL,这样电脑中就有两个MySQL啦,如果我们在安装时都采 ...
- VS2013 C++代码运行问题
VS2013(工具集V120)下编译的C++代码,在win7运行错误,提示缺少msvcr230.dll,但是添加dll之后无效. 解决办法: 官方下载VS2013的C++运行库: vcredist_x ...
- 在WebGL场景中使用2DA*寻路
这篇文章将讨论如何在一个自定义的地面网格上进行简单的2D寻路,以及确定路径后如何使用基于物理引擎的运动方式使物体沿路径到达目标地点.读者需要预先对WebGL和Babylonjs知识有一些了解,可以 ...
- CSS3自定义滚动条样式
原文地址:→传送门 写在前面 滚动条是个很常见的东东,不过某些浏览器自带的滚动条确实不太好看啊,下面可以作为学习,探讨下自定义滚动条的实现,这样你的滚动条就可以美美的啦.但是,也只能玩玩,因为只针对w ...
- HTML-JS基础 变量与输入输出 运算符 分支结构
js中的变量 1.JS中变量声明的写法: var num=10;//使用var声明的变量属于局部变量只在当前作用域内有效 num=10;//不用var声明的变量,默认为全局变量,在整个JS文件中都有效 ...
- Mac实用操作技巧(二)
输入特殊字符.Emoji表情符号 有的场景需要输入诸如café中的é字母,这时可以按下Option + E之后,再按下E即可输入(注意需要将中文输入法关闭,包括搜狗输入法).还有更多的特殊符号可以输入 ...
- [Oracle Support]PeopleSoft Support中Fixes,Patches,Bundles,Packs?
在Oracle Support中经常能看到下面术语,一起学习下. Fixes - 最小单元的维护,修复通常会解决一个特定的问题,例如:oracle可能会给您一个解决生产问题的解决方案. Patches ...