zoukankan      html  css  js  c++  java
  • Spring MVC介绍和第一个例子

    1.Spring mvc概述

    spring mvc是spring提供给web应用框架设计,实际上MVC框架是一个设计理念。它不仅存在java世界中而且广泛在于各类语言和开发中,包括web的前端应用。对于spring mvc而言,他的流程和各个组件的应用和改造是springmvc的根本。

     1.2 springmvc都做了什么

    1. Controller为中心完成对系统流程的控制管理 
    2. 从请求中搜集数据 
    3. 对传入的参数进行验证 
    4. 将结果返回给视图 
    5. 针对不同的视图提供不同的解决方案 
    6. 针对jsp视图技术提供标签库 
    7. 拦截器 
    8. 上传文件 

    1.3 spring-mvc结构

    1 DispatcherServlet:中央控制器,把请求给转发到具体的控制类

    Controller:具体处理请求的控制器(配置文件方式需要配置,注解方式不用配置)

    3 handlerMapping:映射处理器,负责映射中央处理器转发给controller时的映射策略

    ModelAndView:服务层返回的数据和视图层的封装类(无论是配置文件还是注解都不需要配置)

    5 ViewResolver  & View:视图解析器,解析具体的视图

    6 Interceptors :拦截器,负责拦截我们定义的请求然后做处理工作(无论是配置文件方式还是注解都需要先创建再配置)

         红色的是需要自己创建,黑色的需要配置。

     

     

    1.4 mvc模式

    1.5spring-mvc流程

     

    2.spring-mvc的第一个例子

    1. 创建一个web工程

    2. 导入依赖包

     

    3.创建springmvc的配置文件 (web.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_3_0.xsd" id="WebApp_ID" version="3.0">
      <display-name>springMvcDome</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>
      
      <!-- 配置springmvc中央控制器 -->
      <servlet>
          <servlet-name>springmvc</servlet-name>
          <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
      </servlet>
      <servlet-mapping>
          <servlet-name>springmvc</servlet-name>
          <url-pattern>*.do</url-pattern>
      </servlet-mapping>
    </web-app>

     

    4.配置spring mvc核心配置文件

     

    文件的命名规则:中央控制器(servlet的名称)的名称+-servlet.xml

    默认位置:WEB-INF

    配置:controller和视图解析器

     

     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" xmlns:mvc="http://www.springframework.org/schema/mvc"
     4     xmlns:context="http://www.springframework.org/schema/context"
     5     xmlns:aop="http://www.springframework.org/schema/aop" xmlns:tx="http://www.springframework.org/schema/tx"
     6     xsi:schemaLocation="http://www.springframework.org/schema/beans 
     7 http://www.springframework.org/schema/beans/spring-beans-4.3.xsd 
     8 http://www.springframework.org/schema/mvc 
     9 http://www.springframework.org/schema/mvc/spring-mvc-4.3.xsd 
    10 http://www.springframework.org/schema/context 
    11 http://www.springframework.org/schema/context/spring-context-4.3.xsd 
    12 http://www.springframework.org/schema/aop 
    13 http://www.springframework.org/schema/aop/spring-aop-4.3.xsd 
    14 http://www.springframework.org/schema/tx 
    15 http://www.springframework.org/schema/tx/spring-tx-4.3.xsd ">
    16 
    17     <!-- 配置controller  默认使用BeanNameurlHandelMapping 根据hello.do来找到controller-->
    18     <bean id="myController" name="/hello.do" class="com.springmvc.mycontroller.MyController"></bean>
    19     <!-- 配置视图解析器 -->
    20     <bean
    21         class="org.springframework.web.servlet.view.InternalResourceViewResolver">
    22         <!-- 配置前缀 -->
    23         <property name="prefix" value="/WEB-INF/jsp/"></property>
    24         <!-- 配置后缀 -->
    25         <property name="suffix" value=".jsp"></property>
    26     </bean>
    27 </beans>

     

    5.创建controller

    package com.springmvc.mycontroller;
    
    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;
    
    import org.springframework.web.servlet.ModelAndView;
    import org.springframework.web.servlet.mvc.AbstractController;
    /**
     * spring mvc第一个例子
     * @author Administrator
     *
     */
    public class MyController extends AbstractController{
    
        @Override
        protected ModelAndView handleRequestInternal(HttpServletRequest arg0, HttpServletResponse arg1) throws Exception {
            System.out.println("hello springmvc");
            return new ModelAndView("index");
        }
    
    }

    6.测试成功

     

     

     

  • 相关阅读:
    TDD
    算法与数据结构 文档 1 洋洋洋传
    编程的专精度
    python小课
    有时心情舒畅时打个代码心里都是默默地同步输出...
    同时可以运行在JVM上的Kotlin~枚举和判定以及数据对象的写法总结
    map
    multiset
    set
    priority_queue
  • 原文地址:https://www.cnblogs.com/ysource/p/12973782.html
Copyright © 2011-2022 走看看