SpringMVC注解
来源:互联网 发布:notepad linux 编辑:程序博客网 时间:2024/04/28 18:40
一、SpringMVC以注解为主
1.开启SpringMVC框架的注解支持<mvc:annotation-driven/>
2. 定义静态资源包,这种请求则不会通过HandleMapping,直接去包中获取
<mvc:resourceslocation="/static/" mapping="/static/**"/>
3.开启自动扫描,并且只扫描web层的组件
<context:component-scanbase-package="com.lovo">
<!-- spring框架所提供的两大过滤器-->
<!-- 除了有annotation,还有这么几个过滤器assignable(类名),regex,aspectj-->
<context:include-filter type="annotation"
expression="org.springframework.stereotype.Controller"/>
<context:exclude-filter type="annotation"
expression="org.springframework.stereotype.Service"/>
<context:exclude-filter type="annotation"
expression="org.springframework.stereotype.Repository"/>
</context:component-scan>
spring3.1之后的版本无需配置HandleMapping,只要开启注解支持,默认使用DefaultAnnotationHandleMapping
4.开启视图解析器
<!-- 视图解析器(ViewResolver) -->
<beanid="urlBasedViewResolver"
class="org.springframework.web.servlet.view.UrlBasedViewResolver">
<!-- 如果你的页面中使用到了JSTL技术的话,那么需要指定JstlView这个类来解析 -->
<property name="viewClass"
value="org.springframework.web.servlet.view.JstlView"></property>
<property name="prefix"value="/"></property> <!-- //usermag/userlist.jsp -->
<property name="suffix"value=".jsp"></property>
</bean>
5.SpringMVC注解
A.使用@controller将某JAVA类标记成一个表现层组件,该JAVA类无需继承或实现任何JAVA类或接口
B.使用@RequestMapping完成请求与处理该请求的方法之间的映射关系
method用于指定该方法可以处理请求方法类型,如果不满足,将抛出:HTTP Status 405 - Request method 'GET' not supported
params用于指定参数过滤,如果不满足,将抛出:HTTPStatus 400
(1)@RequestMapping(value="/toLogin",params="flag")
代表请求中必须要有名为flag的提交项
(2)@RequestMapping(value="/toLogin",params="!flag")
代表请求中不能有名为flag的提交项
(3)@RequestMapping(value="/toLogin",params="flag=hello")
代表请求中必须有名为flag的提交项,且值为hello
(4)@RequestMapping(value="/toLogin",params="flag!=hello")
代表请求中如果有名为flag的提交项,其值不能为hello
(5)@RequestMapping(value="/toLogin",params={"flag1","flag2=hello"})
代表请求中必须有名为flag1的提交项,同时必须有名为flag2的提交项,且flag2的值必须为hello
Value必填属性代表请求路径,模糊配置
(1)@RequestMapping(value=“/users/**”)
匹配“/users/abc/abc”;
(2)@RequestMapping(value="/product?")
匹配“/product1”或“/producta”,但不匹配“/product”或“/productaa”;
(3)@RequestMapping(value="/product*")
匹配“/productabc”或“/product”,但不匹配“/productabc/abc”;
(4)@RequestMapping(value="/product/*")
匹配“/product/abc”,但不匹配“/productabc”;
(5)@RequestMapping(value={"/test1", "/create"})
6.提交方式
A. 作用域对象(个数和顺序都可以自己定义)
B.表单提交项
@RequestParam("username")Stringname,
@RequestParam("password")Stringpwd)
C.表单数据封装的Bean对象(要求对象的属性名必须要与提交项名称一致)
D. Map作为参数类型(向Map设值,等同于向Request设值)
E. @CookieValue 作为参数,通常用于获取来自于浏览器的Cookie信息
F.通常如果需要获取一些浏览器相关信息的时候,就可以使用@RequestHeader
G. Rest架构风格的提交,路径中的{id}、{name}、{sex}代表占位符,需要使用@PathVariable从路径中获取,也可以将多个参数项直接封装成Bean对象,要求对象中属性名与占位符一致
H. PrintWriter 通常与Ajax配合使用,返回类型一般是void
7.请求转发,重定向
请求转发return "forward:/params/three"
重定向redirect:/params/three
- springMVC注解
- springMVC注解
- SpringMVC注解
- Springmvc注解
- SpringMVC注解
- springMVC注解
- springmvc注解
- SpringMVC注解
- springmvc注解
- Springmvc注解
- SpringMVC 注解
- springMVC注解
- SpringMVC注解
- SpringMVC 注解
- springmvc注解
- SpringMVC 注解
- SpringMVC注解
- springMVC 注解
- c++中的头文件(.h)和实现文件(.cpp)区别
- javascript中的继承详解
- 如何进行软件设计——不断迭代
- CentOS6.5安装nginx
- 搞了个音乐播放器
- SpringMVC注解
- POJ 3282 Ferry Loading IV 可能会
- poj 3349 Snowflake Snow Snowflakes (数字哈希)
- 图像插值----双线性插值完全解析
- 历届试题 兰顿蚂蚁
- eclipse通过DatabaseConnections连接本机数据库(SSH框架学习第一步)
- Ubuntu 下 使用 adb logcat 显示 Android 日志
- JS/CSS缓存杀手——VS插件
- HTTP必知必会——常见面试题总结