JavaWeb技术学习笔记(2)-关于tomcat的几个问题

来源:互联网 发布:客厅改装 知乎 编辑:程序博客网 时间:2024/04/30 08:46

目录:
一: 关于Tomcat主要目录结构:
二: 修改Tomcat端口号:
三: 配置虚拟目录:
四:关于Jsp 在服务器上的运行
五: 介绍一下在Tomcat中server.xml里的几个主要元素.

 
一: 关于Tomcat主要目录结构:
    bin    存放启动和关闭Tomcat脚本
    conf   包含不同的配置文件
    work   存放jsp编译后产生的class文件
    webapp  存放应用程序示例,以后你要部署的应用程序也要放到此目录
    logs    存放日志文件
    lib     这三个文件主要存放tomcat所需要的jar文件
    doc     包含各种tomcat文档

二: 修改端口号:
   修改%TOMCAT_HOME%/conf/server.xml
   找到 port=8080 将其修改为“80”即可,其它不变。
   注意:要防止其它应用程序占用80端口,我在改时,既然忘把迅雷给关了,晕死了,以至于查了半天 就是找不到谁占用了,还以为是JVM自动占用呢?查看端口号的方法:
“运行”命令—>”cmd”–>netstat -an

   修改为80端口后,就可以直接写http://localhost 回车ok

三:配置虚拟目录:
   以前在用Eclipse开发动态WEB时,当添完项目名称后,会自动生成一个WebContent 的文件夹,在这里面包含WEB-INF 和web.xml文件。编完之后还要把全部文件拷贝到tomcat的webapps里面,真麻烦。如果当把整个项目拷进去,tomcat就会出现http-404错误,找不到正确路径。当时,还真郁闷了一段时间,笨啊,如果早把tomcat弄懂不就没事了。
    假如虚拟目录为:(WebRoot文件夹放在d:根目录)
   WebRoot
      |- WEB-INF  文件夹
         |- web.xml 文件
      |- helloworld.jsp 文件
 (具体代码不再说明)
 
 打开 %TOMCAT_HOME%/conf/server.xml 文件,在最后找到</HOST> 在它的上面一行写入以下代码:
 <Context    配置的虚拟目录 (注意大小写)
      path=”/hello”    /必须有,表示此虚拟目录的名称。
      docBase=”d:/WebRoot” 虚拟目录在硬盘上的绝对路径
      reloadbale=”true”/> 设为true, Tomcat服务器在运行状态下会监视在WEB-INF/classes和Web-INF/lib目录CLASS文件的改运.如果监视到有class文件被更新,服务器自重新加载Web应用 
             
四:关于Jsp 在服务器上的运行
  我们编译完程序后,在Tomcat上运行,会发现第一次会很慢,之后第二次,第三次会很快。这就要看一下jsp在服务器上的运行过程了。
  第一次:
   Client 发出请求,服务器Get *.jsp文件,然后将其转化成*.java 文件,然后对它进行编译为     *.class 文件, 最后运行并显示给Client
  第二次:
   服务器会直接调用*.class文件,并显示给Client。
(Tomcat 编译后生成的.java和.class临时文件可以在work/Catalina/localhost中找到。)

五:介绍一下在Tomcat中server.xml里的几个主要元素.
  <HOST>元素
  每个<Host>的元素定义了一个虚拟主机.它包含了一个或多个Web应用.
   <Host name=”localhost” appBase=”webapps”
       unpackWARs=”true” autoDeploy=”true”>

  appBase  指定虚拟主机的目录,可以指定绝对目录,也可以指定相对于<CATALINA_HOME>的相对目录.如果没有此项,默认为<CATALINA_HOME>/webapps
  autoDeploy   如果此项设为true,表示Tomcat服务处于运行状态时,能够监测appBase下的文件,如果有新有web应用加入进来,会自运发布这个WEB应用
  unpackWARs如果此项设置为true,表示把WEB应用的WAR文件先展开为开放目录结构后再运行.如果设为false将直接运行为WAR文件
 
   <Context>元素  (上面已经说过)

   <Connector>元素
   代表与客户程序实际交互的给件,它负责接收客户请求,以及向客户返回响应结果.在这里更改端口号.

原创粉丝点击