Spring、SpringMVC注解整合

Spring

<context:component-scan base-package="com.qwzhao.book"></context:component-scan>
@Component
@Repository
@Service
@Controller
@Aspect

需添加com.springsource.org.aspectj.weaver-1.7.2.RELEASE.jar

<aop:aspectj-autoproxy></aop:aspectj-autoproxy>
@Before
@After
@AfterReturning
@AfterThrowing
@Around//不常用
@Pointcut("")
@Order

给切面日志输出顺序排序

@Test
@Transaction
<tx:annotation-driven transaction-manager="dataSourceTransactionManager"/>

SpringMVC

@RequestMapping("/** **")可以添加到方法上,也可以添加到类上
@RequestMapping("/springmvc")
@Controller
public class Demo{
	@RequestMapping("/testRequestMapping")
	public void testRequestMapping(){
		System.out.pringln("testRequestMapping");
	}
}
- 常用属性:
	 - value				value="/...."
	 - method				常用RequestMethod.POST		or		RequestMethod.Get
	 - params				params={"username","id!=1"} 参数限制 可以多个
	 - headers			headers={Accept-Language=zh-CN,zh;q=0.8} 设置(限制)请求头用,不常用
ANT风格URL
	 - @RequestMapping("test/*/add")
@PathVariable
@RequestMapping("/test/{id}")
puhblic int myProject(@PathVariable("id") int i){
System.out.pringln(i);
return "success"
}

映射URL绑定的占位符

REST:Representational State Transfer

通过HiddenHttpMethodFilter:浏览器form表单只支持GET于POST请求,而DELETE、PUT等method并不支持,Spring3.0添加了一个过滤器,可以将这些请求转为标准的http方法,使得支持GET、POST、PUT、DELETE请求

    <filter>
        <filter-name>HiddenHttpMethodFilter</filter-name>
        <filter-class>org.springframework.web.filter.HiddenHttpMethodFilter</filter-class>
    </filter>
    <filter-mapping>
        <filter-name>HiddenHttpMethodFilter</filter-name>
        <url-pattern>/*不是注释,此处应写斜杠和星*/</url-pattern>
    </filter-mapping>


	 (需添加到servlet之前)

页面:

<br/><br/>
  <form action="testRestDelete/1" method="post">
    <input type="hidden" name="_method" value="delete">
    <input type="submit" value="Test REST Delete">
  </form>
  <br/><br/>
  <form action="testRestPut/1" method="post">
    <input type="hidden" name="_method" value="put">
    <input type="submit" value="Test REST Put">
  </form>

注意:<input type="hidden" name="_method" value="put or delete">

此处有个问题尚未解决:get post可以正常使用,但是DELETE和PUT总提示:
在这里插入图片描述
该问题尚未解决

@RequestParam
@RequestMapping("/testRequestParam")
public void testRequestParam(@RequestParam(value="username",required=false,defaultValue=0) String name){
System.out.println("测试名字:"+name);
}

对应的HTML:

< input type="text" name="username" />
-属性参数:
 - required=false 表示此参数可以不是必须的
 - defaultValue 给该参数赋予默认值

映射Controller方法参数,使其与页面中name参数值一致

@RequestHeader
@RequestMapping("/testRequestHeader")
public void testRequestHeader(@RequestHeader(value="Accept",required=false,defaultValue=0) String al){
System.out.println("testRequestHeader,Accept-Language:"+al);
}

用法同RequestParam,映射请求头信息

@CookieValue
@RequestMapping("/testCookieValue")
public String testCookieValue(@CookieValue(value="JSESSIONID",required=false,defaultValue=0) String sessionId){
System.out.println("sessionId:"+sessionId);
return "success";
}

绑定请求中的Cookie值,属性同RequestParam

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值