开发环境:
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的应用程序. |
|