mvc什么是键值对

2023-03-22 20:00 14次浏览 攻略

Spring mvc通过基于模型视图控制器体系结构(MVC)模式的框架实现了简单的Web应用程序开发。

MVC体系结构模式分离了用户界面(视图)和正在处理的数据(模型),核心是负责管理视图与模型之间交互的控制器。

Spring MVC的核心是一个servlet,即DispatcherServlet,它处理每个请求。DispatcherServlet转发HTTP请求到程序开发人员写的控制器Controller类来处理具体的业务逻辑,并最终决定哪些视图应作为响应显示给用户。

让我们开发一个简单的Web应用程序,能够接受请求并将一些相应数据发回给用户。

对于本教程,你还需要准备以下前置知识:

1.支持Servlet容器,例如tomcat服务器

2.Spring 3.0框架相关知识

3. 本教程使用eclipse开发部署,当然你也可以使用其他IDE,像很现在很受推崇的高效的Idea。

4.熟悉JSP和Servlet知识是必需的。

第1步:如果要在J2EE中开发Web应用程序,通常需要将servlet/JSP等资源打包在.war文件中,其中还需要一个包含配置元数据的部署描述符web.xml,war格式可以直接部署到像Tomcat这样的应用服务器上。

通过Spring,首先要做的就是通过将org.定义为此应用程序的servlet类,将spring与此J2EE基础架构联系起来。您还需要将org.定义为监听器。ContextLoaderListener负责加载具有Spring元数据的Spring特定应用程序上下文。

web.xml安装程序确保对应用程序的每个请求都由servlet引擎路由到DipatcherServlet。

需要配置的web.xml如下所示:

第2步:Web应用程序中的所有请求都由控制器类Controller完成。这是一个普通的java类或bean,它实现了抽象类org.。我们需要重写handleRequestInternal方法。在这种方法中,将执行处理请求的必要具体业务逻辑事项,这可能包括例如从数据库读取业务数据。

该方法返回一个org.对象,该对象封装视图的名称以及需要由视图显示的任何数据(模型)。ModelAndView将数据保存为map键值对数据,此数据稍后可供视图使用。如果视图是jsp,则可以使用jstl技术或直接查询Request对象来访问数据。Controller控制器代码如下所示:

视图springmvc的名称传递给ModelAndView的构造函数,该ADDOBJECT方法调用添加2个模型对象,“greeting”和“的member1”。稍后,你将看到视图如何检索对象并显示它们。

第3步:每个Spring应用程序都需要定义bean及其依赖项的元数据配置。对于这个应用程序,我们创建一个。我们通过在web.xml中指定它的位置来帮助spring找到它。

在中,控制器bean被定义为:

<bean name="/*.htm" class="com.mj.;/>

步骤4:DispatcherServlet是如何知道哪个Controller应该处理请求?

Spring使用处理程序映射将控制器与请求相关联。2个常用的处理器映射是BeanNameUrlHandlerMapping和SimpleUrlHandlerMapping。

在BeanNameUrlHandlerMapping中,当请求url匹配bean的名称时,bean定义中的类是处理请求的控制器。

在我们的例子中,我们使用BeanNameUrlHandlerMapping,如下所示。以.htm结尾的每个请求URL都由SpringMVCController处理。

<bean name="/*.htm" class="com.mj.;/>

在SimpleUrlHandlerMapping中,映射关系更加明确。您可以指定一些URL,并且每个URL都可以与控制器明确关联。

第5步:DispatcherServlet是如何知道返回什么作为响应?

如前所述,控制器的handleRequestInternal方法返回一个ModelAndView对象。

在上面显示的控制器代码中,视图“springmvc”的名称在ModelAndView的构造函数中传递。在这一点上,我们刚刚给出了视图的名称。还没有说过哪些类处理来生成html,也没有说过所用的视图技术是JSP还是velocity模板或XSLT。为此,您需要一个ViewResolver,它提供了视图名称和具体视图之间的映射。Spring允许您使用许多不同的技术生成具体视图,但对于此示例,我们将使用JSP。

Spring提供了一个支持JSP 的类InternalResourceViewResolver,中的声明告诉spring我们使用这个解析器。将前缀和后缀添加到视图名称中以生成呈现视图的jsp文件的路径。

步骤6:在这个例子中,视图解析为,它使用JSTL获取数据并显示它。Spring将模型对象“greeting”和“member1”作为请求范围对象提供给JSP。这里只简单实例一下,下面的代码直接从请求中获取对象。

第7步:通过开发工具eclipse导出war工程文件,直接将war包部署到tomcat安装目录下webapps文件夹。

第8步:通过Web浏览器访问http:// localhost:8080 / springmvc / ,浏览器将正确显示测试数据。

总而言之,Spring通过提供组件化来简化Web应用程序开发,以上我们使用Spring MVC构建了一个简单的Web应用程序。Spring提供了一种简单的方法将我们的数据模型,控制器Controller和视图连接在一起。我们不必显式编写任何请求/响应处理逻辑。通过更改中配置信息,可以方便得切换到其他控制器或不同的视图渲染技术。

相关推荐