<script language="javascript" src="httP://www.myfaq.com.cn/images/ad.js" charset="utf-8">
</script>
|
Yanger(y-ge@263.net)
开发环境:
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
<html> <head><title>Example :: Spring Application</title></head> <body> <h1>Example - Spring Application</h1> <p>This is my test.</p> </body> </html>
现在,我们来完成这个web应用,在WEB-INF下建立web.xml文件 代码:
springapp/WEB-INF/web.xml <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE web-app PUBLIC '-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN' 'http://java.sun.com/dtd/web-app_2_3.dtd'>
<web-app>
<welcome-file-list> <welcome-file> index.jsp </welcome-file> </welcome-file-list>
</web-app>
第3步:部署这个应用到Tomcat 现在我们来写Ant脚本文件,用于建立,部署,控制这个应用. 代码:
springapp/build.xml <?xml version="1.0" encoding="gb2312"?>
<project name="springapp" basedir="." default="usage"> <property file="build.properties"/>
<property name="src.dir" value="src"/> <property name="web.dir" value="war"/> <property name="build.dir" value="${web.dir}/WEB-INF/classes"/> <property name="name" value="springapp"/>
<path id="master-classpath"> <fileset dir="${web.dir}/WEB-INF/lib"> <include name="*.jar"/> </fileset> <fileset dir="${tomcat.home}/common/lib"> <include name="servlet.jar"/> </fileset> </path>
<target name="usage"> <echo message=""/> <echo message="${name} build file"/> <echo message="-----------------------------------"/> <echo message=""/> <echo message="Available targets are:"/> <echo message=""/> <echo message="build --> 建立应用"/> <echo message="deploy --> 部署应用"/> <echo message="deploywar --> 部署war文件"/> <echo message="install --> 安装应用"/> <echo message="reload --> 重载应用"/> <echo message="start --> 启动Tomcat application"/> <echo message="stop --> 停止 Tomcat application"/> <echo message="list --> 列表 Tomcat applications"/> <echo message=""/> </target>
<!-- =========================================================== --> <!-- spring tasks by yanger 2003-11 --> <!-- =========================================================== --> <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}/webapps/${name}" preservelastmodified="true"> <fileset dir="${web.dir}"> <include name="**/*.*"/> </fileset> </copy> </target>
<target name="deploywar" depends="build" description="Deploy application as a WAR file"> <war destfile="${name}.war" webxml="${web.dir}/WEB-INF/web.xml"> <fileset dir="${web.dir}"> <include name="**/*.*"/> </fileset> </war> <copy todir="${deploy.path}" preservelastmodified="true"> <fileset dir="."> <include name="*.war"/> </fileset> </copy> </target>
<!-- ============================================================ --> <!-- Tomcat tasks - remove these if you don't have Tomcat installed --> <!-- ============================================================ -->
<taskdef name="install" classname="org.apache.catalina.ant.InstallTask"> <classpath> <path location="${tomcat.home}/server/lib/catalina-ant.jar"/> </classpath> </taskdef> <taskdef name="reload" classname="org.apache.catalina.ant.ReloadTask"> <classpath> <path location="${tomcat.home}/server/lib/catalina-ant.jar"/> </classpath> </taskdef> <taskdef name="list" classname="org.apache.catalina.ant.ListTask"> <classpath> <path location="${tomcat.home}/server/lib/catalina-ant.jar"/> </classpath> </taskdef> <taskdef name="start" classname="org.apache.catalina.ant.StartTask"> <classpath> <path location="${tomcat.home}/server/lib/catalina-ant.jar"/> </classpath> </taskdef> <taskdef name="stop" classname="org.apache.catalina.ant.StopTask"> <classpath> <path location="${tomcat.home}/server/lib/catalina-ant.jar"/> </classpath> </taskdef>
<target name="install" description="Install application in Tomcat"> <install url="${tomcat.manager.url}" 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>
<!-- End Tomcat tasks -->
</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"?> <!DOCTYPE web-app PUBLIC '-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN' 'http://java.sun.com/dtd/web-app_2_3.dtd'>
<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"?> <!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "http://www.springframework.org/dtd/spring-beans.dtd">
<!-- - Application context definition for "springapp" DispatcherServlet. -->
<beans> <bean id="springappController" class="SpringappController"/>
<bean id="urlMapping" class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping"> <property name="mappings"> <props> <prop key="/hello.htm">springappController</prop> </props> </property> </bean> </beans>
第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步:创建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(""); } }
这只是一个基础控制框架,稍候我们完成它.
第9步:建立应用
代码: 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步:建立日志系统 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] - <message>line_separator log4j.appender.logfile.layout.ConversionPattern=%d %p [%c] - <%m>%n
第11步:部署应用 运行ant deploy
第12步:创建视图
代码: springapp/war/hello.jsp <html> <head><title>Example :: Spring Application</title></head> <body> <h1>Hello - Spring Application</h1> <p>Greetings.</p> </body> </html>
下面我们修改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"); } }
现在我们运行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的应用程序.
|
|
相关推荐
* Spring Framework 的入门指南提供了有关 Spring Framework 的详细信息,为 Spring 的全部特性提供了详尽的文档。 * 入门指南涵盖了一些关于 Spring 信奉的基础概念(如“依赖注入”)的背景介绍。 七、Spring ...
Spring Framework 2是Java开发中的一个关键框架,它极大地简化了企业级应用的构建和管理。这个框架的核心特性包括依赖注入(Dependency Injection, DI)、面向切面编程(Aspect-Oriented Programming, AOP)以及丰富...
《Spring Framework 2 入门经典》是一本深入浅出介绍Spring Framework 2.x版本的书籍,旨在帮助初学者快速掌握这一强大Java企业级应用框架的使用。源代码是学习和理解书中理论知识的重要辅助资源,它包含了书中各个...
学习Spring Framework 从入门到精通,你需要理解以上各个模块的基本概念和用法,通过实践编写简单的应用程序来熟悉其工作原理。例如,你可以从创建一个简单的Spring Boot应用开始,配置一个RESTful API,然后逐渐...
入门部分指导开发者如何开始使用Spring,包括基本的环境设置和项目搭建步骤。 核心技术章节深入探讨了Spring的核心组件——IoC(Inversion of Control)容器。IoC容器是Spring的核心,负责管理对象的生命周期和依赖...
### Spring Framework 4.25 参考文档关键知识点概览 #### 一、Spring框架概述 ##### 1. 开始使用Spring - **简介**:这部分内容为开发者提供了快速入门指南,帮助新用户理解如何开始使用Spring框架进行开发。 - *...
- **改进的入门体验:** Spring 4.0提供了一个更为友好的入门体验,降低了初学者的学习曲线。 - **移除过时的包和方法:** 移除了Spring 3.x中已标记为过时的一些包和方法。 - **支持Java 8、7和6:** Spring 4.0...
根据给定的文件信息,以下是从“最新springframework-4.0.2开发文档”中提炼出的关键知识点,这些知识点涵盖了Spring Framework的核心概念、新特性以及核心技术。 ### Spring Framework 4.0.2概述 #### 1. 开始...
《Spring+Framework+2.5》是一本专为Java开发者准备的Spring入门书籍,它深入浅出地介绍了Spring框架的核心概念和技术。这本书籍是针对Spring Framework 2.5版本编写的,该版本在当时是一个非常重要的里程碑,引入了...
Spring Framework 4.1.0是一款流行的Java平台上的开源框架,用于构建和维护可信赖、高效的企业级应用。本文会详细解读其参考文档中的主要知识点。 **一、Spring Framework概述** 1. Spring框架的入门 Spring框架...
- **改善的入门体验:** 介绍了 Spring 4.0 在简化入门过程方面所做的改进。 - **移除过时的包和方法:** 为了保持框架的简洁性和高效性,Spring 4.0 移除了不再支持的包和方法。 - **Java 8 及其兼容性:** Spring ...
这个"Spring Framework 2入门代码和封面.rar"压缩包很可能是为了辅助初学者理解和学习Spring Framework 2而设计的教学资源包。让我们深入探讨一下Spring Framework 2的关键知识点。 1. **依赖注入(Dependency ...
Spring Boot简化了Spring应用的初始设置,通过默认配置和自动配置大大降低了入门门槛。 三、响应式编程 在5.3.15版本中,Spring Framework继续强化了对响应式编程的支持,引入了Reactor库,使得开发异步非阻塞的...
首先,文档给出了Spring框架的概览,从入门开始,逐步介绍Spring框架的核心思想,比如依赖注入(Dependency Injection)和控制反转(Inversion of Control)。依赖注入是一种设计模式,通过在运行时动态地将依赖关系...
在本文中,我们将深入探讨 Spring Framework 3.2.10 版本的相关知识点,包括其核心特性、模块组成、配置方式以及如何使用。 Spring 框架的核心特性包括依赖注入(Dependency Injection,DI)和面向切面编程(Aspect...
《Spring Framework 3.0.0 RC1:深入解析与新特性详解》 Spring Framework,作为企业级应用开发中的核心框架之一,自2004年问世以来,一直以其强大的功能、灵活的设计以及对现代软件架构的支持而备受青睐。本文将...
### Spring Framework 参考文档概览 **Spring Framework** 是一个开源框架,旨在简化企业级 Java 应用程序的开发过程。该框架提供了一整套完整的功能集合,包括依赖注入、面向切面编程、数据访问/集成、Web、测试等...
### Spring Framework 4.2.6.RELEASE 相关知识点 #### 一、Spring Framework 概览 **1. 开始使用 Spring** - **简介**:Spring 是一个开源框架,被设计为简化企业级 Java 应用程序的开发。Spring 4.2.6.RELEASE ...
1. 入门指南 2. 介绍Spring框架 3. IoC容器 4. 资源 5. 验证、数据绑定和类型转换 6. Spring表达式语言 9. Spring框架下的测试 10. 单元测试 11. 集成测试 14. DAO支持 15.使用JDBC实现数据访问 16. ORM和数据访问 ...
根据提供的信息,我们可以总结出以下关于“spring-framework 中文文档”的关键知识点: ### 一、版权与版本 文档为 Spring Framework 的中文版本,版本号为 6.0.8-SNAPSHOT。这意味着该文档处于开发阶段,可能包含...