springmvc之Hello World及常用注解
博客已迁移到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及常用注解的更多相关文章
- Spring MVC入门(一)—— SpringMVC的执行流程与常用注解
一.什么是SpringMVC SpringMVC就是类似于Struts2的mvc框架,属于SpringFrameWork的后续产品.在模型层中与视图层的交互部分. springMVC执行流程: 二.常 ...
- SpringMVC学习笔记二:常用注解
转载请注明原文地址:http://www.cnblogs.com/ygj0930/p/6831976.html 参考:http://www.cnblogs.com/leskang/p/5445698 ...
- SpringMVC常用注解實例詳解3:@ResponseBody
我的開發環境框架: springmvc+spring+freemarker開發工具: springsource-tool-suite-2.9.0JDK版本: 1.6.0_29tomcat ...
- SpringMVC常用注解實例詳解2:@ModelAttribute
我的開發環境框架: springmvc+spring+freemarker開發工具: springsource-tool-suite-2.9.0JDK版本: 1.6.0_29tomcat ...
- springmvc常用注解与类型转换
springmvc常用注解与类型转换 一:前置 spring -servlet.xml 注入 <!-- 启用spring mvc 注解 --> <context:annotation ...
- SpringMVC常用注解,返回方式,路径匹配形式,验证
常用注解元素 @Controller 标注在Bean的类定义处 @RequestMapping 真正让Bean具备 Spring MVC Controller 功能的是 @RequestMapping ...
- SpringMVC 常用注解
本文参考了博客,具体请见:http://www.cnblogs.com/leskang/p/5445698.html Spring MVC的常用注解 1.@Controller @Controller ...
- SpringMVC常用注解@Controller,@Service,@repository,@Component
SpringMVC常用注解@Controller,@Service,@repository,@Component controller层使用@controller注解 @Controller 用于标记 ...
- springmvc学习笔记(常用注解)
springmvc学习笔记(常用注解) 1. @Controller @Controller注解用于表示一个类的实例是页面控制器(后面都将称为控制器). 使用@Controller注解定义的控制器有如 ...
随机推荐
- vmware克隆Centos网卡修改方法
vmware克隆Centos网卡修改方法 1,查看网卡信息,获得eth编号和MAC地址 # dmesg | grep eth e1000 0000:02:00.0:eth0:(PCI:66MHz:3 ...
- Spring入门第二十七课
声明式事务 直接上代码: db.properties jdbc.user=root jdbc.password=logan123 jdbc.driverClass=com.mysql.jdbc.Dri ...
- boost编译BUG
linux GCC环境,boost在编译时未加-fPIC参数,导致如果有共享库使用boost静态库,会报如下错误:relocation R_X86_64_32 against `a local sym ...
- MySQL(进阶)
视图 视图是一个虚拟表(非真实存在),其本质是[根据SQL语句获取动态的数据集,并为其命名],用户使用时只需使用[名称]即可获取结果集,并可以将其当作表来使用. SELECT * FROM ( SEL ...
- .net 前端传值和后端接收的几种方式
第一种:GET传参(常用): get传参方式就是链接?后写上参数和数据用&拼接. 第二种:POST传参(常用): 这种传参方式可以GET POST同时传,在链接上加参数后台用get方式接收,P ...
- poj 1655 Balancing Act(找树的重心)
Balancing Act POJ - 1655 题意:给定一棵树,求树的重心的编号以及重心删除后得到的最大子树的节点个数size,如果size相同就选取编号最小的. /* 找树的重心可以用树形dp或 ...
- 一起来造一个RxJava,揭秘RxJava的实现原理
一类创业者基本都是做传统行业的,这类创业者非常大胆,也非常舍得投入.很多时候他们如果看到或者想到一个商机,就会投入成千上百万,先把产品做出来,然后再去想怎么开拓市场. 这类传统行业的老板,问我最多的问 ...
- windows系统下python2.7.14版本的安装
[前言] 本文主要对window下如何安装Python进行图解说明. [正文] 步骤一 从官网下载相应的版本(本文以2.7.14为例),下载地址:https://www.python.org/down ...
- Mysql实例参数优化15个主要参数讲解(原创)
1.innodb_buffer_pool_size 设置物理内存的60%-80%,反应IO吞吐的最大上限2.innodb_thread_concurrency 线程并发,设置为CPU核心数,如果等于0 ...
- UIDevice的简易说明
typedef NS_ENUM(NSInteger, UIDeviceOrientation) //设备方向 { UIDeviceOrientationUnknown, UIDeviceOrienta ...