Spring研究 (1) 第一个Spring MVC程序

原创 2004年08月22日 16:44:00

准备开始研究Spring,今天把开发环境搭好了,然后照着Spring官方站点的Tutorials(Developing a Spring Framework MVC application step-by-step)做好了第一个MVC应用!为了简化,我把例子中的很多不必要的东西全部删掉了,只留下一个最简单的MVC应用。

开发环境:Windows XP SP1 English,Eclipse 3.0,Tomcat 5.0,Spring 1.1RC2

功能:实现一个SpringappController和一个view.jsp,SpringappController负责接收一个hello.c命令,然后创建model,渲染view.jsp。

先在Eclipse下创建一个springapp的工程(也可以不用Eclipse,但是要麻烦一点),把必要的目录结构和文件建立起来:

其中,web/WEB-INF/lib/下的3个jar文件可以在Spring的dist和lib目录下找着,然后我们先编写一个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("view.jsp", "model", "Hello, world!");
    }
}

在这里Controller创建的Model仅仅是一个简单的字符串,实际的应用程序中,Controller应当接收URL参数,然后访问业务层,获得Model。

接着创建view.jsp来渲染结果,用到了jstl标签:

<%@ page session="false"%>

<%@ page session="false"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jstl/core" %>
<%@ taglib prefix="fmt" uri="http://java.sun.com/jstl/fmt" %>
<html><head><title>View.jsp</title></head>
<body bgcolor="#FFFFFF">
Result: <c:out value="${model}" />
</body></html>

下一步是创建web.xml,以“.c”结束的URL会被映射到Spring的DispatcherServlet:

<?xml version="1.0" encoding="UTF-8"?><?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>*.c</url-pattern>
    </servlet-mapping>
</web-app>   

Spring MVC所需要的springapp-servlet.xml:

<?xml version="1.0" encoding="UTF-8"?>

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "http://www.springframework.org/dtd/spring-beans.dtd">

<beans>
    <bean id="springappController" class="SpringappController"/>
    <bean id="urlMapping" class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping">
        <property name="mappings">
            <props>
                <prop key="/hello.c">springappController</prop>
            </props>
        </property>
    </bean>
</beans>
   

最后写一个Ant脚本,你所要更改的仅仅是把变量tomcat.home的路径设置为你机器上的实际路径:

<?xml version="1.0"?><?xml version="1.0"?>

<project name="SpringTest" default="deploy">
    <property name="src.dir" value="src" />
    <property name="web.dir" value="web" />
    <property name="build.dir" value="${web.dir}/WEB-INF/classes" />
    <!-- TOMCAT HOME DIR -->
    <property name="tomcat.home" value="D:/software/tomcat" />
    <property name="deploy.dir" value="${tomcat.home}/webapps/SpringTest" />

    <target name="build">
        <mkdir dir="${build.dir}"/>
        <javac srcdir="${src.dir}" destdir="${build.dir}" target="1.4">
            <classpath>
                <fileset file="${web.dir}/WEB-INF/lib/*.jar" />
                <fileset dir="${tomcat.home}/common/lib">
                    <include name="servlet*.jar"/>
                </fileset>
            </classpath>
        </javac>
    </target>

    <target name="deploy" depends="build">
        <mkdir dir="${deploy.dir}"/>
        <copy todir="${deploy.dir}">
            <fileset dir="${web.dir}">
                <include name="**/*.*" />
            </fileset>
        </copy>
    </target>
</project>

大功告成!运行Ant,成功后启动Tomcat,然后在浏览器中输入“http://localhost:8080/springmvc/hello.c”:

OK!view.jsp显示出了model的值“Hello, world!”。如果出现错误,仔细检查所需的jar文件以及Tomcat路径的设置。

相关资源:

SpringMVC 的第一个程序——HelloWorld

SpringMVC 的HelloWorld
  • Fangxiaowei9527
  • Fangxiaowei9527
  • 2016年07月25日 09:10
  • 1698

Spring MVC优势和第一个入门程序

1、SpringMVC的优势     Spring框架提供了构建Web应用程序的全功能MVC模块——Spring MVC。Spring MVC框架提供了一个DispatcherServlet作用...
  • znwnymys
  • znwnymys
  • 2017年04月26日 00:21
  • 2364

使用Intellij IEDA创建第一个springmvc例子

路途很坎坷,尤其是在我的idea出了问题后更加坎坷,捣鼓了这么久可算搞出来一个hello world。感觉自己萌萌哒IDEA还是非常强大的,集成spring、struct、maven、hibernat...
  • violet_echo_0908
  • violet_echo_0908
  • 2016年03月21日 18:18
  • 2965

创建第一个Spring MVC程序helloworld

1、首先导入所需要的jar包: 2、HelloWorld.java文件内容如下:package spring.beans;public class HelloWorld { privat...
  • boredbird32
  • boredbird32
  • 2016年03月19日 21:52
  • 217

第一个使用ajax的spring mvc程序

1.例子想法。 2.例子代码。 1)关于spring mvc 2)关于json 3)关于ajax 4)关于jquery. 3.遇到的问题。 net.sf.jar包使用遇到的问题。最后怎么在intell...
  • chrysanthemumcao
  • chrysanthemumcao
  • 2015年10月25日 12:13
  • 554

Spring MVC框架下的第一个Hello World程序

Spring MVC框架下的第一个Hello World程序本程序是一个maven程序,使用maven方便管理jar包和程序,简化了操作步骤。本程序的目的是通过一个简单的程序,了解Spring MVC...
  • zuiaixiemu
  • zuiaixiemu
  • 2017年07月31日 15:56
  • 239

第一个spring mvc应用

  • 2017年11月11日 16:14
  • 8KB
  • 下载

Spring MVC3。 最近研究

  • 2012年04月18日 17:12
  • 474KB
  • 下载

Java网络编程(二) - 15分钟搭建我的第一个 Spring MVC 项目

本文中, 我们的目标是开发一个服务器, 我们访问它, 它返回给我们一个字符串"Hello World!" 本文使用的Spring版本是最新的3.2.17, JDK 6, IDE是Eclipse fo...
  • caib1109
  • caib1109
  • 2016年05月28日 23:17
  • 1817

第一个Spring MVC应用

1.在Web.xml中配置前端控制器DispatcherServlet SpringMVCTest springmvc org.springf...
  • Haige_lin
  • Haige_lin
  • 2017年03月21日 09:48
  • 210
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Spring研究 (1) 第一个Spring MVC程序
举报原因:
原因补充:

(最多只允许输入30个字)