Springmvc注解

凯哥Java 2019-12-21

在springmvc.xml里面自己配置类型转换器

//conversionServiceFactoryBean,这里只是注册了一个服务或者说配置了一个组件(和类里面类型转换的类还没有关系)

<bean id="XXX" class="org.springframework.context.support.conversionServiceFactoryBean">

<property name="converters">//这个类是conversionServiceFactoryBean自带的方法

  <set>

    <bean class="类的全路径传过来"/>//自己写的代码类的全路径传过来,传过来之后才可以与上面的类建立关系

  </set>

<!--开启springmvc框架注解的支持-->

<mvc:annotation-driven conversion-service:"conversionService"/>//在这里会把适配器,处理器,映射器,组件都失效,但是自定义的类型转换未生效

Servlet原生的API

<a href="param|testservlet">原生API获取</a>

RequestParam注解:

/*常用的注解@RequestParam(name="name")在这里表示的意思是JAVA的jsp页面<a href="ano|test?username=哈哈">XXX</a>的方法参数"name"传给String username*/

public String testRequestParam(@RequestParam(name="name")String username){

sout("执行了。。。");

sout(username);

return "success";

}

/*RequestBody用于获取请求内容。直接使用得到的是key=value&key=value...结构的数据,get请求方式不适用(请求参数封装到地址栏上,只有post提交才有请求体上面的

内容,不能写超链接,要写表单*/

/*获取请求体的内容*/

@RequestMapping("/testRequestBody")

//如果不加误以为String类型参数加上后是整个请求体内容)

public String testRequestBody(@RequestBody String body){}

JSP页面有

<form action="anno/testRequestBody" method="post">

用户姓名:<input type="text" name="username"/><br/>

用户年龄:<input type="text"  age="age"/><br/>

<input type="submit" value="提交"/>

</form>

PathVarible注解

作用:用于绑定url中的占位符例如:请求url中/delete/{id},这个{id}就是url占位符

url支持占位符是Spring 3.0之后加入的,是Springmvc支持rost风格URL的一个重要标志

/*PathVariable注解*/

@RequestMapping(value="/testPathvariable/{sid}",method=RequestMethod.POST)

注意:火狐的RESTer插件可以模拟多个方法,Post,get,put

RequestHeader作用:用于获取请求消息头

/*获取请求头的值*/

@RequestMapping(value="/testRequestHeader")

String testRequestHeader(@RequestHeader(Value="Accept")String Header){

sout("执行了。。。");

return "success";}}

CookieValue注解,作用:用于获取指定Cookie的名称

ModelAuttbute

作用:用于修饰方法和参数,出现该方法,表示当前方法会在控制器的方法执行之前先执行。他可以修饰没有返回值的方法,也可以修饰有具有返回值的方法

应用场景:表单提交数据不是完整的实体类数据时,保证没有提交数据的字段使用数据库对象原来的数据 

相关推荐