博客已迁移到CSDN《https://blog.csdn.net/qq_33375499

步骤:

  • 加入jar包
  • 在web.xml 中配置DispacherServlet
  • 加入SpringMVC 配置文件springmvc.xml
  • 编写请求处理器(action/controller)
  • 编写视图

在web.xml 中配置DispatcherServlet

<!-- 配置DispatcherServlet -->
<servlet>
<servlet-name>springDispatcherServlet</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet></servlet-class>
<!-- 配置DispatcherServlet的一个初始化参数:配置springmvc文件的名称和位置 -->
<init-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath:springmvc.xml</param-value>
</init-param>
<!-- 在当前应用被加载的时候创建 -->
<load-on-start>1</load-on-start>
</servlet>
<servlet-mapping>
<servlet-name>springDisPatcherServlet</servlet-name>
<!-- 应答所以请求 -->
<url-pattern>/*</url-pattern>
</servlet-mapping>

加入SpringMVC配置文件springmvc.xml

创建xml,选择beans/context/mvc

<!--启用spring的一些annotation -->
<context:annotation-config/> <!-- 配置注解驱动 可以将request参数与绑定到controller参数上 -->
<mvc:annotation-driven/> <!-- 静态资源默认servlet配置 -->
<mvc:default-servlet-handler/> <!-- 配置自动扫描的包:解析action(controller) -->
<context:component-scan base-package="com.xxx.xxx"></context:component-scan> <!-- 配置视图解析器: 如何把handler 方法返回的值解析成实习的物理视图 -->
<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<!-- 前缀 -->
<property name="prefix" value="/WEB-INF/views"></property>
<!-- 后缀 -->
<property name="suffix" value=".jsp"></property>
</bean>

RequestMapping 注解

1.Spring MVC 使用@RequestMapping 注解为控制器指定可以处理那些URL请求

2.在控制器的类定义及方法定义出都可以标注

@RequestMapping

- 类定义出:提供初步的请求映射信息。相对于WEB应用的根目录
- 方法处:提供近异步的细分映射信息。相对于类定义处的URL。若类定义处未标注@RequestMapping,则方法标记的URL相对于WEB应用的跟目录

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

4.@RequestMapping 的value、method(POST,GET)、params{}及headers{"head=value1"}分别表示请求URL、请求方法、请求参数及请求头的映射条件。

5.params及headers支持简单的表达式

- param1:表示请求必须包含名为param1的请求参数
- !param1:表示请求不能包含名为param1的请求参数
- param1 != value1:表示请求包含名为param1的请求参数,但其值不能为value1
- {"param1=value1","param2"}:请求必须包含名为param1和param2的两个请求参数,且param1参数的值必须为value1

6.@RequestMapping 映射请求支持Ant 风格的URL

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

- ?:匹配文件名中的一个字符,如:/user/createUser??匹配/user/createUserAA等
- * :匹配文件名种的任意字符,如:/user/*/createUser匹配/user/aaa/createUser等
- **:匹配多层路径,如:/user/**/createUser匹配/user/createUser、/user/aaa/bbb/createUser等

7.@PathVariable 映射URL绑定的占位符

- 带占位符的RUL是Spring3.0 新增的功能,该功能在SpringMVC向 REST 目标挺进发展过程中具有里程碑的意义
- 通过@PathVariable 可以将URL中占位符参数绑定到控制处理方法的入参中:URL中的{xxx}占位符可以通过@PathVariable("xxx")绑定到操作方法的入参中
@RequestMapping("/deleteUser/{userid}")
public String deleteUser(@PathVariable("userid")Integer userid){
...
}

8.@CookieValue 注解:映射一个Cookie值

        @RequestMapping("/testCookieValue")
public String testCookieValue(@CookieValue("cookieKey")String cookieValue){
...
}

9.使用POJO对象绑定请求参数值

Spring MVC 会按请求参数名和POJO 属性名进行自动匹配,自动为该对象填充属性值。支持 级联属性(属性是一个对象,属性的属性)。如:dept.deptid/dept.address.tel等
@RequestMapping("/testPojo")
public String testPojo(User user){ // 前端提交表单
...
}

springmvc之Hello World及常用注解的更多相关文章

  1. Spring MVC入门(一)—— SpringMVC的执行流程与常用注解

    一.什么是SpringMVC SpringMVC就是类似于Struts2的mvc框架,属于SpringFrameWork的后续产品.在模型层中与视图层的交互部分. springMVC执行流程: 二.常 ...

  2. SpringMVC学习笔记二:常用注解

    转载请注明原文地址:http://www.cnblogs.com/ygj0930/p/6831976.html  参考:http://www.cnblogs.com/leskang/p/5445698 ...

  3. SpringMVC常用注解實例詳解3:@ResponseBody

    我的開發環境框架:        springmvc+spring+freemarker開發工具: springsource-tool-suite-2.9.0JDK版本: 1.6.0_29tomcat ...

  4. SpringMVC常用注解實例詳解2:@ModelAttribute

    我的開發環境框架:        springmvc+spring+freemarker開發工具: springsource-tool-suite-2.9.0JDK版本: 1.6.0_29tomcat ...

  5. springmvc常用注解与类型转换

    springmvc常用注解与类型转换 一:前置 spring -servlet.xml 注入 <!-- 启用spring mvc 注解 --> <context:annotation ...

  6. SpringMVC常用注解,返回方式,路径匹配形式,验证

    常用注解元素 @Controller 标注在Bean的类定义处 @RequestMapping 真正让Bean具备 Spring MVC Controller 功能的是 @RequestMapping ...

  7. SpringMVC 常用注解

    本文参考了博客,具体请见:http://www.cnblogs.com/leskang/p/5445698.html Spring MVC的常用注解 1.@Controller @Controller ...

  8. SpringMVC常用注解@Controller,@Service,@repository,@Component

    SpringMVC常用注解@Controller,@Service,@repository,@Component controller层使用@controller注解 @Controller 用于标记 ...

  9. springmvc学习笔记(常用注解)

    springmvc学习笔记(常用注解) 1. @Controller @Controller注解用于表示一个类的实例是页面控制器(后面都将称为控制器). 使用@Controller注解定义的控制器有如 ...

随机推荐

  1. mysql主从服务器复制操作

    master主机ip:192.168.1.19  用户名sunzy 密码123456slave主机ip:192.168.1.20 1.配置master1)接下来对master进行配置,包括打开二进制日 ...

  2. 阶段2-新手上路\项目-移动物体监控系统\Sprint3-移动监控主系统设计与开发

    移动图像监控系统 去找一些相关开源程序进行移植:百度搜索-linux 移动监控 motion是一套免费开源的移动图像监测程序 前面我们已经使用了很多开源软件,他们的使用方法都是大同小异的 1).先在当 ...

  3. jquery 选择器的总结

    元素选择 $("input") id选择 $('#id') class选择 $('.id') 属性选择 $('[prop]')或者$('[prop=“value1”]')或者$(' ...

  4. Umbraco Examine 实现Fuzzy search

    在Umbraco examine search项目开发中,有一个需求, 就是intercom 和 intercoms需要返回同样的结果 也就是说 搜索intercom 时, 能返回包含intercom ...

  5. jquery提供的数据提交方式1

    1,ajax提交,部分代码为easyui function editNode(id){ $.ajax({ dataType:'json', async:true, //默认的就是异步提交 type:' ...

  6. 7.31实习培训日志-docker sql

    docker mysql docker问题 今天问了老师有关docker的问题,entrypoint和cmd的区别,两者同时存在cmd的执行结果会被当做参数传入entrypoint. dockerfi ...

  7. HDU 5973 Game of Taking Stones (威佐夫博弈+高精度)

    题意:给定两堆石子,每个人可以从任意一堆拿任意个,也可以从两堆中拿相同的数量,问谁赢. 析:直接运用威佐夫博弈,floor(abs(a, b) * (sqrt(5)+1)/2) == min(a, b ...

  8. Java面向对象的三大特性 多态

    多态 对象的多种形态 继承是实现多态的基础 1,引用多态    父类的引用可以指向本类的对象    父类的引用可以指向子类的对象 2,方法多态    创建本类对象时,调用的方法为本类方法    创建子 ...

  9. CodeForces 104C【树特性】

    题意: 判断这副图是否满足根是一个环的缩点,然后其余点都是一个点,满足树特性. 思路: 一开始就像无向图缩点乱搞,然后实在太烦搞不下去.... 一副图是满足结点和边数量相等,且连通,则一定有一个环. ...

  10. bzoj 2827: 千山鸟飞绝

    2827: 千山鸟飞绝 Time Limit: 10 Sec  Memory Limit: 128 MBSubmit: 802  Solved: 228[Submit][Status][Discuss ...