ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

挑灯夜读——Spring MVC:入门保姆级教学操作

2021-10-26 11:02:00  阅读:169  来源: 互联网

标签:控制器 Spring 前端 配置 夜读 视图 MVC 处理器 创建


使用ide简单创建一个Spring MVC

流程介绍

  • 本次项目是参考书籍和网上信息做的一次小学习,希望能有所收获!
    步骤如下

  • 1 :创建项目,引入jar包。

  • 2:配置前端控制器

  • 3:创建Controller类

  • 4:创建Spring MVC的配置文件,配置控制器映射信息

  • 5:创建视图网页

  • 6:启动项目,测试应用

本次项目的步骤就可以简单总结为以上六点,下面我们将一一做介绍。

1、创建项目,引入jar包

  • 开启本次项目之路,配置好相关jar包,以满足项目需求,这些包可以在idea中直接创建时选用,如下:
    在这里插入图片描述
    : 本次可能遇到的问题(包括,创建目录没有Spring选项,解决方法如下),如果有,可以跳过

  • 方法一:

  • 同时点击 “ctrl + Shift + Alt + / ”,会出现一个目录,选择最上面的Register。进入下列目录选项:
    在这里插入图片描述

  • 然后进入并选择 : javaee.legacy.project.wizard,最后重启即可
    在这里插入图片描述

  • 方法二:选择setting -> Plugins 在里面搜索spring,打勾后点击Apply,重启即可(我使用方法一,这是网上方法)
    在这里插入图片描述

  • 之后的整体框架都初始化好了,只需要配置一下tomcatArtifacts

配置tomcat的目的是发布服务器,作为一个PC端可发布的小型服务器,可以较为快速的在电脑上发布并被访问。

  • 1、配置如下:在这里插入图片描述
    :如果出现端口被占用,方法一:杀掉占用该端口的进程;方法二:更换上述的HTTP port端口。JMX port同理。如果右下角存在Fix按钮,点击修复即可!!!

  • 2、Artifacts:作为一个maven中的概念,表示某个module需要如何打包。例如我们常说的jar、war或者war exploded、ear等形式。
    在这里插入图片描述

2、配置前端控制器

  • 在web.xml文件中配置我们的前端控制器DispatcherServlet,如下所示:
    在这里插入图片描述
  • 在servlet元素下配置前端过滤器。并初始化加载配置文件。

主要是对前端过滤器初始化时加载的文件进行配置,在元素 “init-param”中实现,并在servlet-mapping映射中将*.from修改为 / 。

  • 其中:load-on-startup元素中的1表示容器在启动时立即加载这个Servlet;url-pattern元素中的"/"来拦截所有的URL,统一交由DispatcherServlet处理。

3、创建Controller类

  • 在项目src下,创建org.spring.controller目录文件,并创建hello.java文件如下:
    在这里插入图片描述
    :导入的包,选择与红色框定选择的相同才对。

  • 其中logger日志,将调用情况记录下来。

  • ModelAndView时我们的包含了视图名和模型的对象

  • 对象添加hello world的信息,其attributeName起名为message。

  • 设置逻辑视图名,也就是通过该路径,找到我们的网页文件。

  • 将该对象返回

4、创建配置文件,配置控制器映射信息

  • 先上图:
    在这里插入图片描述

可以看到上述添加的内容都在红色方框中,其中分别配置了Handle、处理映射器、处理适配器以及视图解析器。

  • 首先定义了一个名称为“hello”的Bean,该Bean会将控制类hello映射到“/hello”请求中;

  • 然后配置了处理器映射器,其目的是为了将处理器Bean中的name(即url)进行处理器查找;

  • 然后配置了处理器适配器,主要是为了完成对hello处理器中handleRequest方法进行调用;

  • 最后配置了视图解析器InternalResourceViewResolver来解析结果视图,将视图呈现给用户。

  • 在spring4.0之后,其实可以不要配置处理映射器、处理适配器和视图解析器,Spring内部会默认加载出来,这里展示是为了仔细了解内部原理。

5、创建视图页面

  • 在创建controller类时我们提到,在给对象添加逻辑视图名时,就埋下了网页创建在何处的伏笔,最终需要在WEB-INF目录下创建content目录,在该目录下创建名为welcome的jsp文件,如下:
    在这里插入图片描述
  • 其中head作为标题,显示在我们的网页最上端的位置,body作为主要内容显示在网页中。我们使用${}作为EL表达式来获取对象name为message的信息。(此时会获取到hello world信息,如下)
    在这里插入图片描述

6、启动项目

  • 点击右上角绿色三角符号,完成项目发布,到tomcat服务器后启动服务器。在浏览器中访问我们在tomcat中设置的网址进行访问。默认为8080端口,我更改为8888。
    在这里插入图片描述
  • 可以看到访问成功,并且如下在调试台看到
    在这里插入图片描述
  • 每点击一次都会使handleRequest被调用。也就明白了整个流程的意义。

总结

  • 1、用户通过浏览器向服务器发送请求,请求会被Spring MVC的前端控制器DispatchServlet拦截
  • 2、拦截到请求后,会调用HandleMapping处理器映射器
  • 3、处理器映射器根据请求URL找到具体的处理器,生成处理器对象及处理器拦截器(如果有就生成)一并返回DispatcherServlet
  • 4、DispatcherServlet会通过返回信息选择合适的HandlerAdapter(处理适配器)
  • 5、处理适配器会调用并执行Handler(处理器),这里的处理器就是程序中编写的Controller类,也被成为后端控制器
  • 6、Controller执行完成后,会返回一个ModelAndView对象,该对象中包含视图名或包含模型与视图名
  • 7、处理器适配器将ModelAndView对象返回给DispatcherServlet(前端控制器)
  • 8、前端控制器会根据ModelAndView对象选择一个合适的ViewResolver(视图解析器)
  • 9、ViewResolver解析后,会向前端控制器中返回具体的View
  • 10、前端控制器对View进行渲染(即将模型数据填充至视图中)
  • 11、视图渲染结果会返回给客户端浏览器显示

标签:控制器,Spring,前端,配置,夜读,视图,MVC,处理器,创建
来源: https://blog.csdn.net/qq_45746068/article/details/120965176

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有