zoukankan      html  css  js  c++  java
  • 初识SpringMVC

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

    spring的优势:

    1、清晰的角色划分:前端控制器(DispatcherServlet)、请求到处理器映射(HandlerMapping)、处理器适配器(HandlerAdapter)、视图解析器(ViewResolver)、处理器或页面控制器(Controller)、验证器( Validator)、表单对象(Form Object 提供给表单展示和提交到的对象就叫表单对象)。

    2、由于命令对象就是一个POJO,无需继承框架特定API,可以使用命令对象直接作为业务对象;

    3、和Spring 其他框架无缝集成,是其它Web框架所不具备的;

    4、可适配,通过HandlerAdapter可以支持任意的类作为处理器;

    5、可定制性,HandlerMapping、ViewResolver等能够非常简单的定制;

    6、功能强大的数据验证、格式化、绑定机制;

    7、利用Spring提供的Mock对象能够非常简单的进行Web层单元测试;

    8、本地化、主题的解析的支持,使我们更容易进行国际化和主题的切换。

    9、RESTful风格的支持、简单的文件上传、约定优于配置的契约式编程支持、基于注解的零配置支持等等。

    下边先搭一个小例子

    1.导入pom节点

     1 <dependency>
     2   <groupId>org.springframework</groupId>
     3   <artifactId>spring-webmvc</artifactId>
     4   <version>4.2.0.RELEASE</version>
     5 </dependency>
     6 
     7 <dependency>
     8   <groupId>org.springframework</groupId>
     9   <artifactId>spring-web</artifactId>
    10   <version>4.2.0.RELEASE</version>
    11 </dependency>

    2.编写spring-mvc的xml文件,为了区别与spring的核心文件我们取名就叫spring-mvc.xml

     1 <?xml version="1.0" encoding="UTF-8"?>
     2 <beans xmlns="http://www.springframework.org/schema/beans"
     3        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
     4        xmlns:context="http://www.springframework.org/schema/context"
     5        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">
     6     <!--开启ioc注解-->
     7     <context:annotation-config/>
     8 
     9     <!--配置视图解析器-->
    10     <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
    11         <!--配置前后缀,这个是访问资源的前缀和后缀-->
    12         <property name="prefix" value="/"></property>
    13         <property name="suffix" value=".jsp"></property>
    14     </bean>
    15 </beans>
    View Code

     3.编写web.xml文件,版本使用3.0以上

    <?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">
    <servlet>
    <servlet-name>springmvc</servlet-name>
    <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
    <init-param>
    <param-name>contextConfigLocation</param-name>
    <param-value>classpath:spring-mvc.xml</param-value>
    </init-param>
    </servlet>
    <servlet-mapping>
    <servlet-name>springmvc</servlet-name>
    <url-pattern>/</url-pattern>
    </servlet-mapping>
    </web-app>

    4.在java目录下编写第一个控制器,我将他取名为TestController

     1 package controller;
     2 
     3 import org.springframework.stereotype.Controller;
     4 import org.springframework.web.bind.annotation.RequestMapping;
     5 
     6 @Controller//该注解表示这是一个控制器类,并在spring容器中声明一个Bean对象
     7 @RequestMapping("/test")//设置请求地址,用在类上,表示请求到该控制器上的url
     8 public class TestController {
     9     @RequestMapping("/index")//该注解用到方法上,表示请求该方法的url
    10     public String toIndex(){
    11         //返回值可以是String、Object、Model对象、ModelAndView对象
    12         //返回值是String时,即返回的是视图名,前后缀再配置文件中配置了,所以,控制器会自动加上,
    13         // 我们不必画蛇添足,自写一个视图的名称即可
    14         return "index";
    15     }
    16 }
    View Code

    5.在webapp目录下编写第一个jsp页面,取名为index.jsp

     1 <%--
     2   Created by IntelliJ IDEA.
     3   User: zgye
     4   Date: 2019/3/14
     5   Time: 19:06
     6   To change this template use File | Settings | File Templates.
     7 --%>
     8 <%@ page contentType="text/html;charset=UTF-8" language="java" %>
     9 <html>
    10 <head>
    11     <title>index页面</title>
    12 </head>
    13 <body>
    14 SpringMVC的第一个项目
    15 </body>
    16 </html>
    View Code

    6.配置tomcat并启动,请求设置好的路径比如我本机请求:localhost:8080/test/index,就能看到页面了

     mvc配置详解

    1.Dispatcherservlet

      DispatcherServlet是前置控制器,配置在web.xml文件中的。拦截  匹配的请求,Servlet拦截匹配规则要自已定义,把拦截下来的请求,依 据相应的规则分发到目标Controller来处理,是配置MVC的第一步。

    2.InternalResourceViewResolver

      视图名称解析器

    3.以上出现的注解

    @Controller 负责注册一个bean 到spring 上下文中

    @RequestMapping 注解为控制器指定可以处理哪些 URL 请求

  • 相关阅读:
    Girls and Boys
    Kindergarten
    codevs 2822 爱在心中
    Popular Cows
    QWQ
    2488 绿豆蛙的归宿(拓扑+dp)
    P1119 灾后重建
    Mr. Frog’s Game
    Basic Data Structure
    A strange lift
  • 原文地址:https://www.cnblogs.com/Tiandaochouqin1/p/10533208.html
Copyright © 2011-2022 走看看