SpringMVC框架入门--(学习笔记)

一.什么是SpringMVC

SpringMVC是一种基于Java的实现了Web MVC设计模式的请求驱动类型的轻量级Web框架,即使用了MVC架构模式的思想,将web层进行职责解耦,基于请求驱动指的就是使用请求-响应模型,框架的目的就是帮助我们简化开发,SpringMVC也是要简化我们日常Web开发的。

二.SPringMVC工作步骤

SpringMVC框架入门--(学习笔记)_第1张图片
步骤:

1.发起请求到前端控制器(DispatcherServlet)
2.前端控制器请求处理器映射器(HandlerMapping)查找Handler(可根据xml配置、注解进行查找)
3.处理器映射器(HandlerMapping)向前端控制器返回Handler
4.前端控制器调用处理器适配器(HandlerAdapter)执行Handler
5.处理器适配器(HandlerAdapter)去执行Handler
6.Handler执行完,给适配器返回ModelAndView(Springmvc框架的一个底层对象)
7.处理器适配器(HandlerAdapter)向前端控制器返回ModelAndView
8.前端控制器(DispatcherServlet)请求视图解析器(ViewResolver)进行视图解析,根据逻辑视图名解析成真正的视图(jsp)
9.视图解析器(ViewResolver)向前端控制器(DispatcherServlet)返回View
10.前端控制器进行视图渲染,即将模型数据(在ModelAndView对象中)填充到request域
11.前端控制器向用户响应结果

组件说明:

1.前端控制器(DispatcherServlet):接收请求,响应结果,相当于转发器,中央处理器。减少了其他组件之间的耦合度
2.处理器映射器(HandlerMapping):根据请求的url查找Handler
3.Handler处理器适配器:按照HandlerAdapter的要求编写
4.处理器适配器(HandlerAdapter):按照特定规则(HandlerAdapter要求的规则)执行Handler。
5.视图解析器(ViewResolver):进行视图解析,根据逻辑视图解析成真正的视图(View)
6.视图(View):View是一个接口实现类有不同的View类型(jsp,pdf等等)

注意:3.和6.需要我们来开发,其他的不需要我们开发

三.开发环境搭建:

1.开发环境jar包(Maven)

 
    
        Spring_maven
        com.huan.spring
        1.0-SNAPSHOT
    
    4.0.0
    springmvc
    war
    springmvc Maven Webapp
    http://maven.apache.org
    
        
            junit
            junit
            3.8.1
            test
        
        
        
            org.springframework
            spring-web
            4.2.6.RELEASE
        
        
            org.springframework
            spring-webmvc
            4.2.4.RELEASE
        
        
            org.springframework
            spring-context
            4.2.6.RELEASE
        
        
            org.springframework
            spring-test
            4.2.6.RELEASE
        
        
            org.springframework
            spring-jdbc
            4.2.6.RELEASE
        
        
            com.github.stefanbirkner
            system-rules
            1.16.1
            test
        
        
            org.aspectj
            aspectjweaver
            1.8.9
        
        
        
            org.apache.commons
            commons-lang3
            3.4
        
        
            commons-fileupload
            commons-fileupload
            1.3.1
        
        
        
        javax.servlet
        jstl
        1.2
        

        
        
            javax.servlet
            javax.servlet-api
            3.1.0
        
        
            javax.servlet.jsp
            jsp-api
            2.2
        
        
            javax.servlet
            jstl
            1.2
        
    
    
        springmvc
    


2.配置前端控制器
web.xml




  Archetype Created Web Application

  
  
    springmvc
    org.springframework.web.servlet.DispatcherServlet
    
    
      contextConfigLocation
      classpath:SpringMVC/Springmvc.xml
    
  
  
  
    springmvc
    *.action
  



3.配置处理器适配器
springmvc.xml



    
    
    
    

    
    

    
    

    
    


4.实现Controller接口的处理器
ItemsController.java

package spring.ssm.controller;

import org.springframework.web.servlet.ModelAndView;
import org.springframework.web.servlet.mvc.Controller;
import spring.ssm.pojo.Items;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.util.ArrayList;
import java.util.List;

/**
 * Created by ubuntu on 17-7-6.
 */
//实现Controller接口的处理器
public class ItemsController implements Controller{

    public ModelAndView handleRequest(HttpServletRequest Request, HttpServletResponse Response) throws Exception {
        List list = new ArrayList();

        Items items_1 = new Items();
        items_1.setName("小米笔记本");
        items_1.setPrice(6000f);
        items_1.setDetail("ThinkPad T430 小米笔记本电脑!");

        Items items_2 = new Items();
        items_2.setName("小米手机");
        items_2.setPrice(5000f);
        items_2.setDetail("mix小米手机!");
        list.add(items_1);
        list.add(items_2);
        ModelAndView modelAndView = new ModelAndView();
        modelAndView.addObject("itemsList",list);
        modelAndView.setViewName("WEB-INF/items/itemsList.jsp");
        return modelAndView;
    }
}

itemsList.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8"
         pageEncoding="UTF-8" %>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<%@ taglib uri="http://java.sun.com/jsp/jstl/fmt" prefix="fmt" %>



    
    查询商品列表


查询条件:
商品列表:
商品名称 商品价格 生产日期 商品描述 操作
${item.name } ${item.price } ${item.detail } 修改

访问:http://localhost:8080/queryItems.action

SpringMVC框架入门--(学习笔记)_第2张图片

你可能感兴趣的:(SpringMVC框架入门--(学习笔记))