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

 更新时间:2020年10月1日 00:40  点击:2122

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第一个程序内容请搜索猪先飞以前的文章或继续浏览下面的相关文章希望大家以后多多支持猪先飞!

[!--infotagslink--]

相关文章

  • IntelliJ IDEA2021.1 配置大全(超详细教程)

    这篇文章主要介绍了IntelliJ IDEA2021.1 配置大全(超详细教程),需要的朋友可以参考下...2021-04-18
  • 解决IDEA 左侧Project中没有out文件夹的问题

    这篇文章主要介绍了解决IDEA 左侧Project中没有out文件夹的问题,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2021-02-08
  • idea 修改项目名和module名称的操作

    这篇文章主要介绍了idea 修改项目名和module名称的操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2021-02-13
  • 关于idea一直卡在build不动的解决方案

    这篇文章主要介绍了idea一直卡在build不动的解决方案,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下...2020-10-21
  • Intellij IDEA连接Navicat数据库的方法

    这篇文章主要介绍了Intellij IDEA连接Navicat数据库的方法,本文通过图文并茂的形式给大家介绍的非常详细,对大家的学习或工作具有一定的参考借价值,需要的朋友可以参考下...2021-03-25
  • idea 访问html页面端口号显示的是63342而不是8080

    这篇文章主要介绍了idea 访问html页面端口号显示的是63342而不是8080,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧...2020-08-11
  • 解决IDEA占用C盘空间过大的问题

    这篇文章主要介绍了解决IDEA占用C盘空间过大的问题,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2021-02-22
  • intelliJ IDEA 多行选中相同内容的快捷键分享

    这篇文章主要介绍了intelliJ IDEA 多行选中相同内容的快捷键分享,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2021-02-06
  • intellij idea快速查看当前类中的所有方法(推荐)

    这篇文章主要介绍了intellij idea快速查看当前类中的所有方法,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下...2020-09-02
  • 解决idea2020 maven无法自动导包的问题

    这篇文章主要介绍了解决idea2020 maven无法自动导包的问题,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2021-02-13
  • 解决IDEA maven 项目修改代码不生效,mvn clean、install后才生效

    这篇文章主要介绍了解决IDEA maven 项目修改代码不生效,mvn clean、install后才生效的问题,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2020-09-25
  • IDEA中的clean,清除项目缓存图文教程

    这篇文章主要介绍了IDEA中的clean,清除项目缓存图文教程,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2020-09-25
  • idea 打包maven项目忽略test文件的操作

    这篇文章主要介绍了idea 打包maven项目忽略test文件的操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2021-02-05
  • 解决IDEA插件市场Plugins无法加载的问题

    这篇文章主要介绍了解决IDEA插件市场Plugins无法加载的问题,本文通过图文并茂的形式给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下...2020-10-21
  • IDEA 2021.2 激活教程及启动报错问题解决方法

    这篇文章主要介绍了IDEA 2021.2 启动报错及激活教程,文章开头给大家介绍了idea2021最新激活方法,关于idea2021启动报错的问题小编也给大家介绍的非常详细,需要的朋友可以参考下...2021-10-15
  • IDEA如何添加配置文件到classpath中

    这篇文章主要介绍了IDEA如何添加配置文件到classpath中,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下...2020-09-19
  • 解决idea check out 切换分支时找不到需要的分支问题

    这篇文章主要介绍了解决idea check out 切换分支时找不到需要的分支问题,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2021-02-09
  • 详解在IDEA中将Echarts引入web两种方式(使用js文件和maven的依赖导入)

    这篇文章主要介绍了在IDEA中将Echarts引入web两种方式(使用js文件和maven的依赖导入),本文通过图文并茂的形式给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下...2020-07-11
  • idea out目录与target目录的区别详解

    这篇文章主要介绍了idea out目录与target目录的区别详解,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2021-02-08
  • idea 无法debug调试的解决方案

    这篇文章主要介绍了idea 无法debug调试的解决方案,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧...2020-09-09