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. servlet中如何发送ajax请求并动态拼接数据到html中

    废话不多说,直接上代码 1.servlet 2.js 3.jsp 有不懂得欢迎来扣我哦^_^ 详细介绍请查看全文:https://cnblogs.com/qianzf/ 原文博客的链接地址:https ...

  2. 借助LVS+Keepalived实现负载均衡(转)

    出处:http://www.cnblogs.com/edisonchou/p/4281978.html 一.负载均衡:必不可少的基础手段 1.1 找更多的牛来拉车吧 当前大多数的互联网系统都使用了服务 ...

  3. java Long、Integer 、Double、Boolean类型 不能直接比较

    测试: System.out.println(new Long(1000)==new Long(1000)); System.out.println(new Integer(1000)==new In ...

  4. linux常用Java程序员使用命令(一)

    pwd 显示当前路径cd 切换目录 . .. ~ls 显示文件(夹) -l 显示详细信息 -a 显示全部,包括隐藏文件(夹) mkdir 创建文件夹 -p 递归创建 touch 创建空白文件 echo ...

  5. 在Chrome 39中无法使用插件

    在chrome 42+版本中在开启npapi选项.   1.打开插件面板,在地址栏中输入 chrome://plugins   2.找到npScreenCapture插件,点击始终允许选框 3允许控件

  6. ASP.NET JSON数据转实体类方式

    实体类 public class FlieList { public string file_unid { get; set; } public string file_name { get; set ...

  7. 编写高质量代码改善C#程序的157个建议——建议157:从写第一个界面开始,就进行自动化测试

    建议157:从写第一个界面开始,就进行自动化测试 如果说单元测试是白盒测试,那么自动化测试就是黑盒测试.黑盒测试要求捕捉界面上的控件句柄,并对其进行编码,以达到模拟人工操作的目的.具体的自动化测试请学 ...

  8. Python 通过配置文件 读取参数,执行测试用例,生成测试报告并发送邮件

    #-*-coding:utf-8-*- #测试用例配置参数 #XXXXX_Uitest->baseinfo->__init__.py base_url = "http://XXX ...

  9. alpha七天冲刺计划

    alpha七天冲刺计划(更新ing) 第一天:https://www.cnblogs.com/renluqian/p/9895895.html 第二天: 第三天: 第四天: 第五天: 第六天: 第七天 ...

  10. [LeetCode 题解]: Generate Parentheses

    Given n pairs of parentheses, write a function to generate all combinations of well-formed parenthes ...