zoukankan      html  css  js  c++  java
  • 二十、MVC的WEB框架(Spring MVC)

    一、Spring MVC

    运行原理:客户端请求提交到DispatcherServlet,由DispatcherServlet控制器查询HandlerMapping,找到并分发到指定的Controller中,然后Controller调用业务逻辑处理后,返回ModelAndView。DispatcherServlet查询一个或者多个ViewResoler视图解析器,找到ModelAndView指定的视图,然后视图负责将结果显示到客户端。

    1、同样还是导入相应的jar包,将用到的jar包,导入到项目的WebContent/WEB-INF/lib目录下。

    2、web.xml文件

    在WEB-INF目录下创建一个web.xml文件,用来配置Spring MVC的入口DispatcherServlet(类似structs2配置的StructsPrepareAndExecuteFilter过滤器),目的就是把所有的请求都提交给DispatcherServlet处理。

      注:<servlet-name>springmvc</servlet-name>servlet名字的配置,方便配置springmvc的servlet.xml名字对应,springmvc-servelt.xml。

    <?xml version="1.0" encoding="UTF-8"?>
    <web-app version="2.4 xmlns="http://java.sun.com/xml/ns/j2ee"
        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
        xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee
        http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
            <servlet>
                <servlet-name>springmvc</servlet-name>
                <!--配置springMVC的分发器-->
                <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
                <load-on-startup>1</load-on-startup>
            </servlet>
            <servlet-mapping>
                <servlet-name>springmvc</servlet-name>
                <url-pattern>/</url-pattern>
            </servlet-mapping>
    </web-app>

    3、创建springmvc-servlet.xml

      在WEB-INF目录下创建springmvc-servlet.xml,文件名与web.xml的

    标签<servlet-name>springmvc</servlet-name>配置的名字对应。

    springmvc-servlet.xml是Spring MVC的映射配置文件,当有访问的路径为/index,它会把请求交给id=indexController的bean处理这个请求,这个类是IndexController

    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE beans PUBLIC "-/SPRING//DTD BEAN//EN"
        "http://www.springframework.org/dtd/spring-beans.dtd">
        <beans>
            <bean id="simpleUrlHandlerMapping" class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping">
                <property name="mappings">
                    <props>
                        <prop key="/index">indexController</prop>
                    </props>
                </property>
            </bean>
            <bean id="indexController" class="com.demo.controller.IndexController"></bean>
        </beans>

    4、创建控制器类IndexController

    控制器IndexController实现接口Controller,提供方法handleRequest来处理请求。然后Spring MVC会通过ModelAndView对象把模型model和视图view结合在一起。

    package com.demo.controller;
    
    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;
    
    import org.springframework.web.servlet.ModelAndView;
    import org.springframework.web.servlet.mvc.Controller;
    
    public class IndexController implements Controller{
        pubic ModelAndView handleRequest(HttpServeltRequest request,HttpServletResponse response) throws Exception{
            ModelAndView mav=new ModelAndView("index.jsp");
            mav.addObject("name","I love you!");//模型数据是product,内容是I love you
            return mav;
        }
    }

    5、创建index.jsp

    在WebContent目录下创建一个index.jsp,然后通过EL表达式获取name的内容

    <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8" isELIgnored="false"%>
    <h1>${name}</h1>

    6、原理总结:

      6.1、当用户访问/index

      6.2、根据web.xml中配置,所有的访问都会经过DispatcherServlet处理,然后进入SpringMVC处理流程。

      6.3、根据配置文件springmvc-servlet.xml,访问路径/index,然后进入到IndexController控制器类。

      6.4、在IndexController控制器中指定跳转页面到index.jsp。并传递name的数据

      6.5、在index.jsp显示name的数据。

  • 相关阅读:
    c# IOSerialize 验证码、图片缩放
    SqlServer 分库分表
    权限系统数据库设计
    SqlServer 读写分离
    树转二叉树
    数据结构:图的存储结构之邻接矩阵、邻接表
    【数据结构】数据结构-图的基本概念
    哈夫曼树
    二叉树遍历方法
    Oracle 检查约束check
  • 原文地址:https://www.cnblogs.com/drq1/p/8583555.html
Copyright © 2011-2022 走看看