“大佬们”嘴中的SSH,SSM框架,我这种小白终于解除到第二个S了,关于Spring MVC框架,根据最近的学习发现,还是有很多不足和需要加强巩固的地方,所以,通过总结博客的方式将Spring MVC再次巩固学习一下。


Spring MVC简介

Spring Web MVC是一种基于Java的实现了Web MVC设计模式的请求驱动类型的轻量级Web框架,即使用了MVC架构模式的思想,将web层进行职责解耦,基于请求驱动指的就是使用请求-响应模型。

Spring 为视图层提供的基于MVC设计理念的Web框架,是目前追主流的MVC框架之一。

Spring3.0 后全面超越Structs2.

Spring MVC通过一套MVC注解,让POJO成为处理请求的控制器,而无需实现任何借口。

支持RESET风格的URL请求。

采用了松散耦合可插拔组件结构。


重点:Spring MVC的处理流程

对于Spring MVC的处理流程来说,要记做到滚瓜烂熟,才能够对这个框架进行更深入的学习和理解。

Spring MVC特点

清晰的角色划分
强大而直接的配置方式
可适配 非侵入的controller
可重用的业务代码
可定制的绑定(blinding)和验证(validation)
可定制handler mapping和view resolution
灵活的model转换
可定制的本地化和主题(theme)解析

Spring MVC的使用

Spring MVC的使用步骤要记清楚,避免犯一些低级的错误。
  1. 添加jar包
  2. 在web.xml中配置dispatatcgerServlet
  3. 添加Spring MVC配置文件
  4. 编写请求处理器
  5. 编写视图

1.将相应的JAR包导入lib文件下。

我再次将项目中使用到的Jar全部导入,附上截图。

2.配置相关web.xml。

在web.xml中配置相关信息,配置的内容有:

  • DispatcherServlet :SpringMVC框架的核心,由它来控制进行分发任务。
  • SpringMVC的上下文配置文件。
  • load-on-startup:优先加载
  • servlet-mapping:配置。
<servlet>
<servlet-name>mvc</servlet-name>
<!-- DispatcherServlet SpringMVC框架的核心,由它来控制进行分发任务 -->
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<init-param>
<!-- SpringMVC的上下文配置文件 -->
<param-name>contextConfigLocation</param-name>
<param-value>classpath:servlet-mvc.xml</param-value>
</init-param>
<!-- 优先加载 -->
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>mvc</servlet-name>
<!-- /代表根路径,访问项目下的任何页面,都需要DispatcherServlet的允许,由它来分发请求 -->
<url-pattern>/</url-pattern>
</servlet-mapping>

3.配置servlet-mvc.xml。

首先要写入相关的

xmlns:mvc=”http://www.springframework.org/schema/mvc”

然后将网站连接也写入。

    http://www.springframework.org/schema/mvc
http://www.springframework.org/schema/mvc/spring-mvc.xsd

第三步, 配置springmvc自动扫描的包。

第四步:设置视图解析器

<?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"
xmlns:mvc="http://www.springframework.org/schema/mvc"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans.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.xsd"> <!-- 配置springmvc自动扫描的包 -->
<context:component-scan base-package="com.jredu.controller">
<!-- 可以配置过滤不需要的文件或需要的文件 -->
</context:component-scan>
<!-- 设置视图解析器 -->
<bean
class="org.springframework.web.servlet.view.InternalResourceViewResolver"
p:prefix="/WEB-INF/pages/"
p:suffix=".jsp"
/>
</beans>

4.编写测试

附上一个测试类源码:

package com.jredu.controller;

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping; @Controller
@RequestMapping("/hello")
public class HelloController { @RequestMapping("/hello1.action")
public String hello1(){
return "hello";
} }

5.在WEB-INF创建一个pages文件夹,然后编写一个jsp页面(显示)。

将项目添加至Tomcat之中,然后浏览器访问。

访问地址“““““`/SpringMVC/hello/hello1.action


Spring MVC地址映射

注解:

@Controller :

负责注册一个bean到spring上下文中,用于定义控制器类。

@RequestMapping:

用于映射请求,为控制器指定可以处理那些URL请求。

类定义处:提供初步的请求映射信息,相对于WEB应用的根目录。

方发出:提供进一步的细分映射信息,相对于类定义处的URL。

@RequestMapping

还可以使用请求方法、请求参数及请求头映射请求的映射条件,他们之间的是与的关系。

它的相关参数:

Value:请求URL。

Method:请求方法。method:限制访问的方式(GET,POST)

Headers:请求头

Params:请求参数

@RequestMapping(value="/hello3.action",params="uname")
public String hello3(){
return "hello";
}
//通过网页访问必须?uname=***
//http://localhost:8081/SpringMVC/hello/hello3.action?uname=12345

引用块内容

@RequestMapping 支持ant风格进行URL映射。

Ant支持3种匹配符

  • ?:匹配文件中的一个字符
  • *:匹配文件名中的任意字符
  • **:匹配多层路径

Ant:url的匹配可以使模糊匹配。

*代表任意一个或多个

  • 支持占位符URL映射
  • 通过@PathVariable可以将URL中占位符参数
  • 绑定搭配控制器的处理方法中的参数中。

Spring MVC——基础(简介,使用,地址映射)的更多相关文章

  1. Spring MVC 基础

    Spring MVC 基础 1.Web MVC基础 MVC的本质是表现层模式,我们以视图模型为中心,将视图和控制器分离出来.就如同分层模式一样,我们以业务逻辑为中心,把表现层和数据访问层代码分离出来是 ...

  2. Spring MVC+FreeMarker简介

    最近做项目,刚接触到SpringMVC与FreeMarker框架,就简单介绍一下自己的理解,不正确的地方请大家指教!! 1.Spring MVC工作原理: 用户发送请求--->前端服务器去找相对 ...

  3. Spring MVC基础入门

    Spring MVC简介 Spring Web MVC是一种基于Java的实现了Web MVC设计模式的请求驱动类型的轻量级Web框架,即使用了MVC架构模式的思想,将web层进行职责解耦,基于请求驱 ...

  4. Spring MVC基础

    1.Web MVC基础 MVC的本质是表现层模式,我们以视图模型为中心,将视图和控制器分离出来.就如同分层模式一样,我们以业务逻辑为中心,把表现层和数据访问层代码分离出来是一样的方法.框架只能在技术层 ...

  5. Spring MVC基础知识整理➣环境搭建和Hello World

    概述 Spring MVC属于SpringFrameWork的产品,采用Model-View-Controller进行数据交互,已经融合在Spring Web Flow里面.Spring 框架提供了构 ...

  6. Java Web系列:Spring MVC基础

    1.Web MVC基础 MVC的本质是表现层模式,我们以视图模型为中心,将视图和控制器分离出来.就如同分层模式一样,我们以业务逻辑为中心,把表现层和数据访问层代码分离出来是一样的方法.框架只能在技术层 ...

  7. Spring MVC基础了解

    参考网址:https://www.yiibai.com/spring_mvc/springmvc_overview.html Spring框架相关 Spring Security 一个灵活强大的身份验 ...

  8. spring mvc基础配置

    web.xml 配置: <servlet> <servlet-name>dispatcher</servlet-name> <servlet-class> ...

  9. Spring MVC 基础注解之@RequestMapping、@Controller、(二)

    我现在学的是spring4.2 今天主要学习了Spring MVC注解 引入注解可以减少我们的代码量,优化我们的代码. @Controller:用于标识是处理器类: @RequestMapping:请 ...

随机推荐

  1. java函数方法学习

    1.函数(方法)定义 类中特定功能小程序 2.函数定义格式 修饰符 返回值类型 函数名 (参数类型 形式参数) { 执行语句; return 返回值 } 函数功能实现的2个明确 1.这个功能的结果是什 ...

  2. Ajax 详解及CORS

    Ajax 是什么? Ajax 即"Asynchronous Javascript And XML"(异步 JavaScript 和 XML)是指一种创建交互式网页应用的网页开发技术 ...

  3. hadoop大数据组件启动

    1.1.启动集群 sbin/start-dfs.sh注:这个启动脚本是通过ssh对多个节点的namenode.datanode.journalnode以及zkfc进程进行批量启动的. 1.2.启动Na ...

  4. centos7下mysql安装与卸载

    彻底卸载mysql 一.chak 是否有安装mysql a)      rpm -qa | grep -i mysql // 查看命令1 b)      yum list install mysql* ...

  5. ES6 for of循环, 可迭代接口,实现可迭代接口

    在for of循环出现之前,for循环适合遍历普通的数组,for in循环比较适合遍历键值对,遍历数组对象的foreach方法,但是这些遍历 都有一定的局限性,所以在ES6之后引入了统一的遍历方式 f ...

  6. Spark学习进度7-综合案例

    综合案例 文件排序 解法: 1.读取数据 2.数据清洗,变换数据格式 3.从新分区成一个分区 4.按照key排序,返还带有位次的元组 5.输出 @Test def filesort(): Unit = ...

  7. 7.shell脚本编程

    1.shell 脚本语言的基本用法 1.1shell 脚本创建 1.格式要求:首行shebang机制 #!/bin/bash #!/usr/bin/python #!/usr/bin/perl 2.添 ...

  8. 计算机考研复试真题 abc

    题目描述 设a.b.c均是0到9之间的数字,abc.bcc是两个三位数,且有:abc+bcc=532.求满足条件的所有a.b.c的值. 输入描述: 题目没有任何输入. 输出描述: 请输出所有满足题目条 ...

  9. 【Oracle】用sqlplus登录的各种方式

    1.本地登录 sqlplus / as sysdba 2.账号密码登录 sqlplus user/passwd 3.选择实例登录 sqlplus user/passwd@实例名   例如 sqlplu ...

  10. C#中foreach的实现原理

    C#中foreach的实现原理 在探讨foreach如何内部如何实现这个问题之前,我们需要理解两个C#里边的接口,IEnumerable 与 IEnumerator. 在C#里边的遍历集合时用到的相关 ...