详解SpringMVC在IDEA中的第一个程序

 更新时间:2020年09月30日 15:35:04   作者:Okalin  
Spring MVC 属于Spring Framework的一部分,是一种Spring框架内置的MVC的实现。这篇文章主要介绍了SpringMVC在IDEA中的第一个程序,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下

MVC是模型(model),视图(view),控制器(controller)的简称,属于一种软件设计规范,通过将业务逻辑,数据,显示分离的方法来组织代码,它属于一种架构模式。

  • Model(模型):数据模型,提供要展示的数据,属于领域模型或JavaBean组件,现在一般分离开来:Value Object(数据DAO)和服务层(行为Service)。一般会包括数据和业务。
  • View(视图):负责进行模型的展示,即所谓的用户界面。
  • Controller(控制器):接受用户请求,委托给模型进行处理,处理完毕后把返回的模型数据返回给视图,由视图负责展示。

典型的MVC结构就是JSP+servlet+javabean的模型。

1、SpringMVC是什么

1.1 概述

Spring MVC 属于Spring Framework的一部分,是一种Spring框架内置的MVC的实现。

1.2 控制器

Spring Web模型是围绕DispatcherServlet设计的,由他来处理所有的HTTP请求和响应。

SpringMVC的原理如下:
发出请求时被前置的控制器拦截到请求,根据参数生成代理请求,找到请求对应的实际控制器,控制器处理请求,创建数据模型,然后将数据模型返回给中心控制器,控制器使用模型与视图渲染视图结果,将结果返回给中心控制器,再将结果返回给请求者。

2、编写SpringMVC程序

2.1 项目结构

2.2 新建项目

首先,我们新建一个项目。我们在当前项目上点击右键Model。

在这里插入图片描述

进入下面的界面,选择Maven,然后点击Create from archetype,选择列表中的org.apche.maven.archetype:maven-archetype-webapp,点击next。

在这里插入图片描述

给新项目命名,我的项目是命名为Maven-SpringMVC-02。点击Next。

在这里插入图片描述

点击Finish。新项目创建完成。

在这里插入图片描述

下图就是SpringMVC搭建完成的结果。

在这里插入图片描述

2.3 编写配置

2.3.1 导入各种依赖

首先,我们导入依赖,比如j2ee相关的包,mysql驱动包,spring相关包,还有其他需要的包。

编写的依赖如下。

在这里插入图片描述

注意: 如果导入依赖后会报红,说明Maven并没有找到这些依赖包。这时我点开右上角的按钮(被红色圈出来的按钮),然后Maven就会开始导入这些依赖,等一会就不会报红了。

2.3.2 编写Spring MVC的配置文件

在我们导入依赖后,我们开始编写Spring MVC的配置文件:springmvc-servlet.xml。我一般是放在webapp的路径下。

SpringMVC的配置文件的路径如下。

在这里插入图片描述

这是官方文档最开始的配置文件格式。官方文档指路

在这里插入图片描述

然后,IDEA需要我们把这个文件变成SpringMVC的配置文件。此时,我们点击右上角的Configure application context,就会出现下图的窗口,点击OK,这个文件就会被IDEA认作是Spring MVC的配置文件

在这里插入图片描述

做完上述操作后,我们开始添加处理映射器。

在这里插入图片描述

接着我们添加处理适配器。

在这里插入图片描述

继续添加视图解析器。

在这里插入图片描述

至此,我们的Spring 配置文件就写好了。

同时,我们需要将这个配置文件配置到web.xml文件中。

在这里插入图片描述

2.4 编写控制器

在编写控制器之前,我们先需要创建一系列的包来方便管理我们的控制器,我们的DAO类,还有我们的实体类。

我们首先先创建一个java文件夹。

在这里插入图片描述

然后,我们创建一个com.exanple包。

在这里插入图片描述

我们接着就是要在这个包里分别创建controller包,dao包,pojo包,service包等等。这次我们只需要使用到controller,就先只创建一个controller包。

在这里插入图片描述

接着,我们在controller包下编写Hellocontroller。

在这里插入图片描述

这里的@controller注解是为了让Spring MVC初始化时能自动扫描到。@RequsetMapping是为了映射请求路径。Model是为了将action上的数据带到视图中。方法返回的hello,加上配置文件中的前后缀变成WEB-INF/jsp/hello.jsp。

注意: 写完这些后,我们需要把自己的包映射到Spring MVC配置文件。同时,我们还要让Spring MVC能处理静态资源。

在这里插入图片描述

这样,一个控制器与其的环境也写好了。

2.5 编写视图

首先,依然是要写一个jsp包,来存放jsp文件。

在这里插入图片描述

接着,在jsp文件夹下创建一个hello.jsp文件。

在这里插入图片描述

如此,一个视图就完成了,视图可以获得一个从Controller来的信息。

2.6 部署项目

我们点击右上角的方框Edit Configuration,将会出现下面的页面。

在这里插入图片描述

我们点击左上角的加号 + ,找到Tomcat server,点击其下的local,点击后将会出现下面的页面。

在这里插入图片描述

新建一般会出问题,是因为没有部署包,我们点击fix。点击我们当前项目的包。

在这里插入图片描述

建议把application context变成空目录。然后点击OK。

在这里插入图片描述

至此,我们的项目就部署完成了。我们点击右上角的绿色三角形,开始运行。

在这里插入图片描述

首先出现一下界面,是SpringMVC项目部署完成的结果。

在这里插入图片描述

然后,我们在地址栏输入http://localhost:8080/HelloController/Hello,将会出现下面的界面。

在这里插入图片描述

至此,我们的第一个SpringMVC项目就搭建完成了。

到此这篇关于SpringMVC在IDEA中的第一个程序的文章就介绍到这了,更多相关IDEA第一个程序内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • 浅析IDEA如何正确配置Gradle? GRADLE_USER_HOME 和 Gradle user home的区别

    浅析IDEA如何正确配置Gradle? GRADLE_USER_HOME 和 Gradle user

    这篇文章主要介绍了IDEA如何正确配置Gradle? GRADLE_USER_HOME 和 Gradle user home的区别,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-08-08
  • 基于Listener监听器生命周期(详解)

    基于Listener监听器生命周期(详解)

    下面小编就为大家带来一篇基于Listener监听器生命周期(详解)。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-10-10
  • 详解Maven项目Dependencies常见报错及解决方案

    详解Maven项目Dependencies常见报错及解决方案

    这篇文章主要介绍了详解Maven项目Dependencies常见报错及解决方案,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-11-11
  • 谈谈你可能并不了解的java枚举

    谈谈你可能并不了解的java枚举

    这篇文章主要给大家介绍了一些关于你可能并不了解的java枚举的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-09-09
  • JAVA对称加密算法PBE定义与用法实例分析

    JAVA对称加密算法PBE定义与用法实例分析

    这篇文章主要介绍了JAVA对称加密算法PBE定义与用法,结合实例形式分析了JAVA对称加密算法PBE的概念、原理、定义及使用方法,需要的朋友可以参考下
    2019-09-09
  • Java在web页面上的编码解码处理及中文URL乱码解决

    Java在web页面上的编码解码处理及中文URL乱码解决

    这篇文章主要介绍了Java在web页面上的编码解码处理及中文URL乱码解决,文中所介绍的两种使用过滤器解决中文链接乱码的方法非常有效,需要的朋友可以参考下
    2016-02-02
  • IDEA 插件 mapper和xml互相跳转操作

    IDEA 插件 mapper和xml互相跳转操作

    这篇文章主要介绍了IDEA 插件 mapper和xml互相跳转操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2021-02-02
  • java操作elasticsearch的案例解析

    java操作elasticsearch的案例解析

    这篇文章主要介绍了java操作elasticsearch的案例解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2019-10-10
  • Spring MVC学习笔记之json格式的输入和输出

    Spring MVC学习笔记之json格式的输入和输出

    本篇文章主要介绍了Spring MVC学习笔记之json格式的输入和输出,这里整理了详细的代码,有需要的小伙伴可以参考下。
    2017-03-03
  • Java构造函数与普通函数用法详解

    Java构造函数与普通函数用法详解

    本篇文章给大家详细讲述了Java构造函数与普通函数用法以及相关知识点,对此有兴趣的朋友可以参考学习下。
    2018-03-03

最新评论