Jsp&Servelet 学习笔记- 在tomcat上部署一个单独的servlet的程序(Ant)

来源:互联网 发布:腾讯视频区淘宝广告 编辑:程序博客网 时间:2024/06/06 14:13
 
2.1 在tomcat上部署一个单独的servlet的程序

如果想在把一个servlet程序部署在tomcat之上测试它能否运行,做一个初步的测试。而不想花时间为这个servlet来构建一个完整的web应用。通过执行Tomcat Shell 命令来关闭它<tomcat-installation-directory>/bin/shutdown

复制这个servlet文件到tomcat的缺省web应用中,或者用Ant工具的build.xml文件来移动这个文件临时地进入到Tomcat的缺省web应用中。

有时候当我们设计出一个servlet时,会渴望看看它是否能正常运行。你能够测试它通过复制它到Tomcat的缺省web应用下,除非这个servlet还得运行还需依靠其他的servlet或其他的类组件。这个取胜的应用位于<Tomcat-installation-directory>/webapps/ROOT.

如果有一个完全合法的Servlet类叫做mydev.CookieServlet,那么下面将有一个完整的步骤手动将这个单独的Servlet部署到Tomcat中。

  • 创建一个mydev目录把它放到 <Tomcat-installation-directory>/webapps/ROOT/WEB-INF/classes目录下
  •    复制CookieServlet class文件到<Tomcat-installation-directory>/webapps/ROOT/WEB-INF/classes/ jspservletcookbook目录下
  •   启动Tomcat
  •     输入http://localhost:8080/servlet/jspservletcookbook.CookieServlet.

这个手动方法比较麻烦并且很慢有没有比这个更好的部署方法呢?答案是肯定的;

我们将用Jakarta Ant来代替手动部署的流程。假定我们已经安装配置好了Ant开源工具

创建一个方便的目录在下面放入build文件并创建一个global.properties文件

widows命令行中转到这个目录下 敲入ant命令。

 

 

<project name="Cookbook" default="deploy-servlet" basedir=".">

   
<taskdef name="start" classname="org.apache.catalina.ant.StartTask" />
   
<taskdef name="stop" classname="org.apache.catalina.ant.StopTask" />

<!-- Load in some global properties -->

   
<property file="global.properties" />
   
<target name="init" description="Initializes some properties.">

       
<echo message="Initializing properties."/>
       
<property name="build" value=".uild" />
       
<property name="src" value=".src" />

        
<!-- The context-path is just a slash character when it is the ROOT application;
        see the start and stop targets, which already include the slash as part of
        the URL pattern 
-->

       
<property name="context-path" value="" />
   
</target>
  
   
<target name="prepare" depends="init">
       
<echo message="Cleaning up the build directory."/>
       
<delete dir="${build}"/>
       
<mkdir dir="${build}"/>
   
</target>
  
<!-- Set the CLASSPATH to various Tomcat .jar files -->

   
<path id="classpath">
       
<fileset dir="${tomcat.dir}/common/lib">
           
<include name="*.jar" />
       
</fileset>
       
<fileset dir="${tomcat.dir}/common/endorsed">
            
<include name="*.jar" />
       
</fileset>
   
</path>
  
<!-- start the default Tomcat web application -->

   
<target name="start" 
     description
="Starts the default Web application">
       
<echo message="Starting the default application...."/>
       
<start
          
url="${url}" 
          username
="${username}" 
          password
="${password}" 
          path
="/${context-path}" 
        
/>
   
</target>

<!-- stop the default Tomcat web application -->

   
<target name="stop" 
     description
="Stops the default Web application">
       
<echo message="Stopping the application...."/>
       
<stop
          
url="${url}" 
          username
="${username}" 
          password
="${password}" 
          path
="/${context-path}" 
       
/>
   
</target>

<!-- stop the default Tomcat web application, compile your servlet, add it to the default 
Web application, then start the default web application 
-->

   
<target name="deploy-servlet" depends="prepare" 
      description
=
      "Compile the specified servlet, then move it into Tomcat's default
       Web application."
>

       
<echo message="Stopping the default Tomcat application...."/>
       
<antcall target="stop"/>
       
<echo message="Compiling the servlet...."/>
       
<javac srcdir="${src}" destdir="${build}">
           
<include name="${compiled.servlet}.java" />  
           
<classpath refid="classpath"/>
       
</javac>
       
<echo message=
          "Copying the servlet to Tomcat ROOT web application..."
/>

       
<copy todir="${tomcat.webapps}/WEB-INF/classes">
           
<fileset dir="${build}" />
       
</copy>
       
<echo message="Starting the default application...."/>
       
<antcall target="start"/>
   
</target>

</project>

 

tomcat.webapps=k:/jakarta-tomcat-4.1.12/webapps/ROOT

tomcat.dir=k:/jakarta-tomcat-4.1.12

url=http://localhost:8080/manager

compiled.servlet=CookieServlet

username=tomcat

password=tomcat

 

用一个属性文件global.properties来加载这些在这个property文件中定义好的属性。如:

${tomcat.dir}

 

 

 
  global.properties 文件
原创粉丝点击