SSM框架整合
1.导包
spring springmvc –mybatis spring与mybatis整合包
2.导入配置文件
spring 核心配置文件
spring 配置文件
mybatis配置文件
映射文件
db.properties
log4j.properties
参数绑定
1. 原始的request response session
@RequestMapping("/oldParam")
public void oldParam(HttpServletRequest req, HttpServletResponse res, HttpSession session) throws IOException {
String id = req.getParameter("id");
System.out.println(id);
res.getWriter().write(id);
}
2.简单数据的绑定(8大基础类型及其包装类型 String)
@RequestMapping(value = "baseParam")
public void baseParam(Integer id){
System.out.println(id);
}
int 型则必须传递参数否则报异常, Integer 不传也不报错,值为null
3.pojo类的绑定
@RequestMapping(value = "pojoParam")
public void pojoParam(User user){
System.out.println(user);
}
4.pojo封装类的绑定
@RequestMapping(value = "queryVoParam")
public void queryVoParam(QueryVo v){
System.out.println(v.getUser());
}
需要请求地址上必须按照ognl的方式传递参数
user.name=张三 user.id=123
5 数组参数
@RequestMapping(value = "arrParam")
public void arrParam(Integer[] ids){
for (Integer id:ids) {
System.out.println(id);
}
}
6 List参数
list[0].id=123
访问请求的限制
requestMapping
1. 路径限制 可以类上面添加地址 这个类下面所有的方法的访问全部要加这个前缀
2. 可以采用多个地址访问同一个方法
3. 访问方式的限制 可以限制post 或者 get请求
@RequestMapping(value = {"access.action","access2.action"},method = RequestMethod.GET)
public void access(){
System.out.println("进入了Access");
}
Controller的返回值
1. ModleAndView 能进行页面跳转,也能进行数据封装
2. void response 进行 json字符串的交互
3. String 才是官方文档推荐的
可以直接进行页面的跳转。 return "/index.jsp";
还可以进行转发到其他的controller return "forward:/index.jsp";
重定向到其他的controller return "redirect:/index.jsp";
也可以进行数据的交互 ,交互的方式需要一个Model
然后调用model的addAttribute方法
J SON数据交互
1. 导包
2. 直接在代码中加上注解 @ResponseBody 用返回值得方式 直接返回
3. 报转换异常
在springmvc中导入
<mvc:annotation-driven>
<mvc:message-converters>
<bean class="org.springframework.http.converter.StringHttpMessageConverter"/>
<bean class="org.springframework.http.converter.json.MappingJackson2HttpMessageConverter"/>
</mvc:message-converters>
</mvc:annotation-driven>
数据转换器
数据转换器
定义一个转换的方法
转换的方法在配置文件中配置
前端传递一个日期 2018-07-13 String -> date
2018_07-03
json 数据转换器\
拦截器
第一步 书写一个类 实现拦截器的接口
配置拦截器
拦截所有请求
自定义异常
文件上传