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. es学习-重建索引

    url:POST http://127.0.0.1:9200/_reindex 参数: {"source":{"index":"myes"} ...

  2. HDU 6125 Free from square (状压DP+背包)

    题意:问你从 1 - n 至多选 m 个数使得他们的乘积不能整除完全平方数. 析:首先不能整除完全平方数,那么选的数肯定不能是完全平方数,然后选择的数也不能相同的质因子. 对于1-500有的质因子至多 ...

  3. 手机SLAM开发

    ...惯性定位 由简入繁 保留JPG文件. 回环 建模

  4. 编写高质量代码改善C#程序的157个建议——建议83:小心Parallel中的陷阱

    建议83:小心Parallel中的陷阱 Parallel的For和ForEach方法还支持一些相对复杂的应用.在这些应用中,它允许我们在每个任务启动时执行一些初始化操作,在每个任务结束后,又执行一些后 ...

  5. Ubuntu 将应用程序 固定到快快速启动栏(以Sublime为例)

    因为Sublime Text并不是需要安装,所以缺少Ubuntu桌面运行的一些基本配置,比如不能将它加入桌面侧边的启动器. 而Ubuntu上也没有快捷方式的说法,而通过软件中心安装的软件就有图标,并能 ...

  6. java中关于Collection和Map相关的类&接口之间的关系

    上图(引用自)

  7. CodeForces 907E Party(bfs+状压DP)

    Arseny likes to organize parties and invite people to it. However, not only friends come to his part ...

  8. 使用原生javascript和jQuery解析json数据

    JSON(JavaScript Object Notation)是一种轻量级的数据交换格式. JSONM文件中包含了关于“名称”和“值”的信息. 有时候我们需要读取JSON格式的数据文件,在jQuer ...

  9. hihocoder1634 Puzzle Game

    题目链接:(vjudge) 戳我 和上面那个matrix 比较像. 大概题意就是给你一个n*m的矩阵,然后可以选择其中一个数字进行修改(当然也可以不修改),使得矩阵的最大子矩阵尽可能小.最后输出这个值 ...

  10. 深入了解java虚拟机(JVM) 第二章 内存区域---栈空间

    一.栈的含义 用于描述方法执行的动态内存模型,简单来说就是代码中的方法模块.主要用于局部变量表.栈的大小在编译器中就已经分配了空间,在进入一个方法时,这个方法需要栈帧分配多少内存是固定的,运行期间是不 ...