“大佬们”嘴中的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. Kubernetes官方java客户端之四:内部应用

    欢迎访问我的GitHub https://github.com/zq2599/blog_demos 内容:所有原创文章分类汇总及配套源码,涉及Java.Docker.Kubernetes.DevOPS ...

  2. git基础-撤销操作

    ---恢复内容开始--- 撤销操作 在任何阶段,你都有可能想要撤销某些操作. 当我们提交完了代码,发现漏掉了几个文件没有添加,后者提交信息写错了,此时,可以运行--amend选项的提交命令尝试重新提交 ...

  3. collection常用功能:

    collection常用功能: Collection是所有单列集合的父接口,因此在collection中定义了单列集合(List)和(Set)通用的一些方法.这些方法可用于操作所有的单列集合,方法如下 ...

  4. Docker-ce Centos8 笔记一:安装Docker-ce

    Docker是一个建设企业及数据中心服务仓库的进程,通过裸金属机和虚拟机承载的MAC.windows和linux系统提供本地和远程软件服务,涉及应用软件镜像.系统镜像.虚拟化仓库(虚拟机).它承载着灵 ...

  5. 【Azure Developer】使用Postman获取Azure AD中注册应用程序的授权Token,及为Azure REST API设置Authorization

    Azure Active Directory (Azure AD) is Microsoft's cloud-based identity and access management service, ...

  6. Macbook 安装Windows的完美教程

    [原文](http://www.melodydance.top/mac-win.html) 1. 背景 Windows相对于Mac市场占有率更高,对很多人来说Windows使用起来更方便,以至于很多人 ...

  7. LeetCode1337矩阵中最弱的K行

    题目 给你一个大小为 m * n 的矩阵 mat,矩阵由若干军人和平民组成,分别用 1 和 0 表示. 请你返回矩阵中战斗力最弱的 k 行的索引,按从最弱到最强排序. 如果第 i 行的军人数量少于第 ...

  8. Linux 安装JDK配置环境(rpm安装和压缩版安装)

    jdk安装 (rpm安装) jdk下载地址: https://www.oracle.com/cn/java/technologies/javase/javase-jdk8-downloads.html ...

  9. (十八)configparser模块

    configparser模块一般是用来处理配置文件的,如: [DEFAULT] ServerAliveInterval = 45 Compression = yes CompressionLevel ...

  10. 远程部署项目,修改catalina.bat文件 完美解决在代理服务器上HttpURLConnection 调接口超时的问题

    远程给客户部署项目,运行时程序调外部接口时总是出不去,经过不懈努力,后来发现客户那边的网络走的是代理,于是在代码中加下面代码: //设置代理 System.setProperty("http ...