WEB开发网
开发学院软件开发Java 第一个Spring MVC程序 阅读

第一个Spring MVC程序

 2007-12-23 12:36:35 来源:WEB开发网   
核心提示:准备开始研究SPRing,今天把开发环境搭好了,第一个Spring MVC程序,然后照着Spring官方站点的Tutorials(Developing a Spring Framework MVC application step-by-step)做好了第一个MVC应用!为了简化,我把例子中的很多不必要的东西全部删掉了

准备开始研究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,但是要麻烦一点),把必要的目录结构和文件建立起来:

第一个Spring MVC程序(图一)

其中,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"%>
<%@ 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"?>
<!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"?>
<!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"?>
<project name="springapp" default="build">

   <property name="src.dir" value="src" />
   <property name="tomcat.home" value="D:\software\tomcat" />
   <property name="web.dir" value="${tomcat.home}/webapps/springmvc" />
   <property name="build.dir" value="${web.dir}/WEB-INF/classes" />

   <target name="init">
    <copy todir="${web.dir}">
    <fileset dir="./web">
     <include name="**/*.*" />
    </fileset>
    </copy>
   </target>

   <target name="build" depends="init">
    <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>
</project>

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


第一个Spring MVC程序(图二)

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

(出处:http://www.cncms.com)


Tags:一个 Spring MVC

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接