SpringMVC框架一

一、简述

1、简介

Spring MVC是一种基于java实现了Web MVC 设计模式的请求驱动类
型的轻量级的Web框架。即使用了MVC架构模式的思想,将Web层进
行解耦。基于请求驱动指的就是请求-响应模式。框架的目的就是帮助
我们简化开发,Spring MVC框架也是要简化我们的日常开发的。
基于java实现,也是spring框架的一个组件
它是基于 MVC设计模式 设计
请求驱动类型
请求-----响应的模块
轻量级的Web框架
它主要就是解决WEB应用问题

2、作用

简化WEB开发
主要解决WEB问题
主要解决java经典三层架构的Web层的控制器

 

 二、SpringMVC框架模型

1、框架图

 

 2、SpringMVC的核心组DispatcherServlet组件

前端控制器
此组件是整个SpringMVC最核心的组件
作用
接受客户端请求,委派HandlerMapping、
HandlerAdpater处理,将数据模型(Model)转发到View组件


HandlerMapping组件
处理器映射器
作用
寻找客户端获取的目标Handler
举例
客户端输入:http://xxxxx/shoplist
HandlerMapping根据“/shoplist”去找目标的组件
(handler)


HandlerAdapater组件
处理器适配器
作用
是否适合运行目标Handler
举例
看一部3D电影


Handler
目标handler
作用:后端目标组件(客户端最终访问的目标组件)


ModelAndView
简介
ModelAndView:描述模型与视图组件


ViewResolver
视图解释器
将视图的逻辑地址解释成视图的物理地址

 

 

 

 

三、开发第一个springmvc程序

1、新建一个Web module

2、导入库

 

 

 

3、配置DispatchServlet

在web.xml文件,配置DispatchServlet组件

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee
http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd"
         version="4.0">
    <!-- 定义Spring MVC的前端控制器 -->
    <servlet>
        <servlet-name>springmvc</servlet-name>
        <servlet-class>
            org.springframework.web.servlet.DispatcherServlet
        </servlet-class>
        <init-param>
            <param-name>contextConfigLocation</param-name>
            <param-value>/WEB-INF/springmvc-config.xml</param-value>
        </init-param>
        <load-on-startup>1</load-on-startup>
    </servlet>
    <!-- 让Spring MVC的前端控制器拦截所有请求 -->
    <servlet-mapping>
        <servlet-name>springmvc</servlet-name>
        <url-pattern>/</url-pattern>
    </servlet-mapping>
</web-app>

4、编辑配置文件

配置/WEB-INF/springmvc-config.xml文件

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd">
    <!--配置handler对应的uri-->
    <bean name="/hello" class="com.gec.controller.HelloController"/>
    <!-- 配置处理器映射器 :找目标handler
    BeanNameUrlHandlerMapping:找目标handler的规则:根据
    beanName作为url地址来找
    -->
    <bean class="org.springframework.web.servlet.handler.BeanNameUrlHandlerMapping"/>
    <!--
    配置处理器适配器:handler是否适配适合运行
    SimpleControllerHandlerAdapter:判断是否适合运行此
    handler的条件:此目标handler必须实现Controller接口
    -->
    <bean class="org.springframework.web.servlet.mvc.SimpleControllerHandlerAdapter" />
    <!--视图解释器-->
    <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver"/>
</beans>

5、编写handler

编写目标控制器组件

package com.gec.controller;

import org.springframework.web.servlet.ModelAndView;
import org.springframework.web.servlet.mvc.Controller;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

public class HelloController implements Controller {

    @Override
    public ModelAndView handleRequest(HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse) throws Exception {

        ModelAndView modelAndView=new ModelAndView();

        modelAndView.addObject("username","root");

        modelAndView.setViewName("/WEB-INF/jsp/hello.jsp");
        return modelAndView;
    }
}

六、编写jsp

新建目录

/WEB-INF/jsp/

编写 hello.jsp组件

<%--
  Created by IntelliJ IDEA.
  User: Administrator
  Date: 2020-10-19
  Time: 11:02
  To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
    <title>Title</title>
</head>
<body>
<h1>
用户:${username}
</h1>
</body>
</html>

 

结果图

 

posted @ 2020-10-19 14:18  蓝景钊  阅读(158)  评论(0)    收藏  举报