1.springMVC的描述

  1.1.SpringMVC是Spring框架内置的MVC的实现。SpringMVC就是一个Spring内置的MVC子框架.

  1.2.SpringMVC的作用是实现页面和后台代码的分离

  1.3.SpringMVC作为一个框架,它的好处是:  

  1. 支持直接一个方法对一请求
  2. 支持数据的自动封装
  3. 自动支持上传组件
  4. 自动支持JSON的转成

2.springMVC的配置相关流程以及概念

 2.1.概念说明 

  1. 核心控制器:拦截所有请求,以实现一个请求对一个方法
  2. 业务控制器:经过核心控制器之后跳转到相对应业务需求的一个普通类

 2.2.配置流程说明 

  1. 我们必须在网站的入口(web.xml,WEB描述符),配置一个核心控制器,拦截所有的的请求
  2. 核心控制器通过加载Spring配置文件,获得请求路径对应业务控制器的方法
  3. 业务控制器的方法返回一个ModelAndView的对象给核心控制器
  4. 核心控制器根据业务控制器再加载配置的视图解释器跳转到对应的返回视图

3springMVC基于xml的入门配置

1.导入包

                  

2.创建一个请求的发送页面

<%@ page language="java" contentType="text/html; charset=UTF-8"

pageEncoding="UTF-8"%>

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">

<html>

<head>

<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">

<title>Insert title here</title>

</head>

<body>

//发送请求

<a href="${pageContext.request.contextPath }/say.do">say</a>

</body>

</html>

3.在web.xml配置核心控制器

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

<web-app version="3.0" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xml="http://www.w3.org/XML/1998/namespace" 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_3_0.xsd ">

<!-- 核心控制器 -->

<servlet>

<servlet-name>dispatcherServlet</servlet-name>

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

</servlet>

<servlet-mapping>

<servlet-name>dispatcherServlet</servlet-name>

<!-- 请求的后缀是do-->

<url-pattern>*.do</url-pattern>

</servlet-mapping>

</web-app>

4.创建一个业务控制器

package cn.gzsxt.controller;

import javax.servlet.http.HttpServletRequest;

import javax.servlet.http.HttpServletResponse;

import org.springframework.web.servlet.ModelAndView;

import org.springframework.web.servlet.mvc.multiaction.MultiActionController;

/**

* 业务控制器,必须继承一个类MultiActionController或它的父类

* @author ranger

*

*/

public class HelloController extends MultiActionController {

/**

* 执行方法的参数是固定.HttpServletRequest request,HttpServletResponse response

*/

public ModelAndView say(HttpServletRequest request,HttpServletResponse response){

System.out.println("-你好世界!-");

ModelAndView mv=new ModelAndView();

//设置返回的视图

mv.setViewName("/hello.jsp");

mv.addObject("msg", "张三");

return mv;

}

}

5.创建一个Spring的配置文件

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

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

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

xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd">

<!-- 请求路径与业务控制器的执行方法的关系 -->

<!-- 请求与执行方法的规则:

1. SpringMVC会根据请求的名字:/say.do的say,去自动找到say这个方法

-->

<bean name="/say.do" class="cn.gzsxt.controller.HelloController"></bean>

<!-- 2.视图解释器,不用配置.默认已经配置了jsp视图解释器了 -->

</beans>

注意:默认的Spring配置文件放在WEB-INF下,名为{servlet-name}-servlet.xml

{servlet-name}指的是,核心控制器配置的名字

如:dispatcherServlet-servlet.xml

<servlet>

<servlet-name>dispatcherServlet</servlet-name>

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

</servlet>

6.创建一个返回的视图页面

<%@ page language="java" contentType="text/html; charset=UTF-8"

pageEncoding="UTF-8"%>

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">

<html>

<head>

<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">

<title>Insert title here</title>

</head>

<body>

${msg },欢迎您!

</body>

</html>

4.springMVC基于注解的入门配置

  1. 注解版的配置,主要的修改就是基于xml配置版本将原来使用<bean>创建的业务控制器对象,修改为是扫描标签扫描到容器.<context:component-scan base-package="cn.gzsxt"></context:component-scan>
  2. 在controller上面给它加上@controller注解并且在方法上加上@RequestMapping注解用于指定映射路径和方法@RequestMapping(value="/say.do")
  3. 并且在使用注解配置的时候它的内部提供了String的返回类,业务控制层的代码可以简化为
 package cn.gzsxt.controller;

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

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.servlet.ModelAndView;
import org.springframework.web.servlet.mvc.multiaction.MultiActionController;

//基于配置文件配置的controller必须要实现或继承controller的接口以及它的子类
@Controller
public class HelloCotroller{
    //@RequestMapping注解用于指定映射路径和方法
    @RequestMapping(value="/say.do")
    public String say() {
        System.out.println("你好世界");
        return "/hello.jsp";
    }

}

springMVC的一些入门配置的更多相关文章

  1. Spring-MVC开发步骤(入门配置)

    Spring-MVC开发步骤(入门配置) Step1.导包 spring-webmvc Step2.添加spring配置文件 Step3.配置DispatcherServlet 在web.xml中: ...

  2. SpringMVC框架入门配置 IDEA下搭建Maven项目(zz)

    SpringMVC框架入门配置 IDEA下搭建Maven项目 这个不错哦 http://www.cnblogs.com/qixiaoyizhan/p/5819392.html

  3. springMVC入门配置案例

    1.spring的jar包下载 进入http://repo.springsource.org/libs-release-local/,然后依次点击org/-->springframework-- ...

  4. 学习笔记_J2EE_SSM_01_spring+springMVC+Mybatis整合_XML配置示例

    spring+springMVC+Mybatis整合_XML配置示例 1.概述 spring+springMVC+Mybatis整合  XML配置方式 1.1 测试环境说明 名称 版本 备注 操作系统 ...

  5. (转)SpringMVC学习(一)——SpringMVC介绍与入门

    http://blog.csdn.net/yerenyuan_pku/article/details/72231272 SpringMVC介绍 SpringMVC是什么? SpringMVC和Stru ...

  6. (转)springMVC+mybatis+ehcache详细配置

    一. Mybatis+Ehcache配置 为了提高MyBatis的性能,有时候我们需要加入缓存支持,目前用的比较多的缓存莫过于ehcache缓存了,ehcache性能强大,而且位各种应用都提供了解决方 ...

  7. JavaEE开发之SpringMVC中的路由配置及参数传递详解

    在之前我们使用Swift的Perfect框架来开发服务端程序时,聊到了Perfect中的路由配置.而在SpringMVC中的路由配置与其也是大同小异的.说到路由,其实就是将URL映射到Java的具体类 ...

  8. 1.Maven+SpringMVC+Eclipse软件安装配置,Maven报插件错误,Eclipse总是卡死的解决办法,导入一个maven工程后 一直显示importing maven project

     使用Maven+SpringMVC+Eclipse软件安装配置过程中的问题: 1.Eclipse总是卡死的解决办法: 一:内存不足所以会卡死,配置一下eclipse.ini修改这几个值就好了-X ...

  9. springmvc 项目完整示例07 设置配置整合springmvc springmvc所需jar包springmvc web.xml文件配置

    前面主要是后台代码,spring以及mybatis的整合 下面主要是springmvc用来处理请求转发,展现层的处理 之前所有做到的,完成了后台,业务层和持久层的开发完成了 接下来就是展现层了 有很多 ...

随机推荐

  1. UVa 3211 Now or later (二分+2-Sat)

    题意:有 n 架飞机,每个飞机早着陆,或者晚着陆,让你安排一个方式,让他们着陆的时间间隔尽量大. 析:首先对于时间间隔,可以用二分来解决,然后就成了一个判定性问题,然后怎么判断该时间间隔是不是成立呢, ...

  2. 跟我学习css3之transition

    HTML5和css3已经是将来的发展趋势,现在有很多移动端还有一些游戏公司已然使用它们开 发了比较成功的产品.我在2011年的时候也跟着技术潮流初浅的学习了html5+css3.毕竟那 时候我没有把学 ...

  3. 编写高质量代码改善C#程序的157个建议——建议98:用params减少重复参数

    建议98:用params减少重复参数 如果方法的参数数目不定,且参数类型一致,则可以使用params关键字减少重复参数声明. void Method1(string str, object a){} ...

  4. 创建Jutil (单元测试)

    如何创建JUtil 这里拿Dynamic项目来演示,首先创建一个Dynamic项目,起名,点next, 继续点next, 将web.xml文件勾选,finish, 接下来在Java Resources ...

  5. CodeForces 499D. Name That Tune(概率dp)

    It turns out that you are a great fan of rock band AC/PE. Peter learned that and started the followi ...

  6. jmeter - 命令行方式运行

    命令格式: jmeter -n -t <testplan filename> -l <listener filename> 参数说明: -n 非 GUI 模式 -> 在非 ...

  7. 走进AOP In .NET

    AOP是什么,有的译为面向方面编程,有的译为面向切面编程,我更加赞同后者.接下来,让我们一步步揭开AOP的面纱. AOP衍生自 编程中出现了一些用OOP技术无法捕捉和解决的问题.跟其他开发工具和思想一 ...

  8. 13种PDF转图片的案列

    Acrobat.dllc#PDFPDFRender4NET.dllpdf转图片 GitHub Clone Adress : https://github.com/stone0090/OfficeToo ...

  9. C#多线程学习(三) 生产者和消费者

    前面说过,每个线程都有自己的资源,但是代码区是共享的,即每个线程都可以执行相同的函数.这可能带来的问题就是几个线程同时执行一个函数,导致数据的混乱,产生不可预料的结果,因此我们必须避免这种情况的发生. ...

  10. SQL Server 2008R2 附件数据库问题记录

    在Sql Server 2008 R2里附加数据库时弹出xxx.mdf拒绝访问的错误 详细错误信息如下: TITLE: Microsoft SQL Server Management Studio-- ...