springMVC学习1

SpringMVC 概述

  • Spring为展现层提供的基于MVC设计理念的优秀的Web框架,是目前最主流的MVC框架之一。

  • Spring3.0后全面超越Struts2,成为最优秀的MVC框架

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

  • 支持REST风格的URL请求

  • 采用了松散耦合可插拔组件结构,比其他MVC框架更具扩展性和灵活性。

项目搭建及配置过程看之前的博客servlet及springMVC项目搭建
链接:

https://lizhongzhen11.github.io/2017/09/19/Servlet/
https://lizhongzhen11.github.io/2017/09/14/springMVC/

觉得之前的配置仅仅是根据网上步骤来的,有的文字描述的我都不大理解,这次跟着尚硅谷的视频教程再来一遍,毕竟视频讲解的话想对通俗易懂点,正好复习巩固下,避免遗忘

使用@RequestMapping映射请求

1.除了修饰方法,还可以修饰类

2.

  • 类定义处:提供初步请求映射信息,相对于WEB应用的根目录
  • 方发处:提供进一步的分映射信息。相对于类定义处的URL。若类定义处未标注@RequestMapping,则方法处标记的URL相对于WEB应用的根目录

3.DispatcherServlet截获请求后,就通过控制器上的@RequestMapping提供的映射信息确定请求所对应的处理方法。

示例:

1
2
3
4
5
6
7
8
9
10
@RequestMapping("/springmvc")
@Controller
public class Test {
private static final String SUCCESS = "success";
@RequestMapping("/test")
public String test() {
System.out.println("test");
return SUCCESS;
}
}

4.@RequestMapping除了可以使用请求URL映射请求外,还可以使用请求方法、请求参数及请求头映射请求。

@RequestMapping的value、method、params及heads分别表示请求URL、请求方法、请求参数及请求头的映射条件,他们之间是的关系,联合使用多个条件可以让请求映射更加精确化。

新增的代码:

1
2
3
4
@RequestMapping(value="/test1", method=RequestMethod.POST)
public String test1() {
return SUCCESS;
}

params和heads支持简单的表达式(加了s说明可以同时有多个参数):

  • param1:表示请求必须包含名为param1的请求参数
  • !param1:表示请求不能包含名为param1的请求参数
  • param1 != value1:表示请求包含名为param1的请求参数,但是值不能为value1
  • {“param1=value1”, “param2”}:表示请求必须包含名为param1和param2的请求参数,并且param1参数的值必须为value1

新增的代码:

1
2
3
4
5
@RequestMapping(value="/test2", params={"username=1"})
public String test2() {
System.out.println("test2");
return SUCCESS;
}

5.Ant风格资源地址支持3种匹配符:

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

@RequestMapping还支持Ant风格的URL:

  • /user/*/createUser:
    匹配/user/aaa/createUser、/user/bbb/createUser等URL
  • /user/**/createUser:
    匹配/user/createUser、/user/aaa/bbb/createUser等URL
  • /user/createUser??:
    匹配/user/createUseraa、/user/createUserbb等URL
Newer Post

Spring4.0学习1

一、Spring是什么?1.Spring 是一个开源框架。Spring 为简化企业级应用开发而生. 使用 Spring 可以使简单的 JavaBean 实现以前只有 EJB 才能实现的功能. Spring 是一个 IOC(DI) 和 AOP 容器框架. 具体描述: 轻量级:Spring 是非侵 …

继续阅读
Older Post

JSP初学3

JSP指令JSP指令的基本语法格式:<%@ 指令 属性名="值" %>举例:<%@ page contentType="text/html;charset=gb2312"%>注意:属性名部分是大小写敏感的 在目前的JSP 2.0中,定义 …

继续阅读