開發(fā)環(huán)境:?
Java?SDK?(I?am?currently?using?version?1.4.1)?
Ant?(using?version?1.5.3)
Apache?Tomcat?(using?version?4.1.24)
您可以用功能相同的任何容器或者java運行環(huán)境?
第1步:開發(fā)路徑?
為了保留我們的開發(fā)中每一步的流程,我們將保存所有的源碼和文件。?
首先,我們創(chuàng)建一個springapp的目錄(你可以將這個目錄建在任何地方),然后,在springapp目錄下創(chuàng)建子目錄src,用來保存java資源文件。然后我們建立另一個子目錄war,這個目錄將保存生成的war文件。?
建立WEB-INF子目錄,和它的classes,lib子目錄。?
OK,你的目錄應(yīng)該這個樣子:?
代碼:?
-spirngapp?
??-WEB-INF?
??????-classes?
??????-lib?
??-src?
??-war?
第2步:創(chuàng)建jsp?
我們創(chuàng)建一個jsp文件-index.jsp在springapp目錄下,這將是我們應(yīng)用程序的入口.?
代碼:?
springapp/index.jsp?
?
Example?::?Spring?Application?
?
Example?-?Spring?Application
?
This?is?my?test.
?
?
??????
現(xiàn)在,我們來完成這個web應(yīng)用,在WEB-INF下建立web.xml文件?
代碼:?
springapp/WEB-INF/web.xml?
?
?
?
???
?????
??????index.jsp?
?????
???
?
第3步:部署這個應(yīng)用到Tomcat?
現(xiàn)在我們來寫Ant腳本文件,用于建立,部署,控制這個應(yīng)用.?
代碼:?
springapp/build.xml?
?
?
?????
?????
?????
?????
?????
?????
?????????
?????????????
?????????
?????????
?????????????
?????????
?????
?????
?????????
?????????
?????????
?????????
?????????
?????????
?????????建立應(yīng)用"/>?
?????????部署應(yīng)用"/>?
?????????部署war文件"/>?
?????????安裝應(yīng)用"/>?
?????????重載應(yīng)用"/>?
?????????啟動Tomcat?application"/>?
?????????停止?Tomcat?application"/>?
??????????列表?Tomcat?applications"/>?
?????????
?????
?
?
?
?????
?????????
???????????????????????deprecation="false"?optimize="false"?failonerror="true">?
?????????????
?????????????
?????????
?????
?????
?????????
?????????????
?????????????????
?????????????
?????????
?????
?????
?????????????????????webxml="${web.dir}/WEB-INF/web.xml">?
?????????????
?????????????????
?????????????
?????????
?????????
?????????????
?????????????????
?????????????
?????????
?????
?
?
?
?????
?????????
?????????????
?????????
?????
?????
?????????
?????????????
?????????
?????
?????
?????????
?????????????
?????????
?????
?????
?????????
?????????????
?????????
?????
?????
?????????
?????????????
?????????
?????
?????
?????????????????????????username="${tomcat.manager.username}"?
?????????????????password="${tomcat.manager.password}"?
?????????????????path="/${name}"?
?????????????????war="${name}"/>?
?????
?????
?????????????????????????username="${tomcat.manager.username}"?
?????????????????password="${tomcat.manager.password}"?
?????????????????path="/${name}"/>?
?????
?
?????????????????????????username="${tomcat.manager.username}"?
?????????????????password="${tomcat.manager.password}"?
?????????????????path="/${name}"/>?
?????
?????
?????????????????????????username="${tomcat.manager.username}"?
?????????????????password="${tomcat.manager.password}"?
?????????????????path="/${name}"/>?
?????
?????
?????????????????????????username="${tomcat.manager.username}"?
?????????????????password="${tomcat.manager.password}"/>?
????
?
?
?
這個Ant腳本包含了建立應(yīng)用主要的工具命令,但是,這個腳本要配合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的應(yīng)用目錄?
tomcat.path?是tomcat的主目錄?
tomcat.manager.url是管理訪問路徑,注意你的端口是否正確?
tomcat.manager.username,tomcat.manager.password?我就不用說了吧?
如果你執(zhí)行install命令,將在tomcat?webapps目錄下建立springapp目錄。?
如果你用其他的web應(yīng)用服務(wù)器,那么你可以刪除tomcat指定的命令集,你可以用server提供的熱部署進(jìn)行啟動和停止你的應(yīng)用.?
現(xiàn)在我們來看一下ant提供的每個命令,在你的springapp目錄下執(zhí)行ant?
代碼:?
C:\projects\springapp>ant?
Buildfile:?build.xml?
usage:?
?????[echo]?springapp?build?file?
?????[echo]?-----------------------------------?
?????[echo]?Available?targets?are:?
?????[echo]?build?????????????????-->?建立應(yīng)用?
?????[echo]?deploy???????????????-->?部署應(yīng)用?
?????[echo]?deploywar?????????-->?部署war文件?
?????[echo]?install????????????????-->?安裝應(yīng)用?
?????[echo]?reload????????????????-->?重載應(yīng)用?
?????[echo]?start???????????????????-->?啟動?springapp?
?????[echo]?stop???????????????????-->?停止?springapp?
?????[echo]?list?????????????????????-->?列表?Tomcat?applications?
BUILD?SUCCESSFUL?
Total?time:?5?seconds?
現(xiàn)在,我們來部署應(yīng)用,執(zhí)行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步:測試應(yīng)用?
先看一下我們是否把應(yīng)用部署成功?
代碼:?
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?
如果你還沒有安裝,請執(zhí)行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?
現(xiàn)在,讓我們打開瀏覽器看一下結(jié)果http://localhost:8080/springapp/index.jsp?
第5步:下載spring?framework?package?
如果你還沒有下在spring,請到www.springframework.org/download.html.?尋找最新版本.?
下面我們將完成利用spring?framework?進(jìn)行開發(fā)MVC?應(yīng)用程序.?
第6步:修改web.xml?
進(jìn)入WEB-INF目錄編輯web.xml?
代碼:?
WEB-INF/web.xml?
?
?
?
??
????springapp?
?????
???????org.springframework.web.servlet.DispatcherServlet?
?????
????1?
???
???
????springapp?
????*.htm?
???
???
?????
??????index.jsp?
?????
???
?
在WEB-INF目錄下創(chuàng)建一個springapp-servlet.xml文件,它的命名規(guī)則是web.xml中的servlet-name?加上'-servlet'后綴,這是在springframework中的標(biāo)準(zhǔn)命名法則.?
現(xiàn)在,我們聲明一個bean?:springappController?他對應(yīng)的類是SpringappController.class?
這個定義用于我們控制業(yè)務(wù)邏輯。我們還需要定義一個url?mapping作為http調(diào)用的路徑.?
代碼:?
springapp/WEB-INF/springapp-servlet.xml?
?
?
?
?
?????
?????
?????????
?????????????
????????????????springappController?
?????????????
?????????
?????
?
第7步:添加支持包?
從spring的下載文件包中找到,spring.jar?(spring-framework-1.0-m1/dist/spring.jar)?拷貝到WEB-INF/lib下面。?
拷貝spring-framework-1.0-m1/lib/log4j/log4j-1.2.8.jar?和?spring-framework-1.0-m1/lib/jakarta-commons/commons-logging.jar到WEB-INF/lib下面。?
第8步:創(chuàng)建springappController?
代碼:?
springapp/src/SpringappController.java?
import?org.springframework.web.servlet.mvc.Controller;?
import?org.springframework.web.servlet.ModelAndView;?
import?javax.servlet.ServletException;?
import?javax.servlet.http.HttpServletRequest;?
import?javax.servlet.http.HttpServletResponse;?
import?java.io.IOException;?
public?class?SpringappController?implements?Controller?{?
????public?ModelAndView?handleRequest(HttpServletRequest?request,?HttpServletResponse?response)?
????????????throws?ServletException,?IOException?{?
????????return?new?ModelAndView("");?
????}?
}?
這只是一個基礎(chǔ)控制框架,稍候我們完成它.?
第9步:建立應(yīng)用?
代碼:?
Ant?build?
E:\projects\springapp>ant?build?
Buildfile:?build.xml?
build:?
????[javac]?Compiling?1?source?file?to?E:\projects\springapp\WEB-INF\classes?
BUILD?SUCCESSFUL?
Total?time:?2?seconds?
第10步:建立日志系統(tǒng)?
spring利用log4j來管理日志,在classes目錄下建立log4j.properties?
代碼:?
springapp/war/WEB-INF/classes/log4j.properties?
log4j.rootCategory=INFO,?stdout,?logfile?
log4j.appender.stdout=org.apache.log4j.ConsoleAppender?
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout?
log4j.appender.stdout.layout.ConversionPattern=%d?%p?[%c]?-?<%m>%n?
log4j.appender.logfile=org.apache.log4j.RollingFileAppender?
log4j.appender.logfile.File=e:/projects/springapp/springapp.log?
log4j.appender.logfile.MaxFileSize=512KB?
#?Keep?three?backup?files?
log4j.appender.logfile.MaxBackupIndex=3?
log4j.appender.logfile.layout=org.apache.log4j.PatternLayout?
#Pattern?to?output?:?date?priority?[category]?-?
line_separator?
log4j.appender.logfile.layout.ConversionPattern=%d?%p?[%c]?-?<%m>%n?
第11步:部署應(yīng)用?
運行ant?deploy?
第12步:創(chuàng)建視圖?
代碼:?
springapp/war/hello.jsp?
?
Example?::?Spring?Application?
?
Hello?-?Spring?Application
?
Greetings.
?
?
?
下面我們修改SpringappController.java?
代碼:?
springapp/src/SpringappController.java?
import?org.springframework.web.servlet.mvc.Controller;?
import?org.springframework.web.servlet.ModelAndView;?
import?javax.servlet.ServletException;?
import?javax.servlet.http.HttpServletRequest;?
import?javax.servlet.http.HttpServletResponse;?
import?java.io.IOException;?
import?org.apache.commons.logging.Log;?
import?org.apache.commons.logging.LogFactory;?
public?class?SpringappController?implements?Controller?{?
???/**?Logger?for?this?class?and?subclasses?*/?
????protected?final?Log?logger?=?LogFactory.getLog(getClass());?
????public?ModelAndView?handleRequest(HttpServletRequest?request,?HttpServletResponse?response)?
????????????throws?ServletException,?IOException?{?
???????logger.info("SpringappController?-?returning?hello?view");?
????????return?new?ModelAndView("hello.jsp");?
????}?
}?
現(xiàn)在我們運行build,?deploy,?stop,?start?命令.?
這樣我們就成功地建立了一個mvc應(yīng)用,訪問http://loaclhost:8080/springapp/hello.htm?
小結(jié)?
以上,我們快速地利用spring?framework建立了MVC應(yīng)用程序,?
1、建立index.jsp,測試管理工具和開發(fā)環(huán)境?
2、編寫springapp-servlet.xml配置文件。?
3、編寫控制器代碼,SpringappController.java結(jié)合springapp-servlet中的定義進(jìn)行工作.?
4、編寫、展示hello.jsp,完成MVC的應(yīng)用程序.?
posted on 2005-10-14 10:18
Sung 閱讀(380)
評論(0) 編輯 收藏 所屬分類:
Java