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,安装过程中还 ...
随机推荐
- vue指令v-for示例解析
1.遍历数组 <div id="app"> <p v-for="item in items">my name is {{item}}&l ...
- Loadrunner 网页诊断图
Loadrunner 11汉化后版本不包括网页诊断图,所以要想使用网页诊断图,不要汉化.12.50版本汉化后不受影响. 场景执行完,进行analysis时,才能打开网页诊断图. 网页诊断图中组件下载时 ...
- [STM32F429-DISCO-uCosiii]3.uCOSIII 移植
uCOSiii的结构比uCOSii看上去是清晰了不少,也比较有条理,所以呢,移植不是让人感觉很乱.在工程中添加如下目录和文件 与CPU相关的文件都集中在uC-CPU文件夹中.这部分有很多是底层的实现, ...
- layer初步使用
type:基本层类型 layer提供了5种层类型.可传入的值有:0(信息框,默认)1(页面层)2(iframe层)3(加载层)4(tips层). 若你采用layer.open({type: 1})方式 ...
- 【NO.11】Jmeter - 构建1个可供Linux使用的Jmeter测试脚本 - 共3个步骤
在Linux使用Jmeter做性能测试需要4个前提条件,这4个前提条件已经在之前的文档里提到了,重复一下加深印象: (1) 在本地已安装xshell 参考<SecureCRT-转换密钥-Xshe ...
- 【NO.7】HTTP请求-参数化
http://123.456.7.89:8080/article/relation/channel/0038/keyword/movie/start/0/size/20/ 简单说一下这个URL的意思也 ...
- SQL 结合CASE WHEN 实现二维统计
在开发中往往要用到类似下面的二维统计: a b type1 54 65 type2 54 54 在SQL中使用CASE WHEN 语句可以很轻松的实现: SELECT SUM(CASE WHEN ...
- Linux Socket多线程实现简单的多人聊天(pend)
Server: 设置可聊天数为5,为每一个client创建一个线程,这个线程负责接收client的聊天内容并发给其他用户看. 用mutex同步各个线程修改聊天室空余聊天位. Client: 主线程负责 ...
- CentOS 7 服务器配置--安装CentOS 7
看博客园也有几年的时间了,这是第一次鼓足勇气发一下我自己的博客,不为了别的,只是最近打算学习Linux的服务器配置,就写几篇博文把我学的一点点的记录下来,方便以后自己回顾学习. 今天就先记录下我安装C ...
- Java中Lock,tryLock,lockInterruptibly的区别
转载自:https://www.zhihu.com/question/36771163/answer/68974735 ReentrantLock 锁有好几种,除了常用的lock ,tryLock , ...