Spring框架是一个非常优秀的IoC框架,它可以无缝集成流行的各种前端MVC Web框架和后段的O/R Mapping框架。并且,Spring本身就提供了一个非常优秀的MVC框架。本文将讲述如何在NetBeans中使用Spring MVC框架开发***个具有MVC结构的Web应用程序。
Spring MVC框架提供了一个基本的DispatcherServlet,所有的请求都通过DispatcherServlet发送到恰当的Controller处理,最终结果由对应的JSP渲染出来。
[***个Spring MVC程序]
我们仍以HelloWorld工程为例。启动NetBeans,打开上次我们创建的HelloWorld工程,右键点击Library,选择Add JAR/Folder:
选择spring.jar,将其添加到Libraray中。
然后,再次右键点击Library,选择Add Library,将JSTL 1.1添加到Libraray中:
下一步,我们新建一个SpringappController.java
- package hello;
- import org.springframework.web.servlet.mvc.Controller;
- import org.springframework.web.servlet.ModelAndView;
- import javax.servlet.http.*;
- public class SpringappController implements Controller {
- public ModelAndView handleRequest(HttpServletRequest request, HttpServletResponse response)
- throws javax.servlet.ServletException, java.io.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< SPAN>title>< SPAN>head>
- <body bgcolor="#FFFFFF">
- Result: <c:out value="${model}" />
- < SPAN>body>< SPAN>html>
下一步是修改web.xml,以“.c”结束的URL会被映射到Spring的DispatcherServlet:
- <servlet>
- <servlet-name>springapp< SPAN>servlet-name>
- <servlet-class>org.springframework.web.servlet.DispatcherServlet< SPAN>servlet-class>
- <load-on-startup>1< SPAN>load-on-startup>
- < SPAN>servlet>
- <servlet-mapping>
- <servlet-name>springapp< SPAN>servlet-name>
- <url-pattern>*.c< SPAN>url-pattern>
- < SPAN>servlet-mapping>
然后,再添加一个springapp-servlet.xml配置文件,放到web/WEB-INF下:
内容如下:
- xml version="1.0" encoding="UTF-8"?>
- >
- <beans>
- <bean id="springappController" class="hello.SpringappController"/>
- <bean id="urlMapping" class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping">
- <property name="mappings">
- <props>
- <prop key="/hello.c">springappController< SPAN>prop>
- < SPAN>props>
- < SPAN>property>
- < SPAN>bean>
- < SPAN>beans>
编译、部署,可以在浏览器中看到结果:Result: Hello, world.
【编辑推荐】