Lesson2
●Tomcat无法正常启动的原因分析
1.JAVA_HOME环境变量配置错误,或者就没有配置该环境变量。
2.Tomcat的端口号默认为8080,当前机器有程序占用了该端口号导致无法正常启动。
解决方案:①关闭当前占用8080端口的程序。
netstat –anb可以查看当前已经被占用的端口以及占用端口的程序;
在任务管理器中可以将该进程关闭。
②修改Tomcat的配置,在Tomcat的主目录中conf文件夹下有一个server.xml,修改其中的“port=8080”字段,将端口号8080修改为其他的端口即可。
3.可以正常启动,但是浏览器无法显示Tomcat主页,而是导航到其他页面。
解决:修改浏览器的管理加载项,禁用即可。
4.在访问Tomcat的时候,一定保证Tomcat服务器是启动的。
●Tomcat的目录层次结构
bin文件夹:存放启动和关闭Tomcat的脚本文件
conf文件夹:存放Tomcat服务器的各种配置文件
server.xml:该文件用于配置和server相关的信息,比如Tomcat启动的端口号,再比如配置Host主机、配置context即web应用。
web.xml:该文件配置与web应用相关的,web应用就相当于一个web 站点。
tomcat_users.xml:该文件用于配置tomcat的用户密码和权限。
lib文件夹:存放Tomcat服务器的支撑jar包
logs文件夹:存放Tomcat的日志文件。当我们启动Tomcat出错的时候可以在这里查看信息。
temp文件夹:存放Tomcat运行时产生的临时文件。
webapps文件夹:web应用所在目录,即供外界访问的web资源的存放目录。
work文件夹:Tomcat的工作目录。该目录用于存放jsp被访问后生成的对应的那个servlet文件和class文件。
☞如何访问一个Web应用的某个资源文件:
格式:http://localhost:8080/web1/hello.html
http表示协议,localhost表示主机或者域名,8080为端口号,web1为web应用,hello.html为资源文件。web1/hello.html为uri,整个格式为url(统一资源定位)。uri是url的一部分.
☞一个web应用由多个web资源或其他文件组成,包括html文件、css文件、js文件、动态web页面、java程序、支持jar包、配置文件等。
☞如果现在需要把hello.html作为首页,则需要添加WEB-INF目录,以及web.xml文件,把web应用做得更加规范。
WEB-INF下的classes目录用来存放class文件,lib目录用来存放jar文件。
●Tomcat配置虚拟目录
我们把web应用放在tomcat默认的webapps目录下,tomcat就会自动管理,但是大家考虑一个问题:
需求:因为tomcat所在的磁盘(比如f:分区)空间的问题,我们能不能把web应用放在另外一个分区(比如d:分区),同样让tomcat去管理呢?
答案是可以的。虚拟目录!
配置虚拟目录需要在tomcat的conf目录下的server.xml的<Host>节点间添加如下代码:<Context path=”/myweb” docBase=”f:\myblog”/>
Context几个属性说明:
☞Path就是应用名,docBase用于指定虚拟目录在什么位置(要写绝对路径)。
绝对路径就是从跟路径开始找的,相对路径是从当前路径开始找。
☞reloadable:如果设为true,表示tomcat会自动更新web应用,建议在开发过程中可以设为true,但是一旦真的发布,则应当设为false,否则开销太大。
☞unpackWAR:如果设为true的话会自动解压,否则不自动解压。
配置之后需要重启Tomcat才能生效。
●设置Web应用的首页面
修改conf下的web.xml文件。
●在一台Web服务器中配置网站
看一个企业常见需求:
我们在实际访问网站的过程中,不可能使用http:localhost:8080/web应用/资源名的方式去访问网站,实际上使用类似
http://www.sina.com.cn或者http://www.news.sina.com.cn的方式去访问网站,这个是怎么实现的呢?
我们看一下如何配置自己的主机名,步骤如下:
(1) 在C:\Windows\System32\drivers\etc下的hosts文件中添加自己想要的域名比如www.gavin.com,使其指向的IP为127.0.0.1
(2) 在Tomcat的server.xml文件添加主机Host节点
<Host name=www.gavin.com appBase=”d:\web3”/>
(3) 在d:\web3加入了WEB-INF/web.xml文件设置首页面。
如果连端口都不希望带,则在server.xml中修改启动端口为80即可。
(4) 重启生效。
●Tomcat体系结构
配置默认主机:在server.xml中找到<Engine>节点,改变其中的default属性即可。