• 使用ant部署web项目


    使用ant脚本可以实现web项目的部署,从而减少不必要的重复性工作.

    步骤1. 新建一个web项目(目录结构如下图),first包下创建一个java类

    package first;
    import javax.servlet.*;
    import javax.servlet.http.*;
    import java.io.*;
    public class HelloAnt extends HttpServlet
    {
        public void service(HttpServletRequest request,HttpServletResponse response) throws ServletException,IOException
        {
            response.setContentType("text/html");
            PrintWriter out = response.getWriter();
            out.println("<span style='color:red;'>"+"Hello servlet!"+"</span>");
            out.close();
        }
    }

    步骤2. 编辑web.xml

    <?xml version="1.0" encoding="ISO-8859-1"?>
    <web-app xmlns="http://java.sun.com/xml/ns/javaee"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
       version="2.5"> 
       <servlet>
          <servlet-name>helloServlet</servlet-name>
          <servlet-class>first.HelloAnt</servlet-class>
        </servlet>
        <servlet-mapping>
            <servlet-name>helloServlet</servlet-name>
            <url-pattern>/sayHello</url-pattern>
        </servlet-mapping>
    </web-app>

    步骤3. 项目根目录下,创建build.xml如下

    <?xml version="1.0" encoding="UTF-8"?>
    
    <project name="anttest" default="compile" basedir=".">
        <property name="webapp.name" value="antBuidWeb"></property>
        <property name="catalina.home" value="D:/apache-tomcat-6.0.33"/>     
        <property name="src.dir"    value="${basedir}/src"/>   
        <property name="lib.dir"    value="${basedir}/WebRoot/WEB-INF/lib"/>  
        <property name="class.dir"    value="${basedir}/WebRoot/WEB-INF/classes"/>   
        <property name="webapps.dir" value="${catalina.home}/webapps"/>
        <property name="war.dir"    value="${basedir}/war"/> 
    
         <!-- **********************************set classpath********************************** -->   
             <path id="compile.classpath">   
                 <fileset dir="${catalina.home}/lib">   
                   <include name="*.jar"/>   
                 </fileset>   
                 <fileset dir="${lib.dir}">   
                   <include name="*.jar"/>   
                 </fileset>   
             </path> 
        
          <!-- **********************************init********************************** -->   
             <target name="init">   
                 <mkdir dir="${war.dir}"/>   
             </target>
        
        <!-- **********************************clean class********************************** -->   
             <target name="clean" description="Delete old build and dist directories" depends="init">   
                 <delete dir="${class.dir}" includes="**/*.class"/>    
             </target>   
    
         <!-- **********************************compile java********************************** -->   
             <target name="compile" description="Compile Java sources" depends="clean">   
                 <mkdir dir="${class.dir}"/>   
                 <javac srcdir="${src.dir}" 
                       destdir="${class.dir}">   
                     <classpath refid="compile.classpath"/>   
                 </javac>   
                <!--This copy opera is not required
                 <copy todir="${class.dir}">   
                   <fileset dir="${src.dir}" excludes="**/*.java"/>   
                 </copy> 
                 --> 
                 
             </target>   
        
     <!-- **********************************deploy  webapp********************************** -->   
         <target name="deploy" description="Install application to servlet container" depends="compile">   
            <delete dir="${webapps.dir}/${webapp.name}"/>   
         
            <war destfile="${war.dir}/${webapp.name}.war"  webxml="${basedir}/WebRoot/WEB-INF/web.xml">    
                <fileset dir="webRoot" ></fileset>
                 <lib dir="${lib.dir}"/>    
                 <classes dir="${class.dir}"/>            
             </war>  
             
             <copy file="${war.dir}/${webapp.name}.war" todir="${webapps.dir}">
             
             </copy>
             
         </target>     
        
        <!-- **********************************start web server********************************** -->   
             <target name="startserver" description="Start web server" >   
                 <exec dir="${catalina.home}/bin" executable="cmd.exe">   
                     <env key="CATALINA_HOME" path="${catalina.home}"/>   
                     <arg value="/c startup.bat"/>   
                 </exec>   
             </target>   
        
         <!-- **********************************stop web server********************************** -->   
                
             <target name="stopserver" description="Stop web server" >   
                 <exec dir="${catalina.home}/bin" executable="cmd.exe">   
                     <env key="CATALINA_HOME" path="${catalina.home}"/>   
                     <arg value="/c shutdown.bat"/>   
                 </exec>   
             </target>   
        
          <!-- **********************************start work********************************** -->   
             <target name="start" description="Clean build and dist directories, then compile">   
                 <ant target="deploy"/>   
                 <ant target="startserver"/>   
             </target>   
        
          <!-- **********************************reload web server********************************** -->   
             <target name="reload" description="reload web server">   
                 <ant target="stopserver"></ant>   
                 <sleep seconds="2"></sleep>   
                 <ant target="start"></ant>   
             </target>   
                
    
    </project>

    至此,build.xml已经完成了,可以 执行你需要的任务了. 项目目录结构图如下:

    antweb

  • 相关阅读:
    firebird database (快速入門)
    firebird的数据类型(datatype)
    通过ASP.NET获取URL地址方法
    FIREBIRD使用经验总结
    C# Append a host header to a website in IIS by code
    Ubuntu 9.04 下载镜像地址
    Firebird如何防止空值扩散
    Tmail: 开源邮件服务器软件包
    Firebird中的NULL
    本地数据源:使用firebird数据库
  • 原文地址:https://www.cnblogs.com/david-rui/p/3428450.html
Copyright © 2020-2023  润新知