89407119 2010-12-02
先说说如何用Eclipse来做servlet开发,那些project下面对应的目录到底是什么
1.创建web project(比方说project名字为Test)
会出现src文件,运行环境的jar包,WebRoot文件
jar包我们就不说了,主要看src和WebRoot
src我们都知道是放源程序的,创建的servlet程序都放在这个里面
WebRoot这个文件有什么用呢?其实很好理解
当我们写好一个动态Web资源,启动Tomcat服务器时,此时Tomcat已经和这个
project关联,Eclipse会自动将这个工程的Web资源发送到Tomcat的映射目录中去
整个Web应用的目录就是project的名字即Test,然后就是WebRoot中的内容了一个servlet程序就是一个(必须)实现了特殊接口(即Servlet接口)的Java类,它由支持Servlet
的Web服务器调用和启动运行(我们常用的Tomcat就支持Servlet),一个Servlet程序负责
处理它所对应的一个或一组URL的访问请求,并用于接收客户端发出的访问请求信息和产生
响应内容在Java SE基础里,我们学过Applet,它是用于浏览器端的Java小程序,在浏览器端被解释执行,
其实浏览器也就是我们所说的客户端
而Servlet是用于Web服务器端的Java小程序,它在Web服务器端被解释执行,用于处理客户端的请求
和产生动态网页内容虚拟目录D:\163\mail.html
1.当把其他磁盘的目录映射成虚拟目录时,我们可以在Tomcat服务器的conf下的tatalina文件夹下
的localhost下建立一个xml文件,文件名就是虚拟目录的名字(163.xml),内容为
<ContexdocBase="c:\mail"/>里面的路径即为Web应用的路径
这种情况是访问Web应用下的静态资源,并且不能有WEB-INF目录,不然启动Tomcat会出错
我也不知道,试验过很多次总出错,原来是WEB-INF的原因
URL:http://localhost:8080/163/mail.html
其中163即为映射的虚拟目录(通常我们都会把虚拟目录的名字和磁盘上的Web应用的目录名保持一致)需要说明一下:第一种方式映射虚拟目录不是说不要WEB-INF文件夹吗?但刚刚我又试了一次结果又可以了,不知道怎么回事
2.上述的方法是比较常用的方法
在Tmocat 6.0版本以前通常是另外一种配置方法
在conf文件夹下的server.xml文件中配置
在<Host>标签中配置<Contexpath="163"docBase="c:\mail"/>
其中path是就是虚拟目录,这种方式可以存在WEB-INF文件夹目前常用的方法都是用第一种方式,当然第二种方式我们也必须了解
在看第一种方式,如何直接访问http://localhost:8080/mail.html
我们只需要将163.xml文件的名字换成ROOT.xml即可(注意是大写)
这里又要注意了
改名之后http://localhost:8080访问不了了那么咱们现在输入http://localhost:8080这个URL的时候就是访问mail.html
这个如何配置呢?
这个就需要针对咱们的Web资源来配置了
刚刚咱们讲的都是如何来映射虚拟目录吧
下面就说说如何配置Web资源在WEB-INF目录下创建一个配置文件web.xml然后再这个文件中修改
在Tmocat里conf中有一个web.xml文件,咱们可以借鉴一下
<welcome-file-list>
<welcome-file>index.html</welcome-file>
<welcome-file>index.htm</welcome-file>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>
这个就是修改首页的,把第一个index.html换成mail.html
完成后咱们在访问http://localhost:8080就是访问的mail.html的内容了
前面的ROOT.xml文件要保留才有效哦总结一下上面讲的:如何配置虚拟目录
1.在Tomcat里的conf中的catlina下的localhost里创建一个配置文件,文件名就是虚拟目录
比如163.xml,然后写入<ContextdocBase="d:\163">,这个目录就是Web应用的那个路径
现在虚拟目录就映射成功了
http://localhost:8080/163/mail.html
2.如何访问缺省的web资源
在第一步的基础上将163.xml文件名改成ROOT.xml就行了
http://localhost:8080/mail.html
3.如何将缺省的web资源设置成首页
在前2步的基础上继续操作,在Web应用目录下创建WEB-INF文件夹,在里面写入web.xml配置文件
然后将首页的信息修改成mail.html即可
http://localhost:8080/访问的就是mail.html
上面讲的就是如何映射虚拟目录
下面来说说如何配置虚拟主机1.首先我们要创建一个虚拟主机,比如主机名为:www.163.com
然后在磁盘上创建这个主机的Web应用目录,里面放置主机需要的Web资源
2.在Tomcat/conf/server.xml里配置虚拟主机的信息
其实打开server.xml,我们发现Tomcat已经为我们配置好了一个虚拟主机了,这个是默认的,如下:
<Hostname="localhost"appBase="webapps"
unpackWARs="true"autoDeploy="true"
xmlValidation="false"xmlNamespaceAware="false">
这段内容写的是;主机名localhost,映射的虚拟目录就是安装目录的webapps文件夹这样,我们照葫芦画瓢,也同样来配置www.163.com主机
<Hostname="www.163.com"appBase="F:WebResource\163">
</Host>
appBase的配置就是制定磁盘上的哪个路径为虚拟目录下面来说一下咱们是如何访问服务器的
1.一台服务器下可以挂多台主机,我们访问一个网址www.163.com,这个其实是一个虚拟主机名
当我们连接主机时,浏览器首先会去访问这个dns服务器,通过dns服务器来解析主机名,这样会得到
一个ip地址,这个ip地址就是服务器在网络上的地址,然后我们通过这个ip地址连带着主机名去访问服务器
当服务器接收到request时,服务器发现携带过来的主机,就会去访问虚拟主机对应的web资源2.如果dns服务器挂掉了,咱们就可以通过ip地址直接访问服务器,当然服务器都有默认的虚拟主机,咱们访问的就是那个默认的,其实我们也可以在Tomcat里来修改这个默认的虚拟主机
<Engine name="Catalina" defaultHost="localhost">
defaultHost属性就是用来修改默认虚拟主机的
在tomcat6版本中:1、本人不推荐。在tomcat\conf下server.xml中找到<hostname="localhost"appbase="webapps"unpackwars="true
Tomcat的Web应用默认是放置在其webapps目录下的,通过配置可以重新为其设置虚拟目录。在<HOST>...</HOST>节点中加入如下配置。docBase属性配置虚拟目录对应磁盘上的真实目录