初学JavaWeb需要知道的目录结构与配置

来源:互联网 发布:人工智能假肢多少钱 编辑:程序博客网 时间:2024/06/07 20:19

初学JavaWeb需要知道的目录结构与配置

JavaWeb目录结构

  • Java Resource

    • src:存放Java源代码的目录。
    • Libraries:存放的是Tomcat及JRE中的jar包。
  • build:自动编译.java文件的目录

  • WebContent(WebRoot):存放的是需要部署到服务器的文件

    • MEAT-INF:是存放工程自身相关的一些信息,元文件信息,通常由开发工具和环境自动生成。

      • MANIFEST.MF:配置清单文件
    • WEB-INF:这个目录下的文件,是不能被客户端直接访问的。

      • classes:存放Java字节码文件的目录。
      • lib:用于存放该工程用到的库。
      • web.xml:web工程的配置文件,完成用户请求的逻辑名称到真正的servlet类的映射。
    • 凡是客户端能访问的资源(*html或*.jpg)必须跟WEB-INF在同一目录,即放在Web根目录下的资源,从客户端是可以通过URL地址直接访问的。

Tomcat的目录结构

  • bin:存放的是可执行文件
  • conf:存放的是Tomcat服务器的各种全局配置文件,其中包括server.xml(Tomcat的主要配置文件)、tomcat-users.xml和web.xml等配置文件。
  • lib:存放tomcat服务器所需的各种jar文件。
  • logs:存放Tomcat的日志文件目录,记录了Tomcat启动和关闭的信息,以及异常信息等。
  • temp:存放Tomcat的临时文件,这个目录下的东西可以停止后删除。
  • webapps:存放web项目的目录,其中每个文件夹都是一个项目。
  • work:运行时生成的文件,最终运行的文件都在这里。通过webapps中的项目生成的。删除后再次运行会重新生成。
  • LICENSE:许可证。
  • NOTICE:说明文件。

Tomcat中conf目录下的server.xml文件解释

  • Server元素:代表了Catalina Servlet容器,它是Tomcat实例的顶层元素,可包含一个或多个元素。

    <Server port="8005" shutdown="SHUTDOWN">
    • port:指定Tomcat服务器监听shutdown命令的端口,终止Tomcat服务运行时,必须在Tomcat服务所在的机器上发出Shutdown命令,该属性是必须设定的。

    • shutdown:指定Tomcat服务器运行时,发给Tomcat服务器的shutdown监听端口的字符串。该属性是必须设置的。

  • Service元素:包含一个元素,以及一个或多个元素,这些元素共享同一个元素。

    <Service name="Catalina">
    • name:定义Service的名称
  • Contentor元素:代表与客户程序实际交互的组件,它负责接收客户的请求,以及向客户返回响应结果。

    <Connector     port="8080"     protocol="HTTP/1.1"     connectionTimeout="20000"     redirectPort="8443" />
    • port:端口号
    • protocol:协议
    • connectionTimeout:超时时间,如果设置为-1,表示不限制连接时间
    • redirectPort:指定转发端口(如果当前端口只支持non-SSL请求,在需要安全通信的场合,把客户端请求转发到基于SSL的redirectPort的端口)

    其他属性:

    • enableLookups:如果设置为true,表示支持域名解析,默认为true。
    • className:指定实现org.apache.catalina.Connector接口的类
  • Engine元素:每个元素只能包含一个元素,元素处理在同一个中所有元素接收到的客户端请求。

    <Engine name="Catalina" defaultHost="localhost">
    • name:Engine的名字
    • defaultHost:默认主机名

    在元素下还有这些子标签:

  • Host元素:一个元素可以包含多个元素,每个元素定义了一个虚拟主机,它可以包含一个或多个Web应用。

     <Host     name="localhost"     appBase="webapps"    unpackWARs="true"     autoDeploy="true">
    • name:虚拟主机名称

    • appBase:指定虚拟主机的目录,可以指定绝对目录,也可以指定相对于的相对目录,如果此项没有设定,默认值为/webapps。

    • unpackWARs:如果此项设为true,表示将把Web应用的WAR文件先展开为开放目录结构后再运行。如果设为false。将直接运行WAR文件。
    • autoDeploy:如果此项设为true,表示当Tomcat服务器处于运行状态时,能够监测appBase下文件,如果有新的Web应用加入进来。会自动发布这个Web应用。
    • alias:指定虚拟主机别名,可以指定多个别名。

    其他属性:

    • deployOnStartUp:如果此项设置true,表示Tomcat服务器启动时会自动发appBase目录下所有的Web应用,默认为true。

    • 在Host元素中可以包含如下子元素:

  • Context元素:每个元素代表了运行在虚拟主机上的单个Web应用。一个元素中可以包含多个元素。

    <Context         path="/sample"         docBase="sample"         debug="0"         reloadable="true">
    • path:指定访问该Web应用的URL入口

    • docBase:指定Web应用的文件路径,可以是绝对路径,也可以给定相对于的appBase属性的相对路径。

    • reloadable:如果设置为true,Tomcat服务器在运行状态下会监视在WEB-INF/class和WEB-INF/lib目录下CLASS文件的改动。如果检测到class文件被更新,服务器会自动加载Web应用。
    • cookie:指定是否通过Cookie来支持Session,默认为true。
    • useNaming:指定是否支持JNDI,默认true

Tomcat部署Web应用

  • 将JavaWeb项目中的WebContent(WebRoot)下的文件拷贝至Tomcat/webapps目录下对应的Javaweb项目(如果没有,就新建一个文件夹,命名项目名)中

  • 将JavaWeb项目中的WebContent(WebRoot)打成war包,放入Tomcat/webapps目录下

    打成war包的方法:    1.命令行:        在web项目的WebContent目录下输入jar cvf 项目名.war *.* .命令。    2.eclipse:        右击项目,选择Export,选择Web,选择WAR file
  • 通过IDE工具绑定Tomcat来进行部署。示例


配置虚拟目录

在Tomcat中的server.xml中的Host的子标签下的Context标签中,更改docBase属性,指定项目路径。

原:tomcat的webapps中     <Context         docBase="D:\dsoftinstall\Tomcat\apache-tomcat-9.0.0.M15\webapps\TomcatDemo"         path="/TomcatDemo"         reloadable="true"        source="org.eclipse.jst.jee.server:TomcatDemo"/>改:将项目放入F盘     <Context         docBase="F:\TomcatDemo"         path="/TomcatDemo"         reloadable="true"        source="org.eclipse.jst.jee.server:TomcatDemo"/>

docBase可以是绝对路径,也可以是相对路径,如果是相对路径,那么是相对标签中的appBase中的目录。

虚拟目录可以指定多个,也就是指定多个标签。


配置默认端口、默认应用和默认主页

  • 配置默认端口

    Tomcat默认端口是8080,当然,我们可以自己修改端口号,修改完之后,需要重启Tomcat。如:

原:    <Connector         connectionTimeout="20000"         port="8080"         protocol="HTTP/1.1"         redirectPort="8443"/>改:     <Connector         connectionTimeout="20000"         port="80"         protocol="HTTP/1.1"         redirectPort="8443"/>
  • 配置默认应用

在Tomcat中修改server.xml文件中的标签中的path,将path的值设置”“,就不需要写项目名称了。如:

原: <Context     docBase="D:\dsoftinstall\Tomcat\apache-tomcat-9.0.0.M15\wtpwebapps\TomcatDemo"     path="\TomcatDemo"     reloadable="true"    source="org.eclipse.jst.jee.server:TomcatDemo"/>改: <Context     docBase="D:\dsoftinstall\Tomcat\apache-tomcat-9.0.0.M15\wtpwebapps\TomcatDemo"     path=""     reloadable="true"    source="org.eclipse.jst.jee.server:TomcatDemo"/>

这样原本需要输入localhost:8080/TomcatDemo/1.html,现在只需要localhost:8080/1.html就可以。

  • 配置默认主页

在Tomcat中修改项目中的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>default.html</welcome-file>    <welcome-file>default.htm</welcome-file>    <welcome-file>default.jsp</welcome-file></welcome-file-list>改:(将welcome-list标签的文件文称改成你的默认主页)<welcome-file-list>    <welcome-file>1.html</welcome-file>    <welcome-file>index.htm</welcome-file>    <welcome-file>index.jsp</welcome-file>    <welcome-file>default.html</welcome-file>    <welcome-file>default.htm</welcome-file>    <welcome-file>default.jsp</welcome-file></welcome-file-list>

之前访问1.html,需要localhost:8080/TomcatDemo/1.html,现在只需要localhost:8080/TomcatDemo,就可以。

一般默认应用与默认主页同时使用,如果默认应用和默认主页都设置了,我们之前访问的localhost:8080/TomcatDemo/1.html网址就可以简写localhost:8080。

0 0
原创粉丝点击