Fork me on GitHub

SSM三大框架之---SpringMVC

表现层框架SpringMVC

1.SpringMVC程序开发的基本步骤:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
1.准备好SpringMVC开发的jar包(8个)
spring-aop.jar spring-beans.jar spring-context.jar
spring-core.jar spring-expression.jar commons-logging.jar
spring-web.jar 在Web应用开发过程中,用到Spring框架时所需的核心类库
spring-webmvc.jar Spring MVC框架相关的所有类。如国际化、标签、Theme、FreeMarker等相关类

2.在web.xml中配置前置控制器DispatcherServlet,用于拦截与<url-pattern>相匹配的请求

3.开发前端请求页面(index.jsp)

4.开发请求处理类(controller):含注解@Controller、@RequestMapping()等

5.在src目录下创建SpringMVC的配置文件:springmvc.xml
<!-- 配置需要扫描的包 -->
<context:component-scan base-package="com.YYcoder.controller"> </context:component-scan>
<!-- 配置视图解析器:把请求处理类的返回值,加工成最终的视图路径-->
<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<property name="prefix" value="/views/"></property><!--前缀-->
<property name="suffix" value=".jsp"></property><!--后缀-->
</bean>

6.开发前端结果显示页面:result.jsp

2.SpringMVC的学习内容(主要是学会如何使用注解来实现操作)

①常见注解的使用(可以参考springMVC的文档学习)
    @RequestMapping  用来给方法绑定一个请求映射
    @PathVariable    获取动态参数  
    @RequestParam    获取请求参数
    @RequestHeader   获取请求中的“头信息”
    @CookieValue     可以给处理方法入参绑定某个Cookie值  

②处理模型数据:用户从视图页面(v)发起一个请求到控制器(c),控制器调用Service/Dao等处理数据,  
                  并从数据库中返回数据(M)。之后控制器拿到数据后加以处理,并返回到视图页面。
    实现方法:
        (1)ModelAndView:含Model和View两部分,数据将被放入request作用域
        (2)ModelMap、Map及Model:不含view部分,可以方法的参数操作数据放入request作用域。
        (3)@SessionAttribute:把数据放到session作用域
        (4)@ModelAttribute:会在请求处理类中的每一个方法执行前都执行一次(谨用)

③视图、视图解析器(ViewResolver),以及对静态资源的处理

④类型转换:将前端传来的数据类型转为请求处理方法参数中的所对应的类型

⑤数据格式化、数据校验:让前端传入的数据按照一定格式、要求,否则报错。

⑥文件上传、拦截器的使用。在springmvc.xml文件中配置:
            <mvc:interceptors>
                <!-- 配置自定义的拦截器  -->
                <bean class="org.lanqiao.interceptor.FirstInterceptor"></bean>
            </mvc:interceptors>

⑦异常处理:使用@ExceptionHandler注解用来捕获指定类型的异常。


⑧SSM整合:Spring + springmvc + Mybatis
    Spring - Mybatis
        SqlSessionFactory - > SqlSession -> StduentMapper ->CRUD
        整合: 将SqlSessionFactory在spring中配置
              Spring - SpringMvc:spring springmvc各自配置一遍

    步骤:
        1.jar包
        2.Student 类 --Student表
        3.(省略)--MyBatis配置SqlMapConfig.xml(数据源、 mapper.xml)
            在spring配置文件中 applicationContext.xml
        4.通过mapper.xml将 类、表建立映射关系
        5.web配置spring springmvc
        6.spring 整合mybatis 扫描器
        7.spring整合springmvc(视图解析器 标准配置)

    ui层:前端(jsp)--->通过注解调用  后端:SpringMvc(或Servlet)
    (controller控制器依赖于Service,即给controller注入service)

    Service层:StudentService.java   StduentServiceImpl.java(依赖dao层,即给service注入mapper)             
        <!-- 配置DAO层:为StudentDaoImpl注入SqlSessionFactory对象 -->
        <bean id="studentService" class="org.lanqiao.service.impl.StudentServiceImpl">
            <property name="studentDao" ref="studentMapper"></property>
        </bean>
        <bean id="studentController" class="org.lanqiao.controller.stduentController">
                <property name="studentService" ref="studentService"></property>
        </bean>

    dao层:studentMapper.java() StudentMapper.xml --->操作DB数据库



    控制器 testController.java
    业务逻辑层接口 testService.java
    业务逻辑层实现类 testServiceImpl.java

     Web.xml中配置使用Spring和SpringMVC
    SpringMVC.xml配置扫描包、视图解析器和控制器Controller
    applicationContext.xml:配置数据库连接池、sqlSessionFactory、dao、service
    编写test测试:jsp页面测试