• Spring MVC介绍


    spring mvc是java流行框架中web层的框架,是一款轻量级的开发框架,简单易学,在企业开发中使用几乎成为了不可不用的技术。

    在开发中一般分为三层:

      web层,也称表现层:

        主要负责的任务有三项:

          获取前端传过来的请求参数;

          调用业务(service)处理前端的请求;

          将处理结果返回给前端;

      service层,也称为业务层:

        主要作用有两项:

          调用Dao层查询数据库;

          处理复杂业务;

      Dao层,也称为持久层:

        主要作用是:

          查询数据库,返回数据到service层

    在企业中,web层使用的技术大部分都是spring mvc。由此可见其重要程度。下面我们来开始spring mvc的入门。

    需求:

      浏览器请求服务器(SpringMVC), 响应成功页面

    步骤:

      1.创建Maven工程(war),导入坐标

      2.创建Controller类,创建一个方法, 添加注解

      3.创建springmvc.xml(包扫描, 注册视图解析器)

      4.配置web.xml

    1.创建maven工程,在pom文件中导入如下依赖:

     
    <properties>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    <maven.compiler.source>1.8</maven.compiler.source>
    <maven.compiler.target>1.8</maven.compiler.target>

    <spring.version>5.0.2.RELEASE</spring.version>
    </properties>

    <dependencies>
    <dependency>
    <groupId>org.springframework</groupId>
    <artifactId>spring-context</artifactId>
    <version>${spring.version}</version>
    </dependency>

    <dependency>
    <groupId>org.springframework</groupId>
    <artifactId>spring-web</artifactId>
    <version>${spring.version}</version>
    </dependency>

    <dependency>
    <groupId>org.springframework</groupId>
    <artifactId>spring-webmvc</artifactId>
    <version>${spring.version}</version>
    </dependency>

    <dependency>
    <groupId>javax.servlet</groupId>
    <artifactId>servlet-api</artifactId>
    <version>2.5</version>
    <scope>provided</scope>
    </dependency>

    <dependency>
    <groupId>javax.servlet.jsp</groupId>
    <artifactId>jsp-api</artifactId>
    <version>2.0</version>
    <scope>provided</scope>
    </dependency>
    </dependencies>

    2.创建Controller类,创建一个方法, 添加注解

    package com.it.controller;
    import org.springframework.stereotype.Controller;
    import org.springframework.web.bind.annotation.RequestMapping;

    /**
    * ToDo
    *
    * @author Lyle
    * spring mvc入门
    */
    @Controller
    public class HelloController {
    @RequestMapping("/hello")
    public String sayHello(){
    System.out.println("HelloController 的 sayHello 方法执行了。。。。 ");
    return "success";
    }
    }

    3.创建springmvc.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"
    xmlns:context="http://www.springframework.org/schema/context"
    xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd">

    <context:component-scan base-package="com.it"></context:component-scan>
    <!--注册视图解析器-->
    <bean id="viewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver">
    <property name="prefix" value="/WEB-INF/pages/"></property>
    <property name="suffix" value=".jsp"></property>
    </bean>

    </beans>
    4.在web容器中配置前端控制器,并加载spring mvc.xml

    <?xml version="1.0" encoding="UTF-8"?>
    <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" id="WebApp_ID" version="2.5">


    <display-name>Archetype Created Web Application</display-name>
    <welcome-file-list>
    <welcome-file>index.html</welcome-file>
    <welcome-file>index.htm</welcome-file>
    <welcome-file>index.jsp</welcome-file>
    <welcome-file>default.html</welcome-file>
    <welcome-file>default.htm</welcome-file>
    <welcome-file>default.jsp</welcome-file>
    </welcome-file-list>

    <servlet>
    <servlet-name>DispatcherServlet</servlet-name>
    <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
    <init-param>
    <param-name>contextConfigLocationt</param-name>
    <param-value>classpath:springmvc.xml</param-value>
    </init-param>
    <load-on-startup>1</load-on-startup>
    </servlet>

    <servlet-mapping>
    <servlet-name>DispatcherServlet</servlet-name>
    <url-pattern>/</url-pattern>
    </servlet-mapping>
    </web-app>

    以上,就是spring mvc的简单入门,当然,spring mvc内部的加载机制还是很复杂的,我们用简图介绍下:

    第1步:前端发送请求:http://localhost:8080/hello到后台;

    第2步:前端控制器DispatcherServlet收到请求后,找到对应的Controller类和对应的方法;

    第3步:Controller类中对应的方法处理后返回success给前端控制器;

    第4步:前端控制器将success交给视图解析器进行处理,通过添加前后缀转成物理视图;

    第5步:视图解析器将物理视图返回给前端控制器;

     第6步:前端控制器将接收到的物理视图响应给前端。

    以上是spring mvc的简易原理。当然,真正的响应过程远比这个要复杂的多,为了便于初学者理解,这里省略了很多组件。

      

  • 相关阅读:
    [微信产品经理推荐] 有车一族福音,这个小程序能够帮到你很多忙,功能很逆天!
    微信小程序开闸,关于入口、推广、场景的一些观察与思考
    微信小程序体验(2):驴妈妈景区门票即买即游
    微信小程序的机会在于重新理解群组与二维码
    如何为你的微信小程序体积瘦身?
    体验报告:微信小程序在安卓机和苹果机上的区别
    微信小程序体验(1):携程酒店机票火车票
    张小龙宣布微信小程序1月9日发布,并回答了大家最关心的8个问题
    重点必看:小程序的服务范围限制有哪些?
    一些JS常用的方法
  • 原文地址:https://www.cnblogs.com/lyle-liu/p/12542221.html
Copyright © 2020-2023  润新知