SpringMVC笔记


 环境准备

数据库:mysql 5.1 or others——>数据库名:mybatis

Java环境:jdk

Jetbrain idea or eclipse indigo

springmvc version:spring 3.2 or others(需要spring 3.2 所有jar包,一定要包括spring-webmvc-3.2.0.RELEASE.jar,一般在idea可自动import)

所需其他jar包:spirng3.2所有jar包、数据库驱动包mysql5.1、mybatis的jar包、mybatis和spring的整合包、log4j的日志jar包、dbcp数据库连接池包、jstl包


工程结构

-springmvc_mybatis_project

  -src

    -cn.itcast.ssm.controller

    -cn.itcast.ssm.mapper

    -cn.itcast.ssm.po

    -cn.itcast.ssm.service.impl

  -config

    -db.properties

    -log4j.properties

  -JRE System Library

  -Apache Tomcat v7.0

  -Web App Libraries

  -WebRoot

    -META-INF

    -WEB-INF

      -lib

        -web.xml


理解SpringMVC前端控制器、处理器映射器、处理器适配器、视图解析器的用法

前端控制器

①配置

第一种:*.action,访问以.action结尾,由DispatcherServlet进行解析

第二种:/,所有访问的地址都由DispatcherServlet进行解析 ,对于静态文件的解析需要另外配置,从而不让DispatcherServlet进行解析

备注:一般采用第二种方式,可以实现RESTful风格的url

处理器映射器

①分类

第一种:非注解处理器映射器(了解)

第二种:注解的处理器映射器(掌握)

例如,对标记@Controller的类中标识有@RequestMapping的方法进行映射,在@RequestMapping里定义映射的url

备注:使用注解的处理器映射器不用再xml中配置url和Handler的映射关系

处理器适配器

①分类

第一种:非注解处理器适配器(了解)

第二种:注解的处理器适配器(掌握)

备注:需要对应处理器映射器进行配对使用

<!-- 注解映射器 -->

<bean class="org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerMapping">

<!-- 注解适配器 -->

<bean class="org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter">

<!-- 使用mv:annotation-driven可以代替上面的注解映射器和注解适配器配置 -->

<!-- 默认加载很多的参数绑定方法,比如json转换解析器,在实际开发中也是使用该方法 -->

<mv:annotation-driven></mv:annotation-driven>

②所有处理器适配器(注解的)都需要实现HandlerAdapter接口

HandlerAdapter接口:<bean class="org.springframework.web.servlet.mvc.SimpleControllerHandlerAdapter">

视图解析器

①解析jsp解析,默认使用jstl标签,classpath下的jstl的包

<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver" >

  <!-- 配置jsp路径的前缀 -->

  <property name="prefix" value="WEB-INF/jsp/" />

  <!-- 配置jsp路径的后缀 -->

  <property name="suffix" value=".jsp/" />

</bean>

②返回ModelAndView

// 返回ModelAndView

ModelAndView modelAndView = new ModelAndView();

// 相当于request的setAttribute,在jsp页面中通过itemsList获取数据

modelAndView.addObject("itemsList", itemsList);

// 指定视图

modelAndView.setViewName("items/itemsList");

// 上面的路径如果没有在视图解析器重配置jsp路径的前缀和jsp路径的后缀,需要修改为

// modelAndView.setViewName("/WEB-INF/jsp/items/itemsList.jsp");

return modelAndView;

原文地址:https://www.cnblogs.com/hoanfir/p/9280178.html