SpringMVC系列教程——01入门与案例

SpringMVC系列教程——01入门与案例

在开始本教程之前,需要掌握一定的web的知识,这里推荐看javaWeb——Servlet和HTTP请求协议复习
下一篇:SpringMVC系列教程——02URL处理器映射

一.SpringMVC概要

MVC
M:Model,模型
V:View,视图
C:Controller - servlet

SpringMVCSpring提供的一个强大而灵活的web框架。借助于注解,SpringMVC提供了几乎是POJO的开发模式,使得控制器的开发和测试更加简单。这些控制器一般不直接处理请求,而是将其委托给Spring上下文中的其他bean,通过Spring的依赖注入功能,这些bean被注入到控制器中。

Spring MVC主要由DispatcherServlet、处理器映射【找控制器】、适配器【调用控制器的方法】、控制器【业务】、视图解析器、视图组成。(了解,在实际开发学习中加强印象)

二.工程创建

在这里插入图片描述在这里插入图片描述

三.案例讲解

1.jar包导入
项目所需的jar包都在这里面了。

链接:https://pan.baidu.com/s/1pxFaLsditN0a7M3HMrM16Q
提取码:bzwk

2.文件配置
在web.xml文件里面配置DispatcherServlet,这一步的配置如果看不懂请参见javaWeb——Servlet和HTTP请求协议复习

<servlet>
     <servlet-name>DispatcherServlet</servlet-name>
     <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
     <load-on-startup>1</load-on-startup>
 </servlet>
 <servlet-mapping>
     <servlet-name>DispatcherServlet</servlet-name>
     <url-pattern>*.do</url-pattern>
 </servlet-mapping>

3.在WEB-INF目录下面创建DispatcherServlet-servlet.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:mvc="http://www.springframework.org/schema/mvc"
	xmlns:context="http://www.springframework.org/schema/context"
	xmlns:aop="http://www.springframework.org/schema/aop" xmlns:tx="http://www.springframework.org/schema/tx"
	xsi:schemaLocation="http://www.springframework.org/schema/beans 
		http://www.springframework.org/schema/beans/spring-beans-3.2.xsd 
		http://www.springframework.org/schema/mvc 
		http://www.springframework.org/schema/mvc/spring-mvc-3.2.xsd 
		http://www.springframework.org/schema/context 
		http://www.springframework.org/schema/context/spring-context-3.2.xsd 
		http://www.springframework.org/schema/aop 
		http://www.springframework.org/schema/aop/spring-aop-3.2.xsd 
		http://www.springframework.org/schema/tx 
		http://www.springframework.org/schema/tx/spring-tx-3.2.xsd">
</beans>

4.jsp页面创建与控制器创建
在这里插入图片描述
`UserController

package web.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 UserController implements Controller {
    @Override
    public ModelAndView handleRequest(HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse) throws Exception {
        ModelAndView mav = new ModelAndView("user/UserList");
        mav.addObject("name","jack");
        return mav;
    }
}

UserList.jsp

<%--
  Created by IntelliJ IDEA.
  User: Administrator
  Date: 2020/7/29
  Time: 14:05
  To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
    <title>Title</title>
</head>
<body>
<!--EL表达式-->
    ${name}:
</body>
</html>

5.在DispatcherServlet-servlet.xml里配置如下内容

<bean class="org.springframework.web.servlet.handler.BeanNameUrlHandlerMapping"></bean>
<!--2.配置控制器处理适配器-->
<bean class="org.springframework.web.servlet.mvc.SimpleControllerHandlerAdapter"></bean>
<!--3.配置控制器,即配置访问路径-->
<bean name="/user.do" class="web.Controller.UserController"></bean>
<!--4.配置资源视图解析器-->
<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
    <!--前缀-->
    <property name="prefix" value="/WEB-INF/views/"></property>
    <!--后缀-->
    <property name="suffix" value=".jsp"></property>
</bean>

访问如下:
在这里插入图片描述

四.案例原理讲解

我们先看这张原理图
在这里插入图片描述
下面我们把上面那个案例的具体过程原理走一遍;首先我们在浏览器输入的网址:localhost:8080//user.do,访问后,相当于发送了一次请求这次请求被DispatcherServlet接受到,然后在在DispatcherServlet-servlet.xml里面找到下面配置的BeanNameUrlHandlerMapping

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

接着DispatcherServlet 转送给BeanNameUrlHandlerMapping,接下来开始寻找到DispatcherServlet-servlet.xml里面的SimpleControllerHandlerAdapter

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

然后由SimpleControllerHandlerAdapterDispatcherServlet-servlet.xml里找到UserController并执行我们的UserControllerModelAndView()方法(这一点要记住了)

<bean name="/user.do" class="web.Controller.UserController"></bean>

接下来DispatcherServlet-servlet.xml里找到InternalResourceViewResolver

<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
    <!--前缀-->
    <property name="prefix" value="/WEB-INF/views/"></property>
    <!--后缀-->
    <property name="suffix" value=".jsp"></property>
</bean>

由它将/WEB-INF/views/.jsp与我们的ModelAndView()里的user/UserList拼接得到完整资源路径/WEB-INF/views/user/UserList.jsp然后将资源返回响应给浏览器。

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值