jsp(1)(tomcat:端口,目录,虚拟路径,项目格式,默认主页)

简介:web应用,供浏览器访问的的程序。由静态web资源(js/html/css)和动态web资源组成.

1.tomcat需要jvm支持(相当一个java程序)需要配置java的path.

(会自动查找JAVA_HOME,CATALINA_HOME环境变量的值,必须配置,或在startup.dat中指定,详情

2.端口:http访问默认端口是80,访问可以不写端口就是此端口。

查看哪些端口被占用,dos:

netstat -ano  //注意不是netstart 

关闭端口:

可以通过关闭进程,有些需要关闭服务才行。

tomcat的默认端口是8080,修改默认在\conf\server.xml文件中修改。

<Connector port="8080" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" />

3.tomcat启动见:

免安装版Tomcat6.0启动方法

4.tomcat的目录介绍:

注意:特别log目录,当启动tomcat出现错误一闪关闭,通过查看log,查找原因显得极其有用。

5.虚拟目录映射:

让web项目供外界访问,需要将web项目所在路径交给web服务器管理。这个过程就是虚拟路径映射。【多用于实际工作中】

(目的:tomcat服务器的安装路径文件可能没有权限访问修改,所以配置虚拟项目路径指向实际的项目路径(将项目放到该文件夹下))

该映射主要是在不同的xml文件中配置Context的属性。

具体介绍是主页中Documentation下的Tomcat Documentation中的Reference下的Configuration中的Containers下的Context

配置虚拟路径有上面5种方式:(特别注意配置信息的大小写区别)(详解第3种方式;可以不重启部署项目。

(1.在conf/context.xml中被所有web应用加载,需要重启tomcat。

(2.在conf/服务引擎/主机名/context.xml.default中,被某个主机的所有web应用加载。

(3.在conf/服务引擎/主机名/ 任意xml文件中,文件名就是虚拟路径,实际路径在xml中配置。

   并且支持多级虚拟路径如a#b#c.xml(用“#”隔开),配置路径后,无需重启tomcat。

   特定xml命名成:Root.xml,即可以在Root.xml中设置访问缺省时项目的实际路径。生效需要重启tomcat。

 (3.1:通过xml的文件名设置虚拟访问路径的方式:

   如果conf下没有服务引擎文件夹,自己创建一个以及主机名和xml文件:

实际项目的路径:

a.xml中配置内容为: <Context docBase="e:/mytest"/>   //xml的文件名a即是虚拟地址,实际地址为文件内容中的设置: e:/mytest   注意配置内容区别大小写的。

   通过虚拟路径访问css.html的地址

http://localhost:8080/a/css.html

(3.2虚拟多级文件名访问设置

可以把xml配置的文件名改成:b#c#d.xml  访问的路径是:http://localhost:8080/b/c/d/css.html

(3.3缺省项目名的访问方式设置:(需要tomcat重启生效)

可以把xml配置的文件名设置成(字母必须大小):ROOT.xml    访问的路径为:http://localhost:8080/css.html

(4.还可以在/META-INF/context.xml中配置,(暂时只知道ROOT目录中有)

(5.在conf/server.xml中配置虚拟目录,该配置不会自动加载,生效需要重启tomcat。

  (5.1.配置具体的虚拟路径:通过http://localhost:8080/itcast/,访问news目录中的内容

 (5.2. 配置缺省的虚拟路径,将虚拟路径的名字设置成:没有内容。通过http://localhost:8080/ ,访问news目录中的内容

需要注意4个东西:

(1.虚拟路径。2.实际路径。3.标签必须结束。4.该配置在Host标签内)

通过虚拟路径访问news目录中index.html的网络地址是:http://localhost:8080/itcast/index.html

总结这5种方式(个人理解):

访问一个项目,
首先会在5的server.xml查找实际地址,
没找到分别在:1的context.xml查找,
根据引擎和主机名查找2的context.xml.default
根据引擎和主机名查找3的.xml,
然后到4的appwebs项目路径中WEB-INF中查找配置。
(可以认为存在多个引擎和多个域名访问这个项目) 

补充:Context的属性reloadable

表示如果项目有改动将自动加载,下面是mail项目是在server.xml的配置,表示该项目更改进行自动加载,如果配置在conf/Context.xml的Contex中,那么就是所有项目进行自动加载。

一般开发中不使用该属性,因为经常改动导致tomcat一直重新加载项目。

6.开发过程,项目只要放到webapps\下就可以访问了,默认访问的是其下的ROOT里面的项目。

 (tomcat·会自动将该目录的文件做成映射,虚拟路径和实际文件名字弄成一样)

 关于默认会访问root的原因是:

tomcat定义的根目录ROOT就是通过硬编码来实现的,其名字必须为ROOT才行,
(对于tomcat 4.1.30,在Tomcat4_1\src\catalina\src\share\org\apache\catalina\startup\HostConfig.java  430 >> 第430行有这句:if(file.equals("ROOT"){})
但其context的属性docBase,path可以设置(见5.2),

 

7.tomcat的项目文件存放的格式有明确的规定:

设置项目的首页,需要修改WEB-INF下的web.xml文件:(xml头信息可以从conf下的web.xml中获取)

如上将1.html配置成项目的首页,即访问该项目不指定具体页面就显示该页面。

 

补充:web.xml的作用:

配置默认首页
servlet和网页的映射
资源文件的映射

8.要实现直接访问域名就能访问某个页面需要配置3个地方:

1.端口改成80(server.xml),
2.虚拟路径改成缺省的(server.xml),
3.设置默认首页(web.xml)。

 

posted @ 2017-01-23 01:15  假程序猿  阅读(1692)  评论(0编辑  收藏  举报