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.测试成功

 

 

 

 

 

1.4 mvc模式

          Request                        response

 

 

 

 

 

 

 

 

 

 

版权声明:本文为ysource原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://www.cnblogs.com/ysource/p/12973782.html