UML软件工程组织

Spring framework 10分钟入门
作者:Yanger
开发环境: 

Java SDK (I am currently using version 1.4.1) 

Ant (using version 1.5.3)

Apache Tomcat (using version 4.1.24)

您可以用功能相同的任何容器或者java运行环境 

第1步:开发路径 

为了保留我们的开发中每一步的流程,我们将保存所有的源码和文件。 
首先,我们创建一个springapp的目录(你可以将这个目录建在任何地方),然后,在springapp目录下创建子目录src,用来保存java资源文件。然后我们建立另一个子目录war,这个目录将保存生成的war文件。 
建立WEB-INF子目录,和它的classes,lib子目录。 
OK,你的目录应该这个样子: 
代码: 

-spirngapp 
  -WEB-INF 
      -classes 
      -lib 
  -src 
  -war 


第2步:创建jsp 
我们创建一个jsp文件-index.jsp在springapp目录下,这将是我们应用程序的入口. 

代码: 
springapp/index.jsp 

Example - Spring Application

This is my test.

现在,我们来完成这个web应用,在WEB-INF下建立web.xml文件 
代码: 

springapp/WEB-INF/web.xml 
<?xml version="1.0" encoding="utf-8"?> 

      index.jsp 


第3步:部署这个应用到Tomcat 
现在我们来写Ant脚本文件,用于建立,部署,控制这个应用. 
代码: 

springapp/build.xml 
<?xml version="1.0" encoding="gb2312"?> 
      
        <ECHO MESSAGE="" /> 
        <echo message="Available targets are:"></echo message="Available targets are:"> 
        <ECHO MESSAGE="" /> 
        <ECHO MESSAGE="BUILD       --> 
        <ECHO MESSAGE="RELOAD   --> 
        <ECHO MESSAGE="" /> 
    </TARGET> 

    <TARGET NAME="BUILD" DESCRIPTION="COMPILE MAIN SOURCE TREE JAVA FILES"> 
        <MKDIR DIR="${BUILD.DIR}" /> 
        <JAVAC DESTDIR="${BUILD.DIR}" TARGET="1.3" DEBUG="TRUE" 
               deprecation="false" optimize="false" failonerror="true"> 
            <SRC PATH="${SRC.DIR}" /> 
            <CLASSPATH REFID="MASTER-CLASSPATH" /> 
        </JAVAC> 
    </TARGET> 

    <TARGET NAME="DEPLOY" DEPENDS="BUILD" DESCRIPTION="DEPLOY APPLICATION"> 
        <COPY TODIR="${TOMCAT.HOME} ${name}? preservelastmodified="true" webapps> 
            <FILESET DIR="${WEB.DIR}"> 
                         <CLASSPATH> 
            <PATH LOCATION="${TOMCAT.HOME} catalina-ant.jar? lib server />                 username="${tomcat.manager.username}" 
                 password="${tomcat.manager.password}" 
                 path="/${name}" 
                 war="${name}"/> 
    </TARGET> 

    <TARGET NAME="RELOAD" DESCRIPTION="RELOAD APPLICATION IN TOMCAT"> 
        <RELOAD URL="${TOMCAT.MANAGER.URL}" 
                 username="${tomcat.manager.username}" 
                 password="${tomcat.manager.password}" 
                 path="/${name}"/> 
    </TARGET> 
<TARGET NAME="START" DESCRIPTION="START TOMCAT APPLICATION"> 
        <START URL="${TOMCAT.MANAGER.URL}" 
                 username="${tomcat.manager.username}" 
                 password="${tomcat.manager.password}" 
                 path="/${name}"/> 
    </TARGET> 

    <TARGET NAME="STOP" DESCRIPTION="STOP TOMCAT APPLICATION"> 
        <STOP URL="${TOMCAT.MANAGER.URL}" 
                 username="${tomcat.manager.username}" 
                 password="${tomcat.manager.password}" 
                 path="/${name}"/> 
    </TARGET> 

    <TARGET NAME="LIST" DESCRIPTION="LIST TOMCAT APPLICATIONS"> 
        <LIST URL="${TOMCAT.MANAGER.URL}" 
                 username="${tomcat.manager.username}" 
                 password="${tomcat.manager.password}"/> 
    </TARGET> 

</PROJECT> 

这个Ant脚本包含了建立应用主要的工具命令,但是,这个脚本要配合build.properties使用. 
代码: 

springapp/build.properties 
# Ant properties for building the springapp 

deploy.path=/home/trisberg/jakarta-tomcat-4.1.24/webapps 
#deploy.path=c:/Tomcat 4.1/webapps 
#deploy.path=c:/bea/user_projects/domains/mydomain/applications 

tomcat.home=/home/trisberg/jakarta-tomcat-4.1.24 
#tomcat.home= c:/Tomcat 4.1 
tomcat.manager.url=http://localhost:8080/manager 
tomcat.manager.username=admin 
tomcat.manager.password=tomcat 

deploy.path 是tomcat的应用目录 
tomcat.path 是tomcat的主目录 
tomcat.manager.url是管理访问路径,注意你的端口是否正确 
tomcat.manager.username,tomcat.manager.password 我就不用说了吧 

如果你执行install命令,将在tomcat webapps目录下建立springapp目录。 
如果你用其他的web应用服务器,那么你可以删除tomcat指定的命令集,你可以用server提供的热部署进行启动和停止你的应用. 

现在我们来看一下ant提供的每个命令,在你的springapp目录下执行ant 

代码: 
C:\projects\springapp>ant 
Buildfile: build.xml 

usage: 

     [echo] springapp build file 
     [echo] ----------------------------------- 

     [echo] Available targets are: 

     [echo] build                 --> 建立应用 
     [echo] deploy               --> 部署应用 
     [echo] deploywar         --> 部署war文件 
     [echo] install                --> 安装应用 
     [echo] reload                --> 重载应用 
     [echo] start                   --> 启动 springapp 
     [echo] stop                   --> 停止 springapp 
     [echo] list                     --> 列表 Tomcat applications 

BUILD SUCCESSFUL 
Total time: 5 seconds 

现在,我们来部署应用,执行ant deploy 

代码: 
Ant deploy 
e:\projects\springapp>ant deploy 
Buildfile: build.xml 
  
deploy: 
     [copy] Copying 1 file to C:\Tomcat 4.1\webapps\springapp 
  
BUILD SUCCESSFUL 
Total time: 1 seconds 

第4步:测试应用 
先看一下我们是否把应用部署成功 

代码: 
Ant list 
E:\projects\springapp>ant list 
Buildfile: build.xml 

list: 
     [list] OK - Listed applications for virtual host localhost 

     [list] /admin:running:0:../server/webapps/admin 

     [list] /webdav:running:0:C:\Tomcat 4.1\webapps\webdav 

     [list] /springapp:running:1:C:\Tomcat 4.1\webapps\springapp 

     [list] /examples:running:0:examples 

     [list] /ofproject:running:0:C:\Tomcat 4.1\webapps\ofproject 

     [list] /tomcat-docs:running:0:C:\Tomcat 4.1\webapps\tomcat-docs 

     [list] /:running:0:C:\Tomcat 4.1\webapps\ROOT 

     [list] /manager:running:0:../server/webapps/manager 

BUILD SUCCESSFUL 
Total time: 5 seconds 

如果你还没有安装,请执行ant install 

代码: 
Ant install 
E:\projects\springapp>ant install 
Buildfile: build.xml 
  
install: 
  [install] OK - Installed application at context path /springapp 
  
BUILD SUCCESSFUL 
Total time: 2 seconds 

现在,让我们打开浏览器看一下结果http://localhost:8080/springapp/index.jsp 

第5步:下载spring framework package 
如果你还没有下在spring,请到www.springframework.org/download.html. 寻找最新版本. 

下面我们将完成利用spring framework 进行开发MVC 应用程序. 

第6步:修改web.xml 

进入WEB-INF目录编辑web.xml 

代码: 
WEB-INF/web.xml 
<?xml version="1.0" encoding="UTF-8"?> 

<WEB-APP> 

 <SERVLET> 
    <SERVLET-NAME>springapp</SERVLET-NAME> 
    <SERVLET-CLASS> 
       org.springframework.web.servlet.DispatcherServlet 
    </SERVLET-CLASS> 
    <LOAD-ON-STARTUP>1</LOAD-ON-STARTUP> 
  </SERVLET> 

  <SERVLET-MAPPING> 
    <SERVLET-NAME>springapp</SERVLET-NAME> 
    <URL-PATTERN>*.htm</URL-PATTERN> 
  </SERVLET-MAPPING> 

  <WELCOME-FILE-LIST> 
    <WELCOME-FILE> 
      index.jsp 
    </WELCOME-FILE> 
  </WELCOME-FILE-LIST> 

</WEB-APP> 

在WEB-INF目录下创建一个springapp-servlet.xml文件,它的命名规则是web.xml中的servlet-name 加上'-servlet'后缀,这是在springframework中的标准命名法则. 
现在,我们声明一个bean :springappController 他对应的类是SpringappController.class 
这个定义用于我们控制业务逻辑。我们还需要定义一个url mapping作为http调用的路径. 

代码: 
springapp/WEB-INF/springapp-servlet.xml 

<?xml version="1.0" encoding="UTF-8"?> 

<BEANS> 
    <BEAN ID="SPRINGAPPCONTROLLER" CLASS="SPRINGAPPCONTROLLER" /> 

    <BEAN ID="URLMAPPING" CLASS="ORG.SPRINGFRAMEWORK.WEB.SERVLET.HANDLER.SIMPLEURLHANDLERMAPPING"> 
        <PROPERTY NAME="MAPPINGS"> 
            <PROPS> 
                <PROP KEY=" hello.htm?>
        return new ModelAndView("hello.jsp"); 
    } 


现在我们运行build, deploy, stop, start 命令. 
这样我们就成功地建立了一个mvc应用,访问http://loaclhost:8080/springapp/hello.htm 

小结 

以上,我们快速地利用spring framework建立了MVC应用程序, 
1、建立index.jsp,测试管理工具和开发环境 
2、编写springapp-servlet.xml配置文件。 
3、编写控制器代码,SpringappController.java结合springapp-servlet中的定义进行工作. 
4、编写、展示hello.jsp,完成MVC的应用程序. 

版权所有:UML软件工程组织