zoukankan      html  css  js  c++  java
  • SpringMVC学习(一)

    SpringMVC简介

    MVC:

    • MVC是模型(Model)是视图(Views)控制层(Controller)的缩写,是一种软件设计规范;
    • 是将业务逻辑、数据、显示分离的方法来组织代码;
    • MVC主要作用是降低了视图于业务逻辑键的双向耦合
    • MVC不是一种设计模式,MVC是一种架构模式。

    Model(模型):数据模型,提供要展示的数据,因此包含数据和行为。就是Dao层和Service层

    View(视图):负责进行模型的展示,一般就是我们见到的用户界面,客户想看到的东西。

    Controller(控制器):接收用户请求,委托给模型进行处理(状态改变),处理完毕后把返回的模型数据返回给视图,由视图负责显示。

    SpringMVC的特点:

    • 轻量级、简单易学
    • 高效、基于请求响应的MVC框架
    • 与Spring兼容性好,无缝结合
    • 约定由于配置
    • 功能强大

    Spring的web框架围绕DispatcherServlet[调度Servlet]设计。

    中心控制器

    Spring的web框架围绕DispatcherServlet设计。DispatcherServlet的作用是将请求分发到不同的处理器。我们可以采用基于注解的controller声明开发,十分简洁;

    Spring MVC框架像许多其他MVC框架一样,**以请求为驱动,围绕一个中心Servlet分派请求及提供其他功能,DispatcherServlet是一个实际的Servlet(继承自HttpServlet基类)

    SpringMVC的原理如下图所使:

    当发起请求时被前置的控制器拦截到请求,根据请求参数生成代理请求,找到请求对应的实际控制器,控制器处理请求,创建数据模型,访问数据库,将模型响应給中心控制器,控制器使用模型与视图渲染视图结果,将结果返回给中心控制器,再将结果返回给请求者。

    SpringMVC第一个程序

    创建maven项目

    1、导入依赖

    导入webmvc,idea会自动导入相应的依赖

        <dependencies>
            <dependency>
                <groupId>org.springframework</groupId>
                <artifactId>spring-webmvc</artifactId>
                <version>5.2.1.RELEASE</version>
            </dependency>
        </dependencies>
    

    对应的依赖:

    2、编写web.xml

        <!--主注册DispatcherServlet-->
        <servlet>
            <servlet-name>DispatcherServlet</servlet-name>
            <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
            <!--关联一个SpringMVC的配置文件-->
            <init-param>
                <param-name>contextConfigLocation</param-name>
                <param-value>classpath:springmvc-servlet.xml</param-value>
            </init-param>
            <!--服务器启动的时候就启动-->
            <load-on-startup>1</load-on-startup>
        </servlet>
        <!--
            /  匹配所有的请求  不包括.jsp
            /*  匹配所有的请求  包括.jsp
        -->
        <servlet-mapping>
            <servlet-name>DispatcherServlet</servlet-name>
            <url-pattern>/</url-pattern>
        </servlet-mapping>
    

    3、编写springmvc的配置文件

    <?xml version="1.0" encoding="UTF-8"?>
    <beans xmlns="http://www.springframework.org/schema/beans"
           xmlns:mvc="http://www.springframework.org/schema/mvc"
           xmlns:context="http://www.springframework.org/schema/context"
           xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
           xsi:schemaLocation="http://www.springframework.org/schema/beans
            https://www.springframework.org/schema/beans/spring-beans.xsd
            http://www.springframework.org/schema/mvc
            https://www.springframework.org/schema/mvc/spring-mvc.xsd
            http://www.springframework.org/schema/context
            https://www.springframework.org/schema/context/spring-context.xsd">
    
        <!--扫描包配置,控制层,和前端交互 controller-->
        <context:component-scan base-package="com.star.controller"/>
        <!--开启注解扫描-->
        <mvc:annotation-driven/>
        <!--在web开发中,我们一般存在静态资源css,js,img。。。-->
        <mvc:default-servlet-handler/>
    
        <!--视图解析器-->
        <bean id="internalResourceViewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver">
            <!--前缀-->
            <property name="prefix" value="/WEB-INF/views/"/>
            <!--后缀-->
            <property name="suffix" value=".jsp"/>
        </bean>
    
    </beans>
    

    4、编写前端页面

    在WEB-INF下创建views目录,创建hello.jsp页面;

    <%@ page contentType="text/html;charset=UTF-8" language="java" %>
    <html>
    <head>
        <title>Hello</title>
    </head>
    <body>
    <%--使用el表达式获取传入的参数--%>
    <h1>${msg}</h1>
    
    </body>
    </html>
    

    5、测试前后端交互

    package com.star.controller;
    
    import org.springframework.stereotype.Controller;
    import org.springframework.ui.Model;
    import org.springframework.web.bind.annotation.RequestMapping;
    
    @Controller //控制层
    public class HelloController {
    
        @RequestMapping("/hello") //请求的映射路径
        public String hello(Model model){
            model.addAttribute("msg","Hello,SpringMVC");//使用model给前端传入参数
            //拼接成:/WEB-INF/views/hello.jsp
            return "hello";
        }
    }
    

    配置tomcat,启动项目,输入路径:

    注意:要在IDEA的项目发布中,添加lib依赖!

  • 相关阅读:
    Mysql 存储过程小例子
    Notepad++ 运行脚本快捷键设置
    Review PHP设计模式之——观测模式
    Review PHP设计模式之——注册模式
    2018年5月6日GDCPC(广东赛区)总结
    套题总结
    2017年广东省ACM省赛(GDCPC-2017)总结
    在线购物系统 实验五设计类
    在线购物系统 实验一问题描述、词汇表
    ACM ICPC 2011-2012 Northeastern European Regional Contest(NEERC)G GCD Guessing Game
  • 原文地址:https://www.cnblogs.com/lmx-181028/p/12497798.html
Copyright © 2011-2022 走看看