基于SpringMVC入门案例及讲解

目录
  • 一、SpringMvc概述
  • 二、入门案例
    • 开发步骤
    • 1、创建web工程、引入依赖
    • 2、配置SpringMvc入口文件
    • 3、创建Springmvc.xml文件
    • 4、创建 业务处理器 Controller类
    • 5、测试
    • 6、运行流程

一、SpringMvc概述

SpringMVC是一个基于MVC设计模式的WEB层框架。

SpringMVC设计模式:

MVC,全名是(Model View Controller)的缩写,是一种软件设计模式。

具体含义:

  • Model:模型,用来处理数据,一般是一个实体类,例如User类;
  • View:视图,用来显示界面,可以是JSP或Html;
  • Controller:控制器,用来决定哪个界面来展示模型;(其实是业务处理器)

SpringMVC在项目中的作用:

JavaEE开发规范规定,一个Java web项目应该要分为三层:

  • WEB层:页面数据显示、页面跳转调度;
  • 业务层:业务处理和功能逻辑、事务控制;
  • 持久层:数据存取和封装、和数据库打交道;

二、入门案例

开发步骤

环境:jdk1.8 Tomcat8.5  idea2018  manven父工程子模块

1、创建web工程、引入依赖

项目结构:没有的就创建

pom.xml 依赖  添加打包方式为war

<groupId>com.day01springmvc</groupId>
    <artifactId>Springmvc01</artifactId>
    <packaging>war</packaging>

    <dependencies>

        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-webmvc</artifactId>
            <!--<version>4.3.1.RELEASE</version>-->
        </dependency>

        <dependency>
            <groupId>org.slf4j</groupId>
            <artifactId>slf4j-log4j12</artifactId>
        </dependency>
        <!-- JSP相关 -->
        <dependency>
            <groupId>jstl</groupId>
            <artifactId>jstl</artifactId>
        </dependency>
        <dependency>
            <groupId>javax.servlet</groupId>
            <artifactId>servlet-api</artifactId>
        </dependency>
        <dependency>
            <groupId>javax.servlet</groupId>
            <artifactId>jsp-api</artifactId>
        </dependency>
    </dependencies>
    <build>
        <plugins>
            <plugin>
                <groupId>org.apache.tomcat.maven</groupId>
                <artifactId>tomcat7-maven-plugin</artifactId>
                <configuration>
                    <port>8080</port>
                    <path>/</path>
                </configuration>
            </plugin>
        </plugins>
    </build>

添加web.xml文件及目录

2、配置SpringMvc入口文件

--DispatcherServlet--理解为总调度、web.xml里配置

web.xml

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://java.sun.com/xml/ns/javaee"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
        http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
         version="2.5">
    <!-- springmvc入口 -->
    <servlet>
        <servlet-name>springmvc</servlet-name>
        <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
        <!-- 项目启动时,就加载并实例化 -->
        <load-on-startup>1</load-on-startup>

   <!--当springmvc-servlet.xml没有按照springmvc规定命名就要加载这段来找springmvc.xml-->
        <!--<init-param>-->
            <!--<param-name>contextConfigLocation</param-name>-->
            <!--<param-value>classpath:springmvc.xml</param-value>-->
        <!--</init-param>-->
    </servlet>
    <!--
        /*拦截所有请求
        /拦截所有请求,不包括jsp(包括html)
        *.do表示拦截所有以.do结尾的请求
     -->
    <servlet-mapping>
        <servlet-name>springmvc</servlet-name>
        <url-pattern>/</url-pattern>
    </servlet-mapping>

</web-app>

3、创建Springmvc.xml文件

--理解为:适配器++视图解析器

springmvc.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"
       xsi:schemaLocation="http://www.springframework.org/schema/beans
        http://www.springframework.org/schema/beans/spring-beans.xsd">

    <!--基于注解、开启注解扫描-->
    <!--<context:component-scan base-package="com.day01springmvc.controller"> </context:component-scan>-->

    <!--
                   把Controller交给spring管理,
                   在浏览器中通过id属性的值来访问
                   而我们在web.xml中配置的DispatcherServlet的访问路径是*.do
                   为了能够让请求进入springmvc框架,所以id的值以do结尾
     -->
    <bean id="/hello.do" class="com.day01springmvc.controller.HelloController"></bean>

    <!--
            配置视图解析器
            prefix:指定视图所在的目录
            suffix:指定视图的后缀名
            例如:prefix="/WEB-INF/jsp/", suffix=".jsp",当viewname="test"时,
            跳转到/WEB-INF/jsp/test.jsp页面
            prefix+viewname+suffix 找到WEB-INF/hello.jsp
    -->
    <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
        <property name="prefix" value="/WEB-INF/"></property>
        <property name="suffix" value=".jsp"></property>
    </bean>

</beans>

4、创建 业务处理器 Controller类

HelloController.java继承Controller

package com.day01springmvc.controller;

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

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

/**
 * 业务处理器
 * @ Author     :ShaoWei Sun.
 * @ Date       :Created in 20:58 2018/11/16
 */
public class HelloController implements Controller {
    /**
     * 处理请求
     */
    @Override
    public ModelAndView handleRequest(HttpServletRequest request, HttpServletResponse response) throws Exception {
        System.out.println("hello请求进来了.................................................................");
        ModelAndView mv = new ModelAndView();
        //添加一个数据,页面上可以取出这个数据
        mv.addObject("msg", "这是第一个springmvc程序");
        //设置视图的名字
        mv.setViewName("hello");
        return mv;
    }
}

5、测试

6、运行流程

以上为个人经验,希望能给大家一个参考,也希望大家多多支持我们。

(0)

相关推荐

  • SpringMVC中Model与Session的区别说明

    目录 Model与Session区别 流程 小结一下 session和model问题导致登录无法正常退出 问题 分析 Model与Session区别 什么是Session:Session:在计算机中,尤其是在网络应用中,称为"会话".它具体是指一个终端用户与交互系统进行通信的时间间隔,通常指从注册进入系统到注销退出系统之间所经过的时间. 在网站使用中,为了保存用户信息.服务器会给每一个用户(浏览器)创建一个Session. 流程 1.客户端请求服务器 2.服务器创建Session,在服

  • SpringMVC实现文件上传下载的全过程

    目录 前言 一.通用配置 二.实现文件下载,上传功能 总结 前言 文件的上传和下载都是基于io复制,只不过 文件上传是浏览器向服务器发送报文 文件下载是服务器向浏览器发送报文 提示:以下是本篇文章正文内容,下面案例可供参考 一.通用配置 pom.xml <dependencies> <!-- SpringMVC --> <dependency> <groupId>org.springframework</groupId> <artifact

  • SpringMVC中的几个模型对象

    目录 SpringMVC的几个模型对象 1.ModelAndView 2.Map和modelAndView原理一样 3.@SessionAttributes SpringMVC的几个重要对象 SpringMVC的几个模型对象 模型对象的作用主要是保存数据,可以借助它们将数据带到前端. 常用的模型对象有以下几个: 1.ModelAndView 顾名思义,模型和视图,既可以携带数据信息,也可以携带视图信息,常规用法如下 /** * 目标方法的返回值可以是 ModelAndView 类型. * 其中可

  • SpringMVC @RequestMapping注解详解

    目录 一.@RequestMapping 1.@RequestMapping注解的功能 2.@RequestMapping注解的位置 二.@RequestMapping注解的属性 1.value属性(掌握) 2.method属性(掌握) 3.params属性(了解) 4.headers属性(了解) 5.SpringMVC支持ant风格的路径 6.SpringMVC支持路径中的占位符(重点) 三.@RequestMapping的派生类注解 测试form表单是否支持put或delete方式的请求 一

  • 关于SpringMVC在Controller层方法的参数解析详解

    目录 自定义参数解析器 实现效果 实现和配置 Spring提供解析器 一些使用Tricky 总结 使用版本: spring-boot: 2.1.6.RELEASE sping: 5.1.8.RELEASE java: openjdk 11.0.13 自定义参数解析器 为了能够实现自定义参数解析器,只需要实现 HandlerMethodArgumentResolver 并将添加到 WebMvcConfigurer#addArgumentResolvers 即可. 实现效果 下面以添加一个获取请求头

  • 基于SpringMVC入门案例及讲解

    目录 一.SpringMvc概述 二.入门案例 开发步骤 1.创建web工程.引入依赖 2.配置SpringMvc入口文件 3.创建Springmvc.xml文件 4.创建 业务处理器 Controller类 5.测试 6.运行流程 一.SpringMvc概述 SpringMVC是一个基于MVC设计模式的WEB层框架. SpringMVC设计模式: MVC,全名是(Model View Controller)的缩写,是一种软件设计模式. 具体含义: Model:模型,用来处理数据,一般是一个实体

  • 详解SpringMVC中拦截器的概念及入门案例

    目录 一.拦截器概念 二.拦截器入门案例 一.拦截器概念 拦截器(Interceptor)是一种动态拦截方法调用的机制,在SpringMVC中动态拦截控制器方法的执行 作用: 在指定的方法调用前后执行预先设定的代码 阻止原始方法的执行 拦截器与过滤器区别  归属不同:Filter属于Servlet技术,Interceptor属于SpringMVC技术 拦截内容不同:Filter对所有的访问进行增强,Interceptor仅针对SpringMVC的访问进行增强 二.拦截器入门案例 1.声明拦截器的

  • html form表单基础入门案例讲解

    目录 一,表格标签 –1,概述 –2,总结 二,表单标签 –1,测试 –2,总结 –3,form提交数据 三,form表单的练习 四,CSS -1,概述 -2,语法 -3,入门案例 五,选择器 总结 一,表格标签 向网页中加入表格 –1,概述 <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>测试 表格标签</title> </head&g

  • SpringMvc入门指南(必看)

    Spring Web MVC是一种基于Java的实现了Web MVC设计模式的请求驱动类型的轻量级Web框架,即使用了MVC架构模式的思想,将web层进行职责解耦,基于请求驱动指的就是使用请求-响应模型,框架的目的就是帮助我们简化开发,Spring Web MVC也是要简化我们日常Web开发的. Spring Web MVC也是服务到工作者模式的实现,但进行可优化.前端控制器是DispatcherServlet:应用控制器其实拆为处理器映射器(Handler Mapping)进行处理器管理和视图

  • 基于SpringMVC接受JSON参数详解及常见错误总结

    最近一段时间不想使用Session了,想感受一下Token这样比较安全,稳健的方式,顺便写一个统一的接口给浏览器还有APP.所以把一个练手项目的前台全部改成Ajax了,跳转再使用SpringMVC控制转发.对于传输JSON数据这边有了更深的一些理解,分享出来,请大家指正. 在SpringMVC中我们可以选择数种接受JSON的方式,在说SpringMVC如何接受JSON之前,我们先聊聊什么是JSON.具体的定义我也不赘述了,在JavaScript中我们经常这样定义JSON 对象 var jsonO

  • MyBatis-Plus 快速入门案例(小白教程)

    一.引言 学习MyBatis-Plus前提需要掌握:数据库相关操作.java等相关知识,最好熟悉Mybatis. 那么本章就来讲解快速搭建MyBatis-Plus开发环境以及对数据库实际操作. 二.准备工作 步骤一:使用IDEA快速搭建SpringBoot项目,填写相关信息即可. 步骤二:引入所需要maven依赖,小编这里有使用lombok依赖,有不了解的小伙伴可以自行学习一下,很简单的. <!--lombok--> <dependency> <groupId>org.

  • 实例详解SpringMVC入门使用

    MVC模式(Model-View-Controller)是软件工程中的一种软件架构模式,把软件系统分为三个基本部分:模型(Model),视图(View)和控制器(Controller).通过分层使开发的软件结构更清晰,从而达到开发效率的提高,可维护性和扩展性得到提高.Spring提供的MVC框架是在J2EE Web开发中对MVC模式的一个实现,本文通过实例讲解一下Spring MVC 的使用. 先来看一个HTTP request在Spring的MVC框架是怎么被处理的:(图片来源于Spring

  • SpringBoot2 整合Nacos组件及环境搭建和入门案例解析

    目录 一.Nacos基础简介 1.概念简介 2.关键特性 3.专业术语解释 4.Nacos生态圈 二.Nacos环境搭建 1.环境版本 2.环境包下载 3.启动环境启动文件地址: 三.整合SpringBoot2 1.新建配置 2.核心依赖 3.Yml配置文件 4.启动类配置 5.核心配置类 6.基础API用例 四.源代码地址 本文源码:GitHub·点这里 || GitEE·点这里 一.Nacos基础简介 1.概念简介 Nacos 是构建以“服务”为中心的现代应用架构,如微服务范式.云原生范式等

  • drools的简单入门案例场景分析

    目录 一.背景 1.Drools介绍 二.为什么要学习drools 三.实现上方这个简单的打折案例 1.引入jar包 2.编写kmodule.xml配置文件 3.编写规则文件 1.规则文件的语法 2.编写规则文件 3.解释一下包名 四.编写Java代码 1.编写一个订单对象 2.编写测试代码 五.测试结果 六.drools引擎的基本组件 七.完整代码 八.参考文档 一.背景 最近在学习规则引擎drools,此处简单记录一下drools的入门案例. 1.Drools介绍 drools是一款由JBo

  • MyBatis框架简介及入门案例详解

    目录 前言 MyBatis简介 快速入门 映射文件 sql片段与resultMap MyBatis的增删改查 1.添加操作 2.修改操作 3.删除操作 前言 传统的JDBC操作数据库都是通过写一个java类,在类中调用接口下的API执行相应的SQL,存在大量的硬编码.试想,若是开发一个日活度高的系统,那SQL的变动的非常大,就要我们去相应的类中修改Java代码,特别是进行查询操作时需要我们手动将结果集封装到实体类中,造成后期维护压力山大 总而言之,缺点多多 MyBatis简介 mybatis是一

随机推荐