servlet学习之tomcat介绍

来源:互联网 发布:三星s5230c软件下载 编辑:程序博客网 时间:2024/06/03 14:19


菜鸟学习中~看韩顺平的视频,跟着做的笔记~

1、  tomcat无法正常启动的原因分析

     1)  JAVA_HOME配置错误,或者没有配置。

            注意:JAVA_HOME路径后面没有分号,若加上,在启动的时候会找dir;这个地址,找不到。

            若是不能更改操作系统的环境变量,可用以下方法配置JAVA_HOME。

            Tomcat安装目录下,bin/startup.bat中,在25行(set"CURRENT_DIR=%cd%")前面加上set JAVA_HOME=dir,dir是java的安装路径。

     2)  能正常启动,但是会导航到另外的一个页面。

             与浏览器有关:IE浏览器修改管理加载项,将默认导航禁止即可。

     3)  访问tomcat的时候,一定保证tomcat服务器是启动的。

     4)  若机器已经占用8080端口,则无法启动。

   解决方案:

 (1)先将占用8080端口的程序关闭

          用netstat -an查看8080端口是否被占用

         用netstat -anb查看哪个应用程序占用8080端口

         启动windows任务管理器的进程,查看占用8080的程序,并将其关闭。(查看—选择列(S)…—PID(进程标识符)可看见应用程序对应的端口号)

(2)主动改变tomcat的端口

          Tomcat安装目录下conf/server.xml,找到Connector标签,改变默认的8080端口值。

      <Connector port="8080"protocol="HTTP/1.1"

                connectionTimeout="20000"

                 redirectPort="8443"/>

2、Tomcat目录说明

先来一张图:


 bin文件夹  启动和关闭tomcat的脚本文件。

 logs目录 存放日志,可查看日志。当tomcat出错时,可查看原因。

 lib目录  存放tomcat运行时需要的jar包。

 webapps目录   存放web应用(web站点)。注意tomcat6.0以后才支持web站点的管理。

  conf配置文件:

       1)      server.xml文件

             用于配置和server相关的信息,比如tomcat启动的端口号,配置主机(虚拟主机和域名),配置context,即web应用。

       2)      web.xml文件

              为web应用的配置文件,它必须放在web应用目录/WEB-INF目录下。此文件用于对web应用下的web资源进行配置,例如,将某个web资源配置为    站首页,将servlet程序映射到某个url地址上等等。

         例如:通过web.xml文件配置网站首页。

  <welcome-file-list>
                      <welcome-file>index.jsp</welcome-file>
  </welcome-file-list>

  3)tomcat-users.xml文件

           用于配置tomcat的用户密码和权限。

              tomcat7中配置管理员,加上如下代码:

                         <role rolename="admin-gui"/>
                         <role rolename="manager-gui"/>
                        <user username="admin" password="123" roles="admin-gui,manager-gui"/>

         注意这里的rolename后面还有后缀。貌似不同的版本,配置的不一致,可参考tomcat6与tomcat7管理员配置的区别。

检验:在tomcat首页面上点击Manager App,输入username和password后,出现Tomcat Web Application Manager,这里可以对各个web应用进行单独操作,如停止、重载、卸载等。在web应用管理中,蛮重要。


3、虚拟目录,虚拟主机

引出:当把web应用放在webapps目录下时,tomcat会自动管理,如果希望tomcat可以管理其他目录下的web应用,使用虚拟目录配置。

配置虚拟目录在tomcat的conf目录下的server.xml的host节点间加上配置信息:

<Contextpath="/Hello" docBase="e:\mywebapps\Hello"/>

注意:docBase是程序文档的绝对路径,即虚拟目录的绝对路径,path是网络路径,包括协议、地址、web应用名、资源名等,eg:http://localhost:8080/Hello/

配置完成后,需要重启tomcat。

Context属性值说明:

1)  reloadable若设为true,表示tomcat会自动更新web应用,开销大。建议,开发阶段可以将reloadable设为true,而发布后,应该将其设为false。

2)  unpackWARs默认为true。如果设为true,则tomcat在发布web应用时,会自动解压;否则,不会自动解压。

打war包:命令行命令:jar -cvf xxx.war *

 

4、在一台web服务器中配置网站,即如何配置自己的主机名

步骤如下:

1)  在C:\Windows\System32\drivers\etc的hosts文件中,加上本机地址和要配置的域名,对照localhost的配置。

2)  在tomcat的server.xml文件中,添加一个主机名。

<Hostname="www.shoren.com" appBase="E:\mywebapps\Hello">

            <Context path="/"  docBase="E:\mywebapps\Hello"/>

  </Host>

3)  按之前步骤设置首页面。

4)  在浏览器中输入http://www.shoren.com:8080/,(此处不可缺少8080端口号)即可。

注意:若在server.html的Host节点中,appBase和docBase设为"E:\mywebapps",则浏览器中输入的地址就应该加上Hello路径,即http://www.shoren.com:8080/Hello。

如果只在hosts文件中加入ip信息"www.shoren.com",不在server.html中修改,则输入http://www.shoren.com:8080/后,指示的就是localhost的tomcat首页面。结合浏览器请求服务器的过程就比较容易理解了。

         

    向所得的地址发http请求,访问本地的web站点,就是向本机tomcat发请求。Tomcat得到请求后,先解析主机(一个tomcat可管理多台主机,在server.xml文件中的一个Host节点代表一个主机),然后再解析web应用(一个Host有多个web应用),解析资源名。

 

5、Tomcat体系结构图

这个结构图可以在conf/server.xml文件中体现出来。


改变默认主机:

当我输入localhost:8080时,会跳出tomcat的主页面;输入ip地址:8080时,也会跳出tomcat主页面。这个localhost就是默认的主机。现在希望输入ip地址:8080时,跳出自配置的www.shoren.com主页面。则www.shoren.com就是默认的主机。

步骤:在server.xml中,找到engine(一个tomcat只配有一个engine)标签,将其defaultHost属性改为你要配置的主机名(主机名在host标签中都有)。


原创粉丝点击