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. 线段树 - 3264 Balanced Lineup

    大略的的看了线段树的定义然后就开始练手, 可能很多地方可以优化, 仅供参考. 徘徊在AC的边缘, 提交代码要把cout/cin 缓存 printf/scanf 刚好能过. #include <i ...

  2. NArrange 配置与使用

    1. 在VS中设置一下就可以用了 2.It is also recommended to setup a restore command using the same parameters, repl ...

  3. org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'supplierAction': Injection of resource dependencies failed; nested exception is org.springframework.beans.factor

    这个错误是因为抽象Action类的时候,把ServletContext写成了serverContext,导致无法注入,正确写法是 import javax.annotation.Resource; i ...

  4. Halcon标定与自标定

    Halcon标定:https://blog.csdn.net/niyintang/article/details/78752585 Halcon自标定:https://www.cnblogs.com/ ...

  5. unittest对单个测试类的多种测试执行方法总结

    基于unittest测试框架编写的测试脚本,一般单个测试类下会有多个测试方法,unittest也提供多种测试执行方式,下面就不同方式或者需求一一实操并说明: 一.使用unittest下main()方法 ...

  6. makeword()

    MAKEWORD(学习之用,转载) MAKEWORD 宏 平台:SDK 这个宏创建一个被指定变量连接而成的WORD变量.返回一个WORD变量. (注:typedef unsigned short WO ...

  7. c# MSMQ 消息队列

    转  消息队列 http://www.cnblogs.com/anbylau2130/p/3469512.html

  8. 昨天发现的nginx默认不支持下划线引起angular-phonecat项目部分文件404问题

    今天发现原来确实是不存在这个文件... 因为我的Ubuntu的git没有安装,所以导致bower install时没有拉下来依赖包,因为bower是使用的git拉的包. 但是同时也搜到了nginx不支 ...

  9. Android-显示意图和隐式意图

    显示意图,一般情况下是用于,APP应用自身:组件(Activity,Service,...) 与 组件(Activity,Service,...) 的激活调用: 显示意图,是可以看得到,明确激活哪一个 ...

  10. .NET WCF Return String 字符串有反斜杠的处理

    应该是: {"Message":"Hello World"} 结果是:" {\"Message\":\"Hello Wo ...