2007-04-13

spring mvc循序渐进(译) (1)

关键字: spring

第五步——下载spring发行版

没下就赶紧下,地址:www.springframework.org/download.html,文件名:spring-framework-1.2-with-dependencies.zip(版本号可能不同)

好了,万事俱备,只欠东风,下面开始真正的spring mvc之旅。

第六步——修改 WEB-INF/web.xml文件

springapp/war/WEB-INF/web.xml

  1. xml version="1.0" encoding="UTF-8"?>  
  2. >  
  3. <web-app>  
  4.  <servlet>  
  5.     <servlet-name>springappservlet-name>  
  6.     <servlet-class>org.springframework.web.servlet.DispatcherServletservlet-class>  
  7.     <load-on-startup>1load-on-startup>  
  8.   servlet>  
  9.   
  10.   <servlet-mapping>  
  11.     <servlet-name>springappservlet-name>  
  12.     <url-pattern>*.htmurl-pattern>  
  13.   servlet-mapping>  
  14.   
  15.   <welcome-file-list>  
  16.     <welcome-file>  
  17.       index.jsp   
  18.     welcome-file>  
  19.   welcome-file-list>  
  20. web-app>  

 

Go to the 'springapp/war/ WEB-INF' directory. Modify the minimal 'web.xml' file that we created earlier. Now we will modify it to suit our needs. We define a DispatcherServlet that is going to control where all our request are routed based on information we will enter at a later point. It also has a standard servlet-mapping entry that maps to the url patterns that we will be using. I have decided to let any url with an '.htm' extension be routed to the 'springapp' dispatcher.

上面定义了一个名为springapp的DispatcherServlet(也许应该转发器),将控制(转发)所有以*.htm结尾的url连接请求,springapp的具体工作内容在下面的新文件springapp-servlet.xml 中定义:

springapp/war/WEB-INF/springapp-servlet.xml
  1. xml version="1.0" encoding="UTF-8"?>  
  2. >  
  3.   
  4. <beans>     
  5.     <bean id="springappController" class="SpringappController"/>     
  6.     <bean id="urlMapping" class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping">       
  7.         <property name="mappings">       
  8.             <props>        
  9.                 <prop key="/hello.htm">springappControllerprop>         
  10.             props>       
  11.         property>      
  12.     bean>  
  13. beans>  

 文件名之所以为springapp-servlet.xml,是为了符合java国际惯例。这个文件定义了一个spring 控制器,所谓控制器就是当有人访问某个网址是,控制它运行那个java程序。

第七步——复制spring jar文件到WEB-INF/lib

要复制的文件内容如下(解压下载到的spring文件):

spring-framework-1.2/dist/spring.jar

spring-framework-1.2/lib/jakarta-commons/commons-logging.jar

 

 第八步——创建自己的控制器(concroller)

springapp/src/SpringappController.java
  1. import org.springframework.web.servlet.mvc.Controller;   
  2. import org.springframework.web.servlet.ModelAndView;   
  3. import javax.servlet.ServletException;   
  4. import javax.servlet.http.HttpServletRequest;   
  5. import javax.servlet.http.HttpServletResponse;   
  6. import java.io.IOException;   
  7.   
  8. public class SpringappController implements Controller   
  9. {   
  10.     public ModelAndView handleRequest(HttpServletRequest request,   
  11.         HttpServletResponse response) throws ServletException, IOException   
  12.     {   
  13.     return new ModelAndView("");   
  14.     }   
  15. }  

 

这只是最基本的控制器。spring的控制器没什么特色,只是要返回ModelAndView,具体后面再讲。

第九步——生成war程序

省略吧,如果真的很有空就运行:ant build

第十步——复制并修改log4j.properties

我们只复制不修改下面的内容:

java 代码
  1. # For JBoss: Avoid to setup Log4J outside $JBOSS_HOME/server/default/deploy/log4j.xml!   
  2. # For all other servers: Comment out the Log4J listener in web.xml to activate Log4J.   
  3. log4j.rootLogger=INFO, stdout, logfile   
  4. log4j.appender.stdout=org.apache.log4j.ConsoleAppender   
  5. log4j.appender.stdout.layout=org.apache.log4j.PatternLayout   
  6. log4j.appender.stdout.layout.ConversionPattern=%d %p [%c] - <%m>%n   
  7. log4j.appender.logfile=org.apache.log4j.RollingFileAppender   
  8. log4j.appender.logfile.File=/Users/trisberg/jakarta-tomcat-5.0.28/logs/springapp.log   
  9. log4j.appender.logfile.MaxFileSize=512KB   
  10. # Keep three backup files.   
  11. log4j.appender.logfile.MaxBackupIndex=3  
  12. # Pattern to output: date priority [category] - message   
  13. log4j.appender.logfile.layout=org.apache.log4j.PatternLayout   
  14. log4j.appender.logfile.layout.ConversionPattern=%d %p [%c] - %m%n   

 

第十一步——发布(省略)

评论
发表评论

您还没有登录,请登录后发表评论

aninfeel
搜索本博客
博客分类
最近加入圈子
最新评论
评论排行榜