`
yaominxi
  • 浏览: 22401 次
  • 来自: ...
社区版块
存档分类
最新评论

Spring framework 10分钟入门

阅读更多
<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的应用程序
分享到:
评论
2 楼 yaominxi 2008-02-12  
/**
 * @author Administrator
 * 
 */
public class HelloWorld {

	/**
	 * @param args
	 */
	public static void main(String[] args) {
		// TODO Auto-generated method stub		
		System.out.println("Hello World");

	}

}
1 楼 yaominxi 2008-02-12  
/**
 * @author Administrator
 * 
 */
public class HelloWorld {

	/**
	 * @param args
	 */
	public static void main(String[] args) {
		// TODO Auto-generated method stub		
		System.out.println("Hello World");

	}

}

相关推荐

    Spring Framework 4 参考文档中文版.docx

    * Spring Framework 的入门指南提供了有关 Spring Framework 的详细信息,为 Spring 的全部特性提供了详尽的文档。 * 入门指南涵盖了一些关于 Spring 信奉的基础概念(如“依赖注入”)的背景介绍。 七、Spring ...

    spring Framework 2入门经典源代码

    Spring Framework 2是Java开发中的一个关键框架,它极大地简化了企业级应用的构建和管理。这个框架的核心特性包括依赖注入(Dependency Injection, DI)、面向切面编程(Aspect-Oriented Programming, AOP)以及丰富...

    《spring framework 2 入门经典》一书的源代码

    《Spring Framework 2 入门经典》是一本深入浅出介绍Spring Framework 2.x版本的书籍,旨在帮助初学者快速掌握这一强大Java企业级应用框架的使用。源代码是学习和理解书中理论知识的重要辅助资源,它包含了书中各个...

    Spring Framework 概述 + Spring从入门到精通

    学习Spring Framework 从入门到精通,你需要理解以上各个模块的基本概念和用法,通过实践编写简单的应用程序来熟悉其工作原理。例如,你可以从创建一个简单的Spring Boot应用开始,配置一个RESTful API,然后逐渐...

    Spring Framework 6 中文文档

    入门部分指导开发者如何开始使用Spring,包括基本的环境设置和项目搭建步骤。 核心技术章节深入探讨了Spring的核心组件——IoC(Inversion of Control)容器。IoC容器是Spring的核心,负责管理对象的生命周期和依赖...

    Spring Framework Reference Documentation 4.25

    ### Spring Framework 4.25 参考文档关键知识点概览 #### 一、Spring框架概述 ##### 1. 开始使用Spring - **简介**:这部分内容为开发者提供了快速入门指南,帮助新用户理解如何开始使用Spring框架进行开发。 - *...

    spring framework 4.2.1 pds 最新版

    - **改进的入门体验:** Spring 4.0提供了一个更为友好的入门体验,降低了初学者的学习曲线。 - **移除过时的包和方法:** 移除了Spring 3.x中已标记为过时的一些包和方法。 - **支持Java 8、7和6:** Spring 4.0...

    最新springframework-4.0.2开发文档

    根据给定的文件信息,以下是从“最新springframework-4.0.2开发文档”中提炼出的关键知识点,这些知识点涵盖了Spring Framework的核心概念、新特性以及核心技术。 ### Spring Framework 4.0.2概述 #### 1. 开始...

    spring 经典 java 书籍 Spring+Framework+2.5

    《Spring+Framework+2.5》是一本专为Java开发者准备的Spring入门书籍,它深入浅出地介绍了Spring框架的核心概念和技术。这本书籍是针对Spring Framework 2.5版本编写的,该版本在当时是一个非常重要的里程碑,引入了...

    Spring Framework 4.1.0参考文档

    Spring Framework 4.1.0是一款流行的Java平台上的开源框架,用于构建和维护可信赖、高效的企业级应用。本文会详细解读其参考文档中的主要知识点。 **一、Spring Framework概述** 1. Spring框架的入门 Spring框架...

    Spring Framework Reference_4.1.3.pdf

    - **改善的入门体验:** 介绍了 Spring 4.0 在简化入门过程方面所做的改进。 - **移除过时的包和方法:** 为了保持框架的简洁性和高效性,Spring 4.0 移除了不再支持的包和方法。 - **Java 8 及其兼容性:** Spring ...

    SPring Framework 2入门代码和封面.rar

    这个"Spring Framework 2入门代码和封面.rar"压缩包很可能是为了辅助初学者理解和学习Spring Framework 2而设计的教学资源包。让我们深入探讨一下Spring Framework 2的关键知识点。 1. **依赖注入(Dependency ...

    spring-framework-5.3.15.tar.gz

    Spring Boot简化了Spring应用的初始设置,通过默认配置和自动配置大大降低了入门门槛。 三、响应式编程 在5.3.15版本中,Spring Framework继续强化了对响应式编程的支持,引入了Reactor库,使得开发异步非阻塞的...

    Spring framework reference 4.3.4

    首先,文档给出了Spring框架的概览,从入门开始,逐步介绍Spring框架的核心思想,比如依赖注入(Dependency Injection)和控制反转(Inversion of Control)。依赖注入是一种设计模式,通过在运行时动态地将依赖关系...

    spring-framework-3.2.10 jar包和文档

    在本文中,我们将深入探讨 Spring Framework 3.2.10 版本的相关知识点,包括其核心特性、模块组成、配置方式以及如何使用。 Spring 框架的核心特性包括依赖注入(Dependency Injection,DI)和面向切面编程(Aspect...

    spring framework reference 3.0.0 RC1

    《Spring Framework 3.0.0 RC1:深入解析与新特性详解》 Spring Framework,作为企业级应用开发中的核心框架之一,自2004年问世以来,一直以其强大的功能、灵活的设计以及对现代软件架构的支持而备受青睐。本文将...

    Spring Framework Reference Documentation

    ### Spring Framework 参考文档概览 **Spring Framework** 是一个开源框架,旨在简化企业级 Java 应用程序的开发过程。该框架提供了一整套完整的功能集合,包括依赖注入、面向切面编程、数据访问/集成、Web、测试等...

    Spring Data JPA从入门到精通

    Spring Data JPA是Spring Framework的一个模块,它简化了Java Persistence API(JPA)的使用,使开发者能够以更简洁的方式与数据库进行交互。以下将详细阐述Spring Data JPA的关键知识点。 1. **Spring Boot基础**...

    spring-framework-reference

    ### Spring Framework 4.2.6.RELEASE 相关知识点 #### 一、Spring Framework 概览 **1. 开始使用 Spring** - **简介**:Spring 是一个开源框架,被设计为简化企业级 Java 应用程序的开发。Spring 4.2.6.RELEASE ...

    Spring Framework 5 中文文档

    1. 入门指南 2. 介绍Spring框架 3. IoC容器 4. 资源 5. 验证、数据绑定和类型转换 6. Spring表达式语言 9. Spring框架下的测试 10. 单元测试 11. 集成测试 14. DAO支持 15.使用JDBC实现数据访问 16. ORM和数据访问 ...

Global site tag (gtag.js) - Google Analytics