Spring MVC框架配置方法详解

本文实例为大家分享了Spring MVC框架配置方法,供大家参考,具体内容如下

1、概述

  Spring MVC 作用:用来实现前端浏览器与后面程序的交互

  Spring MVC 是基于Spring 的MVC框架,所谓MVC(model,controller,view) ,整个Spring MVC 作用就是,基于Spring 将model(数据)在controller(后台程序) ,view(前端浏览器)之间交互

  至于Spring MVC优点缺点,了解不深 不作评价,

2、引用的jar包

  既然是基于Spring那么 Spring的核心jar包(beans,context,core,expression,commons-logging)是必须的;Spring MVC的相关Jar包有个(web,webmvc),特别包(aop)这个包不是必须,但如果基于注解,用以包扫描的时候就必需

3、配置文件

  配置文件,就是显式配置程序执行的初始化的文件。配置文件如下:

springmvc-config.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"

xmlns:mvc="http://www.springframework.org/schema/mvc"

xsi:schemaLocation="http://www.springframework.org/schema/beans

http://www.springframework.org/schema/beans/spring-beans-4.3.xsd

http://www.springframework.org/schema/context

http://www.springframework.org/schema/context/spring-context-4.3.xsd

http://www.springframework.org/schema/mvc

http://www.springframework.org/schema/mvc/spring-mvc-4.3.xsd">

<!--<context:component-scan base-package="com.itheima.controller"/>-->

<!-- 配置处理器Handle,映射“/firstController”请求 -->

<bean name="/firstController" class="com.itheima.controller.FirstController" />

<!--<mvc:annotation-driven />--!>

<!-- 处理器映射器,将处理器Handle的name作为url进行查找 -->

<bean class="org.springframework.web.servlet.handler.BeanNameUrlHandlerMapping" />

<!-- 处理器适配器,配置对处理器中handleRequest()方法的调用-->

<bean class="org.springframework.web.servlet.mvc.SimpleControllerHandlerAdapter" />

<!-- 视图解析器 -->

<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">

</bean>

</beans>

Web.xml

<?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_3_1.xsd"

version="3.1">

<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:springmvc-config.xml</param-value>

</init-param>

<!-- 表示容器在启动时立即加载Servlet -->

<load-on-startup>1</load-on-startup>

</servlet>

<servlet-mapping>

<servlet-name>springmvc</servlet-name>

<url-pattern>/</url-pattern>

</servlet-mapping>

</web-app>

图片来源(spring mvc DispatcherServlet之前端控制器架构详解)

步骤:1、客户端发起访问,被Spring MVC的前端控制器拦截(DispatcherServlet )

    2、拦截器会找到映射器(handlerMapping),让映射器根据URL找到具体的bean,例如 上面如果 URL  "/firstController"  那么就找到了对应的Bean,并反馈给DispatcherServlet

    3、DispatcherServlet将到找到的bean交给适配器(handlerAdapter),由适配器去调用对应的handler(执行bean中的方法)

    4、执行完成后,将结果把返回给DispatcherServlet,然后由DispatcherServlet 交给视图解析器(ViewReslover)

    5、视图解析完成后,再交给DispatcherServlet,然后交给view 渲染(比如 JSP) 。最后将渲染后的结果,反馈给客户端

4、Controller类

package com.itheima.controller;

import org.springframework.web.servlet.ModelAndView;

import org.springframework.web.servlet.mvc.Controller;

import javax.servlet.http.HttpServletRequest;

import javax.servlet.http.HttpServletResponse;

/**

* 控制器类

*/

public class FirstController implements Controller{

@Override

public ModelAndView handleRequest(HttpServletRequest request,

HttpServletResponse response) {

// 创建ModelAndView对象

ModelAndView mav = new ModelAndView();

// 向模型对象中添加数据

mav.addObject("msg", "这是我的第一个Spring MVC程序");

// 设置逻辑视图名

mav.setViewName("/WEB-INF/jsp/first.jsp");

// 返回ModelAndView对象

return mav;

}

}

示例中使用的适配器(SimpleControllerHandlerAdapter)要求handler必须实现Controller接口

5、JSP

<%@ page language="java" contentType="text/html; charset=UTF-8"

pageEncoding="UTF-8"%>

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"

"http://www.w3.org/TR/html4/loose.dtd">

<html>

<head>

<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">

<title>入门程序</title>

</head>

<body>

${msg}

</body>

</html>

测试即可通过

  PS:以上代码为黑马视频教程的代码,自己手动敲的。

  声明:本文是初学Spring MVC 用以记录笔记,完全小白,理解较浅显,如有大拿愿意指点,不胜感激

以上是 Spring MVC框架配置方法详解 的全部内容, 来源链接: utcz.com/z/319187.html

回到顶部