SpringMVC案例三:使用注解驱动来配置控制器

SpringMVC案例三:使用注解驱动来配置控制器

  1. 在springmvc.xml中context、mvc命名空间
  2. 添加组件扫描
<context:component-scan base-package="com.yy.controller"></context:component-scan>
  1. 添加注解驱动支持
<mvc:annotation-driven></mvc:annotation-driven>
  1. 创建类,并在其上添加@Controller注解
@Controller
public class TestController {
}

1)@Controller注解表明这个类是一个控制器类,这个类是@Component注解的一种具体化,也就是说context:component-scan将查找使用@component注解的类并将其注册为Bean,
2)注解@Controller指明一个特定的类承担控制器的职责, 而不用扩展任何控制器基类或者引用Servlet API的必要

  1. 添加请求处理方法
@RequestMapping(value="login",method= {RequestMethod.POST,RequestMethod.GET})
public String login(User user,Model model) {
	String result = "redirect:/login.jsp";
	if("admin".equals(user.getUsername()) && "111".equals(user.getPassword())) {
		model.addAttribute("username", user.getUsername());
		result = "main";
	}
	System.out.println(user);
	return result;
}

@RequestMapping映射请求
1)作用:spring mvc 使用@RequestMapping注解为控制器指定可以处理那些URL请求
2)使用位置:在控制器的类定义及方法定义处都可标注
a)类定义处:提供初步的请求映射信息。相对于WEB应用的根目录
b)方法处:提供进一步的细分映射信息。相对于类定义处的URL。若类定义处未标注@RequestMapping,则方法处标记的URL相对于WEB应用的根目录
c)属性:
i)value, method;
value: 指定请求的实际地址,指定的地址可以是URI Template 模式(后面将会说明);
method: 指定请求的method类型, GET、POST、PUT、DELETE等;
ii) consumes,produces;
consumes: 指定处理请求的提交内容类型(Content-Type),例如application/json, text/html;
produces: 指定返回的内容类型,仅当request请求头中的(Accept)类型中包含该指定类型才返回;
iii)params,headers;
params: 指定request中必须包含某些参数值是,才让该方法处理。
headers: 指定request中必须包含某些指定的header值,才能让该方法处理请求。
例子:
@RequestMapping(value = “/pets/{petId}”, method = RequestMethod.GET, params=“myParam=myValue”)

参数绑定过程
1.从客户端请求key/value数据,经过参数绑定,将key/value数据绑定到controller方法的形参上

返回字符串
1)表示返回逻辑视图名
如:return “main”;//通过视图解析器,将逻辑视图名转为实际视图名=前缀+逻辑视图名+后缀
2)redirect重定向(视图解析器对重定向没有影响)
如:return “redirect:login.action”;
3)forward页面转发
如: return “forward:login.action”;

  1. 配置逻辑视图解析器
<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
	<property name="prefix" value="/WEB-INF/jsp/"></property>
	<property name="suffix" value=".jsp"></property>
</bean>	
  1. 添加jsp页面
    1)在“/WEB-INF/jsp/”下添加main.jsp
    2)在网站根目录下添加“login.jsp”
  2. 测试
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值