`
phosphory
  • 浏览: 72743 次
  • 性别: Icon_minigender_1
  • 来自: 福建
社区版块
存档分类

Spring MVC 实例及使用

阅读更多

Spring MVC Demo


 

说明:这个Demo用来简单展示Spring MVC的实现。[在此之前,应该下载好springjar文件,以及Spring的依赖jar文件,以及jstl标签库{可选},和standard.jar{可选}]

步骤如下:

1、 在MyEclipse下建立一个Web Projec名称为:Demo;

2、 添加相应的jar文件到WEB-INF/lib,如:spring-framework-3.0.2.RELEASE-with-docs.zip解压文件下dist文件夹下的core、beans、[context.support、context包支持上下文]、[web.servlet支持web MVC]、web、asm、expression,以及spring-framework-3.0.2.RELEASE-dependencies.zip {Spring依赖}解压文件org.apache.commons/com.springsource.org.apache.commons.logging下的com.springsource.org.apache.commons.logging.jar以及jstl.jarstandard.jar,

3、 配置核心控制器,代码如下:

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

<web-app version="2.5"

    xmlns="http://java.sun.com/xml/ns/javaee"

    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

    xsi:schemaLocation="http://java.sun.com/xml/ns/javaee

    http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">

    <!-- spring servlet dispatcher -->

    <servlet>

        <servlet-name>springMVC</servlet-name><!—核心控制器-->

    <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>

        <load-on-startup>1</load-on-startup><!—服务器启动时加载-->

    </servlet>

    <servlet-mapping>

        <servlet-name>springMVC</servlet-name>

        <url-pattern>*.do</url-pattern><!—过滤类型-->

    </servlet-mapping>

    <welcome-file-list>

    <welcome-file>index.jsp</welcome-file>

    </welcome-file-list>

</web-app>

4、 编写一个控制类如:UserController.java,包结构:com.teana.controller,此类继承AbstractCommandController抽象类,[说明:此类用到数据绑定,数据类型的转换],代码如下:

package com.teana.controller;

import java.text.SimpleDateFormat;

import java.util.Date;

import javax.servlet.http.HttpServletRequest;

import javax.servlet.http.HttpServletResponse;

import org.springframework.beans.propertyeditors.CustomDateEditor;

import org.springframework.validation.BindException;

import org.springframework.web.bind.ServletRequestDataBinder;

import org.springframework.web.servlet.ModelAndView;

import org.springframework.web.servlet.mvc.AbstractCommandController;

import com.teana.vo.User;

/**

* @author TEANA -- 2010-5-16

* User 控制器

* 窗口 > 首选项 > Java > 代码生成 > 代码和注释

*/

@SuppressWarnings("deprecation")

public class UserController extends AbstractCommandController

{

    @Override

    protected ModelAndView handle(HttpServletRequest request,

            HttpServletResponse response, Object commond, BindException be)

            throws Exception

    {

        User user = (User)commond;//自动封装的User对象

        System.out.println(user);

        return new ModelAndView("success");//说明视图的跳转,会在SpringMVC-servlet.xml配置文件中查出

    }

    /**

    * 数据绑定,及数据类型转换

    */

    @Override

    protected void initBinder(HttpServletRequest request,

            ServletRequestDataBinder binder) throws Exception

    {

        binder.registerCustomEditor(Date.class,

                new CustomDateEditor(

                        new SimpleDateFormat("yyyy-MM-dd"), true));

    }

}

 

5、 编写User.java文件,包结构:com.teana.vo,代码如下:

package com.teana.vo;

import java.io.Serializable;

import java.text.SimpleDateFormat;

import java.util.Date;

/**

* @author TEANA -- 2010-5-16

* 用户模型

* 窗口 > 首选项 > Java > 代码生成 > 代码和注释

*/

public class User implements Serializable

{

    private static final long serialVersionUID = -4360427971861239742L;

    private int id;

    private String name;

    private String cardID;

    private Date birth;

    public int getId()

    {

        return id;

    }

    public void setId(int id)

    {

        this.id = id;

    }

    public String getName()

    {

        return name;

    }

    public void setName(String name)

    {

        this.name = name;

    }

    public String getCardID()

    {

        return cardID;

    }

    public void setCardID(String cardID)

    {

        this.cardID = cardID;

    }

    public Date getBirth()

    {

        return birth;

    }

    public void setBirth(Date birth)

    {

        this.birth = birth;

    }

    @Override

    public String toString()

    {

        return "[ name =" + name + ", birth = " +

            new SimpleDateFormat("yyyy-MM-dd").format(birth) +

            ", carID = " + cardID + ", id = " + id + " ]";

    }

}

 

6、 编写jsp页面:

A:修改WebRoot文件下的index.jsp页面,代码如下:

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">

<html>

<head>

    <title>Spring MVC Demo</title>

</head>

<body>

   <jsp:forward page="login.do" /><!—在此处会根据springMvc-servlet.xml文件中查找真正的jsp页面-->

</body>

</html>

B:在 WEB-INF文件下创建一个jsp文件夹,在jsp文件夹下创建一个login.jsp文件,代码如下:

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">

<html>

<head>

    <title>Spring MVC Demo 用户注册</title>

</head>

<body>

<center>

<br/>

<br/>

<h5 style="color:pink" >Spring MVC Demo 用户注册</h5>

<form action="user.do" method="post"><!—user.dospringMVC-servlet.xml中查找-->

      <table>

          <tr><td>账号:</td><td><input type="text" name="id" /></td></tr>

          <tr><td>姓名:</td><td><input type="text" name="name" /></td></tr>

          <tr><td>生日:</td><td><input type="text" name="birth" /></td></tr>

          <tr><td>卡号:</td><td><input type="text" name="cardID" /></td></tr>

          <tr><td><input type="submit" value=  "/></td><td align="center"><input type="reset" value=  "/></td></tr>

      </table>

</form>

</center>

</body>

</html>

C:WEB-INF/jsp文件夹下创建一个success.jsp文件,这里只用来说明页面跳转成功,代码如下:

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">

<html>

<head>

    <title>Spring MVC Demo 用户登录成功</title>

</head>

<body>

    <br>

    <center>用户登录成功页面</center>

</body>

</html>

 

7、 WEB-INF文件夹下创建一个类似于Spring中的applicationContext.xml文件的SpringMVC-servlet.xml文件,这个文件的命名为*****-servlet.xml,*****由配置在web.xml文件下的核心控制器的servlet-name决定。编写其文件代码如下:

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

<beans xmlns="http://www.springframework.org/schema/beans"

    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

    xmlns:aop="http://www.springframework.org/schema/aop"

    xmlns:tx="http://www.springframework.org/schema/tx"

    xmlns:context="http://www.springframework.org/schema/context"

    xsi:schemaLocation="   

    http://www.springframework.org/schema/beans   

    http://www.springframework.org/schema/beans/spring-beans-2.0.xsd  

    http://www.springframework.org/schema/aop   

    http://www.springframework.org/schema/aop/spring-aop-2.0.xsd  

    http://www.springframework.org/schema/tx   

    http://www.springframework.org/schema/tx/spring-tx-2.0.xsd  

    http://www.springframework.org/schema/context  

    http://www.springframework.org/schema/context/spring-context-2.5.xsd">

    <!—说明处理url的方式映射方式-->

    <bean class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping">

    <property name="mappings">

         <props>

             <prop key="index.do">indexController</prop>

             <prop key="login.do">loginController</prop>

             <prop key="user.do">userController</prop>

         </props>

    </property>

    </bean>

<!—根据Url直接跳转到相应jsp文件,此处是当输入http://localhost:8080/Demo/index.do,则跳到WEB-INF/jsp/index.jsp页面-->

<bean id="indexController" class="org.springframework.web.servlet.mvc.UrlFilenameViewController" />

<!-此处是当输入http://localhost:8080/Demo/login.do则根据springMVC-servlet.xml文件的viewName的值去在制定格式的路径下查找相应文件-->

    <bean id="loginController" class="org.springframework.web.servlet.mvc.ParameterizableViewController">

    <property name="viewName" value="login" />

    </bean>

    <bean id="userController" class="com.teana.controller.UserController">

    <property name="commandClass" value="com.teana.vo.User" />

    </bean>

 

    <bean class="org.springframework.web.servlet.view.UrlBasedViewResolver"><!-- 指定策略解析 -->

    <property name="viewClass" value="org.springframework.web.servlet.view.JstlView" /><!-- 指定视图处理 -->

    <property name="prefix" value="/WEB-INF/jsp/" /><!—前缀-->

    <property name="suffix" value=".jsp" /><!—后缀-->

    </bean>

</beans>

总结:【使用Spring mvc 需要步骤】

①     在web.xml中配置DispatcherServlet及URL映射;

②     编写IOC容器所需要的XML配置文件,命名为<servlet-name>-servlet.xml,放到/WEB-INF目录下,如果DispatchertServlet在web.xml中的配置为SpringMVC,则Spring将寻找SpringMVC-servlet.xml配置文件。

③     在XML配置文件中定义URL映射方式和使用哪种View技术

分享到:
评论

相关推荐

    Spring MVC 基于注解实例

    Spring MVC 基于注解实例Spring MVC 基于注解实例Spring MVC 基于注解实例Spring MVC 基于注解实例Spring MVC 基于注解实例Spring MVC 基于注解实例Spring MVC 基于注解实例Spring MVC 基于注解实例Spring MVC 基于...

    Spring MVC 实例

    Spring MVC 使用这种模式,使得业务逻辑与用户界面分离,提高了代码的可维护性和可测试性。 - **Model**:模型层负责处理业务逻辑,通常包含实体类和数据访问对象(DAO)。 - **View**:视图层负责展示数据,如 JSP...

    spring mvc 实例

    在Spring MVC实例中,我们通常会遇到以下关键知识点: 1. **MVC架构**:MVC是一种设计模式,将应用分为三个主要部分:Model(模型)负责业务逻辑,View(视图)负责展示结果,Controller(控制器)处理用户请求并...

    Spring Mvc实例

    总结来说,Spring MVC实例展示了如何通过注解驱动开发实现Web应用的路由控制、数据绑定、视图解析以及数据库操作。这个实例对于理解Spring MVC的工作原理和实际应用是非常有帮助的,也是Java Web开发者必备的技能之...

    Spring MVC 的注解使用实例

    在Spring MVC框架中,注解的使用极大地简化了配置,提高了开发效率。Spring MVC通过注解可以实现控制器、方法映射、模型数据绑定、视图解析等关键功能。本实例将深入探讨Spring MVC中常见的注解及其应用。 1. `@...

    spring mvc实例项目

    学习这个实例项目,你可以深入理解Spring MVC如何处理请求、如何与ExtJS2进行数据交互,以及如何利用Spring JDBC进行数据库操作。同时,它也展示了MVC模式在实际项目中的应用,有助于提升你对Web应用开发的整体理解...

    Spring MVC框架实例

    **Spring MVC 框架实例详解** Spring MVC 是 Spring 框架的重要组成部分,它是一个用于构建 Web 应用程序的 Model-View-Controller (MVC) 模型的实现。在基于 Spring 2.5 的项目中,XML 配置是主要的配置方式,相比...

    Spring MVC 入门实例

    这篇文章将教你快速地上手使用 Spring 框架. 如果你手上有一本《Spring in Action》, 那么你最好从第三部分"Spring 在 Web 层的应用--建立 Web 层"开始看, 否则那将是一场恶梦! 首先, 我需要在你心里建立起 Spring...

    Spring mvc、 Spring、 Spring jdbc 整合实例源码

    在整合Spring MVC、Spring和Spring JDBC的实例中,你可能会看到以下几个关键部分: 1. **配置文件**:包括Spring的主配置文件(如`applicationContext.xml`),其中定义了Bean的配置,包括DataSource、JdbcTemplate...

    Spring MVC实例 MVC注解配置

    Spring MVC 是一个强大的Java Web开发框架...综上所述,Spring MVC实例中的MVC注解配置大大简化了Web应用的开发流程,使得代码更加简洁、直观。通过熟练掌握这些知识点,开发者能够高效地构建出高质量的Java Web应用。

    Spring MVC 基础实例源码01

    这个"Spring MVC 基础实例源码01"的资源很可能是为了帮助初学者理解Spring MVC的核心概念和基本用法。下面我们将详细探讨Spring MVC的一些关键知识点。 1. **MVC模式**:MVC(Model-View-Controller)是一种设计...

    学习Spring MVC,关于注解的Spring MVC,简单例子,关于控制器的Spring MVC,学习Spring,简单Spring MVC实例

    在Spring MVC实例中,通常会涉及到配置文件,如`spring-mvc.xml`,但现在更推荐使用Java配置。例如,你可以创建一个`WebConfig`类,然后使用`@Configuration`和`@EnableWebMvc`注解来启用Spring MVC: ```java @...

    spring MVC 实例代码

    基于注解的spring mvc,dao 层注解:@Repository("userDao"), entity层注解:@Entity,service层注解:@Service("userService"), action层注解:@Controller("userController") @RequestMapping("/user.do")

    Spring MVC jar包

    - **DAO层**:Spring MVC中的Service层通常调用DAO层完成数据访问,DAO层使用Hibernate进行具体操作。 在`hibernate3.6.8.chm`文件中,可能包含了Hibernate 3.6.8的官方文档,对于深入理解Hibernate的工作原理和...

    spring mvc+ibats实例

    总之,这个实例覆盖了Spring MVC作为Web应用框架、iBatis作为数据访问层以及Maven作为构建工具的关键知识,提供了一个清晰、实用的参考案例。通过学习和实践这个实例,开发者可以提升自己的Java Web开发技能。

    Spring mvc 实例下载可运行

    在这个实例中,"Spring mvc 实例下载可运行" 提供了一个可以直接运行的Spring MVC项目,帮助开发者更好地理解和学习Spring MVC的实践操作。 1. **Spring MVC基本概念** - **模型(Model)**:存储业务数据的部分,...

    maven spring mvc bubbo 实例

    在这个"Maven Spring MVC Bubbo实例"中,我们将探讨这三个技术如何协同工作,创建一个高效且可扩展的分布式系统。 首先,Maven是一个项目管理和综合工具,它主要用于Java项目的构建、依赖管理和项目信息管理。通过...

    spring mvc demo实例

    本实例是一个基础的Spring MVC "Hello, World!" 示例,旨在帮助初学者理解Spring MVC的核心概念和工作流程。 ### 1. MVC架构 MVC架构将应用程序分为三个主要组件:模型(Model)、视图(View)和控制器...

    基本的spring mvc + spring security实现的登录(无数据库)

    在本项目中,我们主要探讨的是如何利用Spring MVC和Spring Security框架构建一个基本的无数据库登录系统。Spring MVC是Spring框架的一部分,用于处理Web应用程序的请求-响应模型,而Spring Security则是一个强大的...

Global site tag (gtag.js) - Google Analytics