Web.xml
1.解决乱码的过滤器/
2.注册servlet(springmvc) 前端控制器 初始化参数springmvc.xml的位置 .action
<servlet-mapping>
<servlet-name>springMvc</servlet-name>
<url-pattern>*.action</url-pattern>
</servlet-mapping>
<!-- needed for ContextLoaderListener -->
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath:applicationContext.xml</param-value>
</context-param>
<!-- Bootstraps the root web application context before servlet initialization -->
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
applicationContext.xml
1.主要整合mabatis的部分
2.管理SqlSessionFactory对象
3.管理dataSource
4.动态扫描mapper接口
<bean name="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
<property name="dataSource" ref ="dataSource"></property>
<property name="typeAliasesPackage" value="com.zzxx.ssm.pojo"></property>
</bean>
<!-- 引入db.properties配置文件 -->
<context:property-placeholder location="classpath:db.properties"/>
<!-- 管理dataSource对象 -->
<bean name="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource">
<property name="driverClass" value="${jdbc.driver}"></property>
<property name="jdbcUrl" value="${jdbc.url}"></property>
<property name="user" value="${jdbc.username}"></property>
<property name="password" value="${jdbc.password}"></property>
</bean>
<!-- 管理事务DataSourceTransactionManager -->
<!-- 管理UserMapper...xxMapper对象 -->
<!-- 方式一:单独为每一个接口实例化 -->
<!-- <bean name="userMapper" class="org.mybatis.spring.mapper.MapperFactoryBean">
注入sessionFactory对象
<property name="sqlSessionFactory" ref="sqlSessionFactory"></property>
指定接口,自动在同包下扫描相同名字的映射文件
<property name="mapperInterface" value="com.ssm.mapper.UserMapper"></property>
</bean> -->
<!-- 方式二:直接扫描接口所在的包,生成动态代理 -->
此步骤是在省略dao层的实现类,直接在service层注入itemsMapper即可使用
Springmvc.xml
核心 前端控制器
1.三大组件 处理器映射器 处理器适配器 视图解析器
2.扫描cotroller以及service
如果不配置这条 运用的就是过时的
mvc:annotation-driven</mvc:annotation-driven>
<!-- 管理controller -->
<context:component-scan
base-package="com.zzxx.ssm.controller"></context:component-scan>
<context:component-scan
base-package=“com.zzxx.ssm.service”></context:component-scan>
,<!-- 视图解析器的配置 前后缀 >
//自定义
public class DateConverter implements Converter<String,Date>{
@Override
public Date convert(String source) {
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
try {
return sdf.parse(source);
} catch (ParseException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return null;
}
Return值
需要跳转到界面
1.ModelAndView
//相当于request.addAttribute
mv.addObject(“item”, item);
//相当于转发到editItem.jsp界面
mv.setViewName(“editItem”);
return mv;
2.String类型
mv.addObject(“item”, item);
return “editItem”;–转发
return“redirect:/WEB-INF/jsp/editItem.jsp”–重定向
需要跳转到action中
3.重定向到action中
String类型 指定了转发或者重定向 不会经过视图解析器
Return “redirect:/item/list.action”
解决乱码:
post 使用过滤器
开发人员默认get方式不会出现乱码,url不支持中文
Json:
导包jackson
requestBody() responseBody()