使用
概念
将请求信息数据与后台方法参数建立链接的过程就是Spring MVC的数据绑定
Spring MVC 框架会通过数据绑定组件(DataBinder)将请求参数串的内容进行了类型转换,然后将转换后的值赋给控制器类中方法的形参。
插入图片描述
简单数据绑定:根据请求参数类型和个数不同
HttpServeletRequest:通过request对象获取请求信息请;
HttpServletResponse;通过response处理响应信息;
HttpSession:通过session对象得到session中存放的对象
Model/ModelMap:MOdel是一个接口,ModelMap是一个接口参数,作用是将model数据填充到request域中。
**
第一种:HttpServeletRequest:(绑定默认数据类型)
**
第一步
创建Web项目,并导入相关的jar包; (请参考作者写的Spring项目开发流程)
第二步在web.xml中配置Spring MVC的前端控制器等;
<!-- 拦截所有的请求,并且由他对所有的请求进行分配 -->
<!-- 前端控制器-->
<servlet>
<servlet-name>springmvc</servlet-name>
<servlet-class>
org.springframework.web.servlet.DispatcherServlet
</servlet-class>
<!-- 初始化参数 spring配置文件的作用-->
<init-param>
<param-name>contextConfigLocation</param-name>
<param-value>/WEB-INF/springmvc-config.xml</param-value>
</init-param>
<!-- 启动序列,拍到第一位-->
<load-on-startup>1</load-on-startup>
</servlet>
创建Spring MVC配置文件,并配置组件扫描器 和视图解析器
<!-- 定义注解扫描-->
<context:component-scan base-package="org.chen.controller"/>
<!--视图解析器 解析jsp-->
<bean id="viewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver">
//确定解析文件夹的位置, view是你创建的视图文件夹
<property name="prefix" value="/WEB-INF/view/"/>
<property name="suffix" value=".jsp"/>
</bean>
创建处理器类:
@RequestMapping("/shujubangding")
public String selectUser(HttpServletRequest request){
//此处request用到的getParameter用到的方法是get方法,
String id =request.getParameter("id");
System.out.println("id="+id);
return sucess;
}
结果页面
控制台输出
简单数据类型绑定 String int Double 之类的
简化为简单的数据类型。
结果页面:
前端请求中参数名和后台控制器类方法中的形参名不一样,这就会导致后台无法正确绑定并接收到前端的请求的参数。 如何解决这种方法
利用@RequestPAram注解
@RequestParam注解 参数的属性
value 指的是后边参数的另一个形参,
required 指的是调用该类之后,参数必须有值,没有值则会报错, defaultValue
给值确定了一个初始化。 (如果没有输入参数的值,则系统输出的就是参数默认的值)