(1) 配置
①在环境变量中添加
JAVA_HOME= 指向你的jdk的主目录(并不是bin文件目录)
② 在不配置JAVAHOME的前提下启动tomcat
在startup.bat的第25行中添加set JAVA_HOME=JKD路劲
(1) 启动tomcat服务器
到 tomcat 主目录下 bin/startup.bat
(2) 验证是否安装成功
http://localhost:8080(8080是默认端口如果该端口已经被占用需要修改端口)
tomcat安装后问题解决
(1)tomcat无法正常启动的原因分析
1. JAVA_HOME 配置错误,或者没有配置
2. 如果你的机器已经占有了8080 端口,则无法启动,
解决方法
(1) 你可以8080 先关闭
netstat –an
netstat –anb 来查看谁占用该8080
(2) 主动改变tomcat的端口.
到 conf/server.xml 文件中修改
<Connector connectionTimeout="20000" port="8088" (去修给config->server.xml的端口号)protocol="org.apache.coyote.http11.Http11NioProtocol" redirectPort="8443"/>
(3) 能够正常启动,但是会导航到另外一个页面.
去修改工具->管理加载项,把默认的导航给禁用即可.
(4) 在访问 tomcat时候,一定保证 tomcat 服务器是启动
tomcat的目录结构文件
conf: 配置文件
-->server.xml : 该文件用于配置和 server 相关的信息, 比如 tomcat启动端口后,配置Host, 配置Context 即web应用
-->web.xml : 该文件配置与 web应用(web应用就相当于是一个 web站点)
-->tomcat-users.xml: 该文件用户配置tomcat 的用户密码 和 权限
work: 工作目录: 该目录用于存放jsp被访问后 生成的对应的 server文件 和.class文件
tomcat如何去管理虚拟目录
需求: 当我们把 web 应用放到 webapps目录,tomcat会自动管理,如果我们希望tomcat可以管理其它目录下的web应用?->虚拟目录配置
虚拟目录配置步骤:
① 找到server.xml文件
① 编辑host节点 添加Context path
在server.xml中添加:<Context path="/myweb2" docBase="d:\web2"/>
myweb2:是访问时输入的web名,实际取出的是web2中的资源
"d:\web2":绝对路径下web2中存放资源如:hello2.html
实际访问时输入的地址:http://localhost:8088/myweb2/hello2.html
绝对路径:从根分区找某个文件
相对路径:从该文件位置去找另一个文件
③ 需要重启tomcat,才能生效.(因为是采用的dom技术讲信息加载到内存中)
Context 的几个属性的说明
path:
docbase:
reloadable ;如果设为ture ,表示 tomcat 会自动更新 web应用,这个开销大,建议在开发过程中,可以设为true, 但是一旦真的发布了,则应当设为false;
upackWAR: 如果设为 ture ,则自动解压,否则不自动解压.
①:打war包 cd:d/web2 然后jar –cvf web2.war *
配置域名
实现的步骤如下:
(1) 在C:\WINDOWS\system32\drivers\etc 下的host文件 添加127.0.0.1 www.sina.com.cn
(2) 在tomcat 的server.xml文件添加主机名
<Host name="www.sina.com" appBase="d:\web3”>
<Context path="/" docBase="d:\web3" />
</Host>
(3) 在d:\web3 加入了一个 /WEB-INF/web.xml 把 hello2.html设为首页面
如果连端口都不希望带,则可以吧tomcat的启动端口设为80即可.
我们看和一个如何配置自己的主机名:我们在实际访问网站的过程中,不可能使用http://localhost:8080/web应用/资源名 的方式去访问网站,实际上使用类似
http://news.sina.com.cn 的方式去访问网站,这个又是怎么实现的呢?
看看ie浏览器访问一个web站点的流程.
(4) 重启生效
tomcat体系的再说明
如何配置默认主机:
在tomcat/conf/server.xml 文件
<Engine name="Catalina" defaultHost="主机名">