JavaWeb应用发布及相关配置

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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应用发布及相关配置的主要内容,如果未能解决你的问题,请参考以下文章

Express实战 - 应用案例- realworld-API - 路由设计 - mongoose - 数据验证 - 密码加密 - 登录接口 - 身份认证 - token - 增删改查API(代码片段

centos7服务器搭建javaweb运行环境及代码部署

从零开始配置vim(27)——代码片段

从零开始配置vim(27)——代码片段

从零开始配置vim(27)——代码片段

JavaWeb-smbms相关总结