Spring MVC——基础(简介,使用,地址映射)
“大佬们”嘴中的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的使用步骤要记清楚,避免犯一些低级的错误。
- 添加jar包
- 在web.xml中配置dispatatcgerServlet
- 添加Spring MVC配置文件
- 编写请求处理器
- 编写视图
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——基础(简介,使用,地址映射)的更多相关文章
- Spring MVC 基础
Spring MVC 基础 1.Web MVC基础 MVC的本质是表现层模式,我们以视图模型为中心,将视图和控制器分离出来.就如同分层模式一样,我们以业务逻辑为中心,把表现层和数据访问层代码分离出来是 ...
- Spring MVC+FreeMarker简介
最近做项目,刚接触到SpringMVC与FreeMarker框架,就简单介绍一下自己的理解,不正确的地方请大家指教!! 1.Spring MVC工作原理: 用户发送请求--->前端服务器去找相对 ...
- Spring MVC基础入门
Spring MVC简介 Spring Web MVC是一种基于Java的实现了Web MVC设计模式的请求驱动类型的轻量级Web框架,即使用了MVC架构模式的思想,将web层进行职责解耦,基于请求驱 ...
- Spring MVC基础
1.Web MVC基础 MVC的本质是表现层模式,我们以视图模型为中心,将视图和控制器分离出来.就如同分层模式一样,我们以业务逻辑为中心,把表现层和数据访问层代码分离出来是一样的方法.框架只能在技术层 ...
- Spring MVC基础知识整理➣环境搭建和Hello World
概述 Spring MVC属于SpringFrameWork的产品,采用Model-View-Controller进行数据交互,已经融合在Spring Web Flow里面.Spring 框架提供了构 ...
- Java Web系列:Spring MVC基础
1.Web MVC基础 MVC的本质是表现层模式,我们以视图模型为中心,将视图和控制器分离出来.就如同分层模式一样,我们以业务逻辑为中心,把表现层和数据访问层代码分离出来是一样的方法.框架只能在技术层 ...
- Spring MVC基础了解
参考网址:https://www.yiibai.com/spring_mvc/springmvc_overview.html Spring框架相关 Spring Security 一个灵活强大的身份验 ...
- spring mvc基础配置
web.xml 配置: <servlet> <servlet-name>dispatcher</servlet-name> <servlet-class> ...
- Spring MVC 基础注解之@RequestMapping、@Controller、(二)
我现在学的是spring4.2 今天主要学习了Spring MVC注解 引入注解可以减少我们的代码量,优化我们的代码. @Controller:用于标识是处理器类: @RequestMapping:请 ...
随机推荐
- java函数方法学习
1.函数(方法)定义 类中特定功能小程序 2.函数定义格式 修饰符 返回值类型 函数名 (参数类型 形式参数) { 执行语句; return 返回值 } 函数功能实现的2个明确 1.这个功能的结果是什 ...
- Ajax 详解及CORS
Ajax 是什么? Ajax 即"Asynchronous Javascript And XML"(异步 JavaScript 和 XML)是指一种创建交互式网页应用的网页开发技术 ...
- hadoop大数据组件启动
1.1.启动集群 sbin/start-dfs.sh注:这个启动脚本是通过ssh对多个节点的namenode.datanode.journalnode以及zkfc进程进行批量启动的. 1.2.启动Na ...
- centos7下mysql安装与卸载
彻底卸载mysql 一.chak 是否有安装mysql a) rpm -qa | grep -i mysql // 查看命令1 b) yum list install mysql* ...
- ES6 for of循环, 可迭代接口,实现可迭代接口
在for of循环出现之前,for循环适合遍历普通的数组,for in循环比较适合遍历键值对,遍历数组对象的foreach方法,但是这些遍历 都有一定的局限性,所以在ES6之后引入了统一的遍历方式 f ...
- Spark学习进度7-综合案例
综合案例 文件排序 解法: 1.读取数据 2.数据清洗,变换数据格式 3.从新分区成一个分区 4.按照key排序,返还带有位次的元组 5.输出 @Test def filesort(): Unit = ...
- 7.shell脚本编程
1.shell 脚本语言的基本用法 1.1shell 脚本创建 1.格式要求:首行shebang机制 #!/bin/bash #!/usr/bin/python #!/usr/bin/perl 2.添 ...
- 计算机考研复试真题 abc
题目描述 设a.b.c均是0到9之间的数字,abc.bcc是两个三位数,且有:abc+bcc=532.求满足条件的所有a.b.c的值. 输入描述: 题目没有任何输入. 输出描述: 请输出所有满足题目条 ...
- 【Oracle】用sqlplus登录的各种方式
1.本地登录 sqlplus / as sysdba 2.账号密码登录 sqlplus user/passwd 3.选择实例登录 sqlplus user/passwd@实例名 例如 sqlplu ...
- C#中foreach的实现原理
C#中foreach的实现原理 在探讨foreach如何内部如何实现这个问题之前,我们需要理解两个C#里边的接口,IEnumerable 与 IEnumerator. 在C#里边的遍历集合时用到的相关 ...