首页 > 代码库 > JavaWeb应用发布及相关配置

JavaWeb应用发布及相关配置

一、组成结构

 

技术分享

 

二、在Tomcat中发布Web应用

1.默认方式发布:将Web应用所有文件复制到Tomcat的<CATALINA_HOME>/webapps目录下,启动Tomcat服务器。

  • 开放式目录结构应用:将整个Web应用目录复制到<CATALINA_HOME>/webapps目录下。
  • Web应用打包文件:将Web应用打包为.war文件  jar cvf c:\chapter03\helloapp.war *.*  再将.war文件复制到<CATALINA_HOME>/webapps目录下。

2.Web组件URL

  • HTML或JSP文件URL:eg.   http://localhost:8080/helloapp/login.htm      http://localhost:8080/helloapp/hello.jsp      
  • Servlet的URL:由web.xml文件的<url-pattern>指定。
     <servlet>    <servlet-name>dispatcher</servlet-name>    <servlet-class>mypack.DispatcherServlet</servlet-class>  </servlet>  <servlet-mapping>    <servlet-name>dispatcher</servlet-name>    <url-pattern>/dispatcher</url-pattern>  </servlet-mapping>

     

    •    Tomcat查找Servlet类文件的步骤:
    1. 找到web.xml的<url-pattern>的值为/dispatcher的<servlet-mapping>元素
    2. 读取<servlet-mapping>元素的<servlet-name>子元素的值为dispatcher
    3. 找到<servlet-name>子元素值为dispatcher的<servlet>元素
    4. 读取<servlet>元素的<servlet-class>子元素的值为mypack.DispatcherServlet,即Servlet类名为mypack.DispatcherServlet
    5. 到<CATALINA_HOME>/webapps/helloapp/WEB_INF/classes/mypack目录查找DispatcherServlet.class文件

      如图:

技术分享

 

3.配置Tomcat的<Context>元素发布Web应用

<Context>元素代表了运行在虚拟主机<Host>上的单个Web应用

  Tomcat 6.x配置<Context>几种途径:

  • 到<CATALINA_HOME>/conf/context.xml文件中配置<Context>元素,该<Context>元素信息适用于所有Web应用
  • 到<CATALINA_HOME>/conf/[enginename]/[hostname]/context.xml.default文件中配置<Context>元素,该<Context>元素信息适用于当前虚拟主机的所有Web应用         

    eg: <CATALINA_HOME>/conf/catalina/localhost/context.xml.default 

  • 到<CATALINA_HOME>/conf/[enginename]/[hostname]/[contextpath].xml文件中配置<Context>元素,[contextpath]表示单个Web应用的URL入口该<Context>元素只适用于单个Web应用

    eg:   <CATALINA_HOME>/conf/catalina/localhost/helloapp.xml

<Context path="/helloapp" docBase="C:\chapter03\helloapp" reloadable="true"/>

  path:Web应用URL入口

  docBase:helloapp应用文件路径C:\chapter03\helloapp

  • 到Web应用的META-INF/context.xml文件中配置<Context>元素,该<Context>元素只适用于当前Web应用
<Context path="/helloapp" docBase="helloapp" reloadable="true"/>

  path:Web应用URL入口
  docBase:helloapp应用文件路径<CATALINA_HOME>/webapps/helloapp

  • 到<CATALINA_HOME>/conf/server.xml文件中的<Host>元素中配置<Context>元素,该<Context>元素只适用于单个Web应用
<Host name="localhost"  appBase="webapps"            unpackWARs="true" autoDeploy="true">        <!-- SingleSignOn valve, share authentication between web applications             Documentation at: /docs/config/valve.html -->        <!--        <Valve className="org.apache.catalina.authenticator.SingleSignOn" />        -->        <!-- Access log processes all example.             Documentation at: /docs/config/valve.html             Note: The pattern used is equivalent to using pattern="common" -->        <Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"               prefix="localhost_access_log" suffix=".txt"               pattern="%h %l %u %t &quot;%r&quot; %s %b" />
     <Context path="/helloapp" docBase="helloapp" reloadable="true"/></Host>

 4.配置Tomcat虚拟主机

步骤:

  • 在<CATALINA_HOME>/conf/server.xml文件中的<Host>元素后面添加以下<Host>元素
<Host name="www.mycompany1.com" appBase="C:\mycompany1" unpackWARs="true" autoDeploy="true">    <Alias>mycompany1.com</Alias>    <Alias>mycompany1</Alias></Host>
  • 把helloapp应用复制到appBase指定的C:\mycompany1目录下
  • 在DNS服务器重注册虚拟主机名和别名,使他们的IP地址都指向Tomcat服务器所在主机,也可以通过修改C:\Windows\System32\drivers\etc文件夹下的hosts文件
# localhost name resolution is handled within DNS itself.#    127.0.0.1       localhost#    ::1             localhost     127.0.0.1       www.mycompany1.com
  • 重启Tomcat服务器,然后通过浏览器访问  http://www.mycompany1.com:8080/helloapp/login.htm

 

JavaWeb应用发布及相关配置