开发Spring MVC应用程序(1)
来源:百度文库 编辑:神马文学网 时间:2024/04/27 13:46:20
发布时间:2006.03.10 05:11 来源:CSDN 作者:
1、基本应用程序和环境的建立
(译者:该教程原来是使用Ant手动编译和部署的,这里使用Eclipse开发环境,有差别的地方,可以参考原文)
(1)开发环境
l Java SDK 1.4.2
l Apache Tomcat 5.0.25
l Eclipse 3.0
l Eclipse插件:
Ø EMF SDK 2.0.1:Eclipse建模框架,lomboz插件需要,可以使用runtime版本)
Ø lomboz 3.0:J2EE插件,用来在Eclipse中开发J2EE应用程序
Ø Spring IDE 1.0.3:Spring Bean配置管理插件
l SpringFramework 1.0.2
(2)插件配置
下面简单讲一下上面插件在Eclipse中的主要配置:
lomboz
l Window/Customize Perspective/Shoutcuts/New:选中Java/Lomboz J2EE Wizards/ Lomboz J2EE Project
l Window/Customize Perspective/Commands:选中Lomboz Actions
l Window/Preferences/Lomboz:指定JDK Tools.jar的位置
l Window/Preferences/Lomboz/Server Difinitions:选择Server types为Apache Tomcat v5.0.x,在Properties中指定Tomcat的安装目录,HTTP访问的地址和端口号(译者:这里使用8888),以及classpath变量TOMCAT_HOME的值(即Tomcat的安装目录)
Spring IDE
l Window/Customize Perspective/Shoutcuts/Show View:选中Spring IDE
(3)创建J2EE工程
l File/New/ Lomboz J2EE Project
l Project settings:指定工程名springapp
l Java settings:注意默认输出目录是bin,改为springapp/springapp/WEB-INF/classes
l Create J2EE Module:选择Web Modules页,点击add按钮指定Web模块名springapp;选择Targeted Servers页,Type选择Apache Tomcat v5.0.x,点击add按钮增加
l 点击Finish按钮,完成工程的创建
(4)index.jsp
创建应用程序的入口页面index.jsp,这里只是对环境的一个测试:
Example :: Spring Application
(5)部署应用程序到Tomcat上
l 工具栏上点击Press to open a J2EE Project Outliner按钮,打开Lomboz J2EE View视图
l 在Modules页中选择springapp工程的springapp模块,右击选择Deploy
(6)测试应用程序
l 在浏览器中输入http://localhost:8888/springapp,看到正常的测试页面,说明环境已经建立好了
l 下面开始开发Spring MVC应用程序
(7)修改WEB-INF目录的web.xml
l 定义DispatcherServlet来控制所有的请求,同时具有一个标准的servlet-mapping映射到*.htm URL模式
springapp org.springframework.web.servlet.DispatcherServlet 1 springapp *.htm
l 创建springapp-servlet.xml(应用程序名--servlet.xml),配置DispatcherServlet要使用的Web应用程序context
Ø 定义名为springappController的Bean条目,指向SpringappController控制器
Ø 使用SimpleUrlHandlerMapping来定义URL映射,将/hello.htm映射到SpringappController控制器
springappController
l (译者:补充Spring IDE的使用)
Ø 选择springapp工程,右击选择add Spring Beans Project Nature,工程图标原来的J符号变成了S
Ø Window/Show View/Spring Beans,打开Spring Beans视图
Ø 在视图中选择springapp,右击选择Properties
Ø Config Files页中点击add按钮,将springapp-servlet.xml加入
Ø 在Spring Beans视图中,可以看到springapp-servlet.xml的结构树,双击springapp-servlet.xml可以打开文件,双击具体结构,可以自动定位
Ø 选择springapp-servlet.xml,右击选择Show Graph,可以显示文件的视图结构
(8)拷贝jars到WEB-INF/lib目录
l 将dist/spring.jar、lib/jakarta-commons/commons-logging.jar、lib/log4j/log4j-1.2.8.jar文件导入到springapp工程的springapp/WEB-INF/lib目录下
(9)创建控制器
l 实现Controller接口的handleRequest()方法来处理请求
l 这里添加日志记录,检查是否执行到这里
l handleRequest()方法返回的ModelAndView没有指定Model,所以直接重定向到指定的视图hello.jsp
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"); } }
(10)创建视图hello.jsp
Example :: Spring Application
(11)拷贝和修改log4j.properties
l SpringFramework使用log4j记录日志,所以导入samples/petclinic/war/WEB-INF/classes/log4j.properties文件到springapp工程的springapp/WEB-INF/classes目录下
l 修改log4j.properties,指定日志输出文件:
# For JBoss: Avoid to setup log4j outside $JBOSS_HOME/server/default/deploy/log4j.xml! # For all other servers: Comment out the Log4J listener in web.xml too. # log4j.rootLogger=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=${springapp.root}/WEB-INF/springapp.log log4j.appender.logfile.MaxFileSize=512KB # Keep three backup files. log4j.appender.logfile.MaxBackupIndex=3 # Pattern to output: date priority [category] - message log4j.appender.logfile.layout=org.apache.log4j.PatternLayout log4j.appender.logfile.layout.ConversionPattern=%d %p [%c] - %m%n
l (译者:在部署时提示下面错误,log4j无法正常工作,望高手指正)
log4j:WARN No appenders could be found for logger (org.apache.catalina.session.ManagerBase). log4j:WARN Please initialize the log4j system properly.
(12)重新部署应用程序
l 通过前面的方法重新部署应用程序
l (译者:在重新部署之前,需要先删除Tomcat的webapps目录下的springapp目录,否则Tomcat,不会将新的war文件解压。什么问题?)
l 在浏览器中输入http://localhost:8888/springapp/hello.htm,能够正常显示hello.jsp的内容
1、基本应用程序和环境的建立
(译者:该教程原来是使用Ant手动编译和部署的,这里使用Eclipse开发环境,有差别的地方,可以参考原文)
(1)开发环境
l Java SDK 1.4.2
l Apache Tomcat 5.0.25
l Eclipse 3.0
l Eclipse插件:
Ø EMF SDK 2.0.1:Eclipse建模框架,lomboz插件需要,可以使用runtime版本)
Ø lomboz 3.0:J2EE插件,用来在Eclipse中开发J2EE应用程序
Ø Spring IDE 1.0.3:Spring Bean配置管理插件
l SpringFramework 1.0.2
(2)插件配置
下面简单讲一下上面插件在Eclipse中的主要配置:
lomboz
l Window/Customize Perspective/Shoutcuts/New:选中Java/Lomboz J2EE Wizards/ Lomboz J2EE Project
l Window/Customize Perspective/Commands:选中Lomboz Actions
l Window/Preferences/Lomboz:指定JDK Tools.jar的位置
l Window/Preferences/Lomboz/Server Difinitions:选择Server types为Apache Tomcat v5.0.x,在Properties中指定Tomcat的安装目录,HTTP访问的地址和端口号(译者:这里使用8888),以及classpath变量TOMCAT_HOME的值(即Tomcat的安装目录)
Spring IDE
l Window/Customize Perspective/Shoutcuts/Show View:选中Spring IDE
(3)创建J2EE工程
l File/New/ Lomboz J2EE Project
l Project settings:指定工程名springapp
l Java settings:注意默认输出目录是bin,改为springapp/springapp/WEB-INF/classes
l Create J2EE Module:选择Web Modules页,点击add按钮指定Web模块名springapp;选择Targeted Servers页,Type选择Apache Tomcat v5.0.x,点击add按钮增加
l 点击Finish按钮,完成工程的创建
(4)index.jsp
创建应用程序的入口页面index.jsp,这里只是对环境的一个测试:
Example - Spring Application
This is my test.
(5)部署应用程序到Tomcat上
l 工具栏上点击Press to open a J2EE Project Outliner按钮,打开Lomboz J2EE View视图
l 在Modules页中选择springapp工程的springapp模块,右击选择Deploy
(6)测试应用程序
l 在浏览器中输入http://localhost:8888/springapp,看到正常的测试页面,说明环境已经建立好了
l 下面开始开发Spring MVC应用程序
(7)修改WEB-INF目录的web.xml
l 定义DispatcherServlet来控制所有的请求,同时具有一个标准的servlet-mapping映射到*.htm URL模式
l 创建springapp-servlet.xml(应用程序名--servlet.xml),配置DispatcherServlet要使用的Web应用程序context
Ø 定义名为springappController的Bean条目,指向SpringappController控制器
Ø 使用SimpleUrlHandlerMapping来定义URL映射,将/hello.htm映射到SpringappController控制器
l (译者:补充Spring IDE的使用)
Ø 选择springapp工程,右击选择add Spring Beans Project Nature,工程图标原来的J符号变成了S
Ø Window/Show View/Spring Beans,打开Spring Beans视图
Ø 在视图中选择springapp,右击选择Properties
Ø Config Files页中点击add按钮,将springapp-servlet.xml加入
Ø 在Spring Beans视图中,可以看到springapp-servlet.xml的结构树,双击springapp-servlet.xml可以打开文件,双击具体结构,可以自动定位
Ø 选择springapp-servlet.xml,右击选择Show Graph,可以显示文件的视图结构
(8)拷贝jars到WEB-INF/lib目录
l 将dist/spring.jar、lib/jakarta-commons/commons-logging.jar、lib/log4j/log4j-1.2.8.jar文件导入到springapp工程的springapp/WEB-INF/lib目录下
(9)创建控制器
l 实现Controller接口的handleRequest()方法来处理请求
l 这里添加日志记录,检查是否执行到这里
l handleRequest()方法返回的ModelAndView没有指定Model,所以直接重定向到指定的视图hello.jsp
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"); } }
(10)创建视图hello.jsp
Hello - Spring Application
Greetings.
(11)拷贝和修改log4j.properties
l SpringFramework使用log4j记录日志,所以导入samples/petclinic/war/WEB-INF/classes/log4j.properties文件到springapp工程的springapp/WEB-INF/classes目录下
l 修改log4j.properties,指定日志输出文件:
# For JBoss: Avoid to setup log4j outside $JBOSS_HOME/server/default/deploy/log4j.xml! # For all other servers: Comment out the Log4J listener in web.xml too. # log4j.rootLogger=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=${springapp.root}/WEB-INF/springapp.log log4j.appender.logfile.MaxFileSize=512KB # Keep three backup files. log4j.appender.logfile.MaxBackupIndex=3 # Pattern to output: date priority [category] - message log4j.appender.logfile.layout=org.apache.log4j.PatternLayout log4j.appender.logfile.layout.ConversionPattern=%d %p [%c] - %m%n
l (译者:在部署时提示下面错误,log4j无法正常工作,望高手指正)
log4j:WARN No appenders could be found for logger (org.apache.catalina.session.ManagerBase). log4j:WARN Please initialize the log4j system properly.
(12)重新部署应用程序
l 通过前面的方法重新部署应用程序
l (译者:在重新部署之前,需要先删除Tomcat的webapps目录下的springapp目录,否则Tomcat,不会将新的war文件解压。什么问题?)
l 在浏览器中输入http://localhost:8888/springapp/hello.htm,能够正常显示hello.jsp的内容
开发Spring MVC应用程序(1)
开发Spring MVC应用程序(2)
为 WebSphere Application Server Community Edition 开发 Spring 应用程序: 第 1 部分:Spring MVC
Spring MVC 入门+MVC 简介1
SPRING MVC
Spring MVC 入门+MVC 简介
Spring MVC初探
Spring MVC 入门
Spring mvc控制器
Spring mvc控制器2
Spring MVC 入门
Spring MVC 入门+MVC 简介test
Home - Spring Portlet MVC - Confluence
Spring MVC step-by-stepd
Spring MVC step-by-step
Spring MVC step-by-step1
为 WebSphere Application Server Community Edition 开发 Spring 应用程序: 第 2 部分:使用 Spring 进行数据库连接管理
本文是开发基于spring的web应用的入门文章,前端采用Struts MVC框架,中间层采用spring,后台采用Hibernate
Struts VS Spring两种MVC框架
Struts VS Spring 两种MVC框架
Spring学习日记 - 在spring mvc中集成tiles
Spring 系列,第 3 部分: 进入 Spring MVC
开发J2ME联网应用程序
为iPhone 开发应用程序