J2EE(四)——Tomcat虚拟目录
一、当我们把web应用放到webapps下,Tomcat会自动管理,但是我们希望Tomcat管理别的地方的文件(如E:\WebTest\Hello.html ),就要配置虚拟目录。
即配置conf下面的web.xml文件。
在server.xml的Host节点下添加如下代码
<Context path=”/WebTest” docBase=”E:\WebTest”/>
保存server.xml重启tomcat后生效
值得一提的是,如果配置的server.xml中含有中文(包括中文注释、中文标点符号),startup.bat启动会出如下错误,
com.sun.org.apache.xerces.internal.impl.io.MalformedByteSequenceException: 1 字节的 UTF-8 序列的字节 1 无效。
二、Context元素属性
<Context path=”/WebTest” docBase=”E:\WebTest” reloadable=”true”/>时便会自动更新WebTest里的内容.建议开发过程设置为reloadable=”true”,一旦发布了设置为reloadable=”false”,不然会使tomcat开销比较大
三、打包war包
用提示命令符切换到需要打包的目录下,执行jar -cvf webtest.war *命令,便会在该目录下生成一个war包,名字为webtest.war.
war包用于tomcat发布,当用tomcat发布时,会默认发到webapps下并自动解压(因为Context的unpackwar属性值默认为true).
四、手动配置域名
浏览器解析URL(http://localhost:8080/11/Hello.html)过程:
1.解析主机名localhost,去C:\Windows\System32\drivers\etc\hosts下查看hosts里有没有记录localhost的ip
2.如果有记录,查到127.0.0.1 localhost,就直接去访问ip对应的机器。
3.如果没有,则通过DNS查询,查询到就去访问,查不到就报错.
配置域名过程:
1.先选择一个web应用,作为你地址的主页面(E:\WebTest\Hello.html)
2.在hosts下添加一栏
# 127.0.0.1 www.myz.com
如果系统提示你没有权限修改此文件,参考
http://www.jb51.net/os/win10/526668.html
3.在Tomcat的server.xml添加主机名,新增一个Host节点
<Host name="www.myz.com" appBase="e:\WebTest">
<Context path="/" docBase="e:\WebTest"/>
</Host>
4.给Hello.html配备一个WEB-INF(包含web.xml),可以从别处复制过来。
修改web.xml添加首页面设置代码
<welcome-file-list>
<welcome-file>Hello.html</welcome-file>
</welcome-file-list>
5.重启生效.访问http://www.myz.com:8080/即可,如果想访问http://www.myz.com/生效同样的功能,则设置tomcat的默认端口为80即可。
myeclipse设置默认端口在window->preferences->myeclipse->servers->Integerate sandBox->tomcat,而且设置完端口不用修改server.xml