SpringMVC入门示例教程(一)

其实之前刚刚学习框架的时候就已经听说过SpringMVC了,那个时候还不知道SpringMVC是干嘛的,感觉作用应该类似于Spring啥的,然后工作当中也很少用到SpringMVC,当然,工作经验本身就蛮少,也就没怎么去了解SpringMVC了,这几天突然想了解一下SpringMVC,然后就是各种度娘了,貌似学习所有的框架技术基本上都是先从一个简单的demo示例开始,例如hello world,像之前了解过的SSH框架,SSI框架、jFinal框架等等,,至少我是这样的,先把一个简单的Demo框架搭建起来,让她能够正常运行起来,然后再想着去加点东西啥的。。好了,不废话了。

Spring MVC请求处理的整体流程如图:

这里的示例用的

spring的jar包版本是3.2.0,

jdk版本是1.6

工程结构图:

1、在elcipse中新建一个Dynamic Web Project工程项目,之后把需要的jar包拷贝到项目的/WEB-INF目录下的lib目录中,然后进行build path,至于需要哪些jar包,之前用过spring的应该知道使用spring的时候需要导入哪些jar包,而springMVC和Spring的jar包是共用的,直接将spring所需要的jar包导入即可,不需要再导入额外的jar包文件,可以直接从官网下载,然后那些doc和source的jar包可要可不要,建议不要。。

所需的jar包截图:

其中红线框起来的部分是搭建这个springmvc的主要jar包,其余三个是辅助的,用作其他用的。。这个简单示例中可以不需要。

2、因为SpringMVC是围绕DispatcherServlet来的,所以这里需要修改一下web.xml文件的配置:

<?xml version="1.0" encoding="UTF-8"?>
<web-app id="WebApp_ID" version="2.5"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xmlns="http://java.sun.com/xml/ns/javaee"
    xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
                        http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
  <display-name>springmvc_demo_02</display-name>

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

    <!-- 可以自定义servlet.xml配置文件的位置和名称,默认为WEB-INF目录下,名称为-->
    <!--[<servlet-name>]-servlet.xml,如SpringMVC-servlet.xml -->
    <!-- <init-param>
       <param-name>contextConfigLocation</param-name>
       <param-value>/WEB-INF/SpringMVC-servlet.xml</param-value>
    </init-param> -->

    <load-on-startup>1</load-on-startup>
  </servlet>

  <servlet-mapping>
    <servlet-name>SpringMVC</servlet-name>
    <url-pattern>/</url-pattern>
  </servlet-mapping>

  <welcome-file-list>
    <welcome-file>index.jsp</welcome-file>
  </welcome-file-list>
</web-app>

注意:这个地方的servlet-name需要我们注意一下,因为等下我们还需要springMVC的另一个配置文件,这个文件的命名通常情况下都会以[servlet-name]-servlet.xml进行命名,主要用于springMVC的一些相关配置啥的,例如注解映射支持、视图解析,拦截器等等。。。

3、因为这里采用的是默认模式,然后就需要把SpringMVC-servlet.xml配置文件放在WEB-INF目录下,工程会自动去加载。我们可以新建一个xml文件,内容如下:

<?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:p="http://www.springframework.org/schema/p"
    xmlns:context="http://www.springframework.org/schema/context"
    xsi:schemaLocation="
        http://www.springframework.org/schema/beans
        http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
        http://www.springframework.org/schema/context
        http://www.springframework.org/schema/context/spring-context.xsd
        http://www.springframework.org/schema/mvc
        http://www.springframework.org/schema/mvc/spring-mvc-3.0.xsd">

    <context:component-scan base-package="org.springframework.samples.petclinic.web" />
    <bean name="/hello" class="com.feizi.controller.HelloController"></bean>
    <bean id="viewResolver"
        class="org.springframework.web.servlet.view.InternalResourceViewResolver">
        <property name="prefix" value="/"></property>
        <property name="suffix" value=".jsp"></property>
    </bean>
</beans>

5、好了,到了这里,关于SpringMVC的相关配置基本上都已经配置完了,当然,因为这个仅仅只是一个入门实例,前面有提到过,先把基本的框架搭建起来,让她能够正常运行起来,后续再做调整。。。

接下来,我们需要编写一个controller控制器,这里暂时还没有用到注解的方式,后面会介绍到使用注解的方法。然后只需要实现一个接口就行,例如编写一个HelloController类实现Controller接口;再实现这个接口中的handleRequest方法;然后返回一个ModelAndView。这个ModelAndView就是返回的一个视图,也可以传递参数,例如最后返回一个“/hello“,然后就会通过SpringMVC的视图渲染到hello.jsp页面。。

因为在之前的SpringMVC-servlet.xml配置文件中已经做了相关配置了,设置的页面后缀为.jsp的,所以,会直接跳转到hello.jsp页面,当然,这里还可以配置其他视图类型。不仅仅是jsp。。。

6、控制器HelloController类

/**
  * 文件说明
  * @Description:扩展说明
  * @Copyright: 2015 dreamtech.com.cn Inc. All right reserved
  * @Version: V6.0
  */
package com.feizi.controller;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.springframework.web.servlet.ModelAndView;
import org.springframework.web.servlet.mvc.Controller;

/**
 * @Author: feizi
 * @Date: 2015年5月6日 上午10:27:19
 * @ModifyUser: feizi
 * @ModifyDate: 2015年5月6日 上午10:27:19
 * @Version:V6.0
 */
public class HelloController implements Controller {

    /**
     * 方法说明
     * @Discription:扩展说明
     * @Author: feizi
     * @Date: 2015年5月6日 上午10:27:20
     * @ModifyUser:feizi
     * @ModifyDate: 2015年5月6日 上午10:27:20
     * @see org.springframework.web.servlet.mvc.Controller#handleRequest(javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse)
     */
    @Override
    public ModelAndView handleRequest(HttpServletRequest arg0,
            HttpServletResponse arg1) throws Exception {

        System.out.println("==========================Hello World!=========================");
        //实际上就是跳转到hello.jsp页面
        return new ModelAndView("/hello");
    }

}

7、一个简单的入门级SpringMVC示例已经完成了,我们运行一下,看看效果,看能不能正常运行。。。

8、关于上面说的那个SpringMVC的核心配置文件SpringMVC-servlet.xml,在这里还需要再啰嗦一下,比如说,我们在web.xml文件中配置的servlet-name是SpringMVC,如果是采用默认的方式那么SpringMVC的配置文件的命名就应该是: [servlet-name]-servlet.xml ,即:SpringMVC-servlet.xml 。且这个配置文件还必须得放在/WEB_INF目录下面,不然工程找不到,除非我们手动进行指定配置、、、

例如:如果我们采用的是默认的方式,然后SpringMVC-servlet.xml文件的命名又不是以[servlet-name]-servlet这种方式进行命名,那运行的时候就会报错,我这里做个示范修改一下,假设我们在web.xml中将servlet-name指定为SpringMVC,然后配置文件名是SpringMVC1-servlet.xml,那么运行的时候就会报异常。

当然,我们也可以不使用默认的方式,但是需要我们手动进行配置指定。通过属性进行指定即可。。通过指定之后,运行就又正常了

ok,到这里就基本上完成了。。。之后会试着学习下使用注解的方式和将SpringMVC的配置文件放到其他的位置的配置方法。

参考文章:http://elf8848.iteye.com/blog/875830/

源码已打包上传至csdn:

http://download.csdn.net/detail/hu1991die/8668927

时间: 2024-11-05 06:10:43

SpringMVC入门示例教程(一)的相关文章

SpringMVC入门示例教程(二)

上一篇博客简单地介绍了下SpringMVC框架的搭建,然后也都是采用的默认的方式,即需要将SpringMVC的核心配置文件放在/WEB-INF/目录下,由工程自动去加载,但是在我们实际的项目开发过程中,一般都不会这样去处理,很少使用这样的默认配置,而且这样的默认方式看起来比较杂乱,所以通常情况下我们都会将配置文件独立出来,单独去管理. 一.手动指定SpringMVC的核心配置文件加载位置 解决方法: 1.在src目录下建一个包,专门放置配置文件的 2.将原来WEB-INF目录下的springMV

SpringMVC 入门示例讲解

首先要了解什么是MVC,MVC全称是Model View Controller,是模型(Model)-视图(View)和控制器(Controller)的缩写,一种软件设计典范,用一种业务逻辑·.数据.界面显示分离的方法组织代码,将业务逻辑聚集到一个部件里面,在改进和个性化定制界面及用户交互的同时,不需要重新编写业务逻辑.MVC被独特的发展起来用于映射传统的输入.处理和输出功能在一个逻辑的图形化用户界面的结构中. 伯乐在线-ImportNew:       http://www.importnew

DWR 3.0 入门示例教程(简单实例)

DWR(Direct Web Remoting) DWR is a Java library that enables Java on the server and JavaScript in a browser to interact and call each other as simply as possible. Dwr能让在服务器端的java代码和浏览器客户端的javascript代码尽可能简单的相互调用. DWR is Easy Ajax for Java! 官网:http://di

[PhoneGap]入门示例

PhoneGap官方网站上有详细的入门示例教程: Step1.选择你想要进行开发的移动平台,点击Android图标 Step2.需要安装的软件-Eclipse3.4以上版本 Step3.安装SDK+PhoneGap (1)安装Eclipse3.4,我安装使用的为3.6版本中文语言包(如果你使用的是英文原版,下面的一些操作请自行和我的中文描述对应),ADT Plugin要求使用3.5.1以上版本 .如果你对Eclipse不了解,不知道使用哪种版本的,建议下载Eclipse Classic版本.Ec

Springmvc整合tiles框架简单入门示例(maven)

Springmvc整合tiles框架简单入门示例(maven) 本教程基于Springmvc,spring mvc和maven怎么弄就不具体说了,这边就只简单说tiles框架的整合. 先贴上源码(免积分下载): http://download.csdn.net/detail/zhangbing2434/9435460(这里用的是Idea,eclipse,导入的时候可能会有些差异) 1.tiles依赖的jar包:     maven代码: <dependency> <groupId>

Daydream VR入门基础教程,学习Google VR for Android全景应用示例SimpleVrPanorama制作VR全景应用

前言 前两篇介绍了Daydream Android VR开发环境的搭建和官方VR Demo寻宝游戏的演示,这篇我们来一起研究下示例项目SimpleVrPanorama,同时通过了解它来了解如何开发一款VR全景图形应用. -------------------------------------------------------------------------------------------------------------------- Daydream快速入门开发基础教程一:And

SpringMVC 入门教程知识

SpringMVC 入门知识 一.SpringMVC入门介绍 springMVC代替struts2去整合hibernate实现功能的框架.使用springMVC有两个配置文件需要配置,一 个是applicationContext.xml.另一个是web.xml,在applicationContext.xml里面配置事务管理器以及属性注入等.web.xml里面要添加一个springMVC的servlet的注册和映射(DispatcherServlet),这个servlet是 springMVC的核

Spring MVC 入门示例讲解

MVC框架是什么 Dispatcher Servlet(Spring控制器) Spring入门示例 运行时依赖库 web.xml和spring-servlet.xml文件配置 请求控制器EmployeeController.java 视图模型EmployeeVO.java Dao类 业务层类 视图employeeListDisplay.jsp MVC框架是什么 模型-视图-控制器(MVC)是一个众所周知的以设计界面应用程序为基础的设计模式.它主要通过分离模型.视图及控制器在应用程序中的角色将业务

Android OpenGL入门示例:绘制三角形和正方形 (附完整源码)

Android上对OpenGl的支持是无缝的,所以才有众多3D效果如此逼真的游戏,在Camera的一些流程中也有用到GLSurfaceView的情况.本文记录OpenGL在Android上的入门级示例,绘制一个三角形和正方形.尽管功能简单,可是我捣腾了好几个晚上,大量网上文章上的代码都有点问题,不是绘制不出来就是挂了. 第一个文件:MainActivity.java package com.example.learnopengl1; import android.opengl.GLSurface