多语言展示
当前在线:1470今日阅读:26今日分享:39

Spring如何为web应用程序提供服务?

Spring如何为web应用程序提供服务?
工具/原料
1

springmvc

2

IntelliJ IDEA

方法/步骤
1

模型-视图-控制器(MVC)模式是处理用户界面的一种常见方法。顾名思义,它将应用程序分为三个部分。

2

模型是应用程序要处理的数据的表示形式。

3

视图向用户展示了该模型的表示形式。根据应用程序的性质,这可以是屏幕上的文本,也可以是使用图形和动画的更复杂的可视化。

4

控制器将所有东西连接起来。它负责处理任何输入,这些输入将控制如何创建模型,然后它将该模型传递给适当的视图。

5

下图显示了sports results服务的接口。

6

Spring的MVC框架被设计为与Java Servlet规范兼容。许多应用程序的提供者和供应商使用这个规范,比如免费可用的Apache Tomcat和Jetty,以及像IBM的Websphere Application Server这样的商业实现。所有这些都可以与Spring MVC一起使用。

7

当应用程序服务器启动时,它将查找文件web。类路径上的META-INF包中的xml。此文件指定服务器将提供什么应用程序或servlet。在web.xml中,您提供了一个扩展HttpServlet的类,该类定义了如何响应GET和POST等HTTP方法。

8

虽然您可以提供自己的实现,但是要使用Spring MVC,您可以使用它的实现org.springframework.web.servlet.DispatcherServlet。下图给出了示例web.xml文件的完整定义,将以/mvc开头的任何请求传递给DispatcherServlet。

9

当控件传递给DispatcherServlet时,它立即查找应用程序上下文XML定义,保存在类路径位置WEB-INF/[servlet-name]-servlet.xml。对于上图,它将被称为mvc-servlet.xml。

10

这个文件是一个常规的、熟悉的Spring应用程序上下文。您可以在这里指定任何Spring bean,它们将在服务器启动时实例化。下图是一个非常简单的应用程序上下文。

11

这里有三个主要的操作。大多数Spring MVC控制器都是使用注释定义的,因此context:component-scan标记通知应用程序上下文哪些包要扫描带有@Controller注释的类。设置视图解析器,用于呈现和显示任何请求的结果;当Spring MVC需要显示请求的输出时,它将请求ViewResolver类型的bean。最后,这个应用程序有一个特定于应用程序的bean,即DummySportsResultsService的实例。

12

这只是一个常规的应用程序上下文。如果需要,您可以在MVC应用程序之外使用它,比如Spring的集成测试框架。

推荐信息