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和视图连接在一起。我们不必显式编写任何请求/响应处理逻辑。通过更改中配置信息,可以方便得切换到其他控制器或不同的视图渲染技术。
1.文章《mvc什么是键值对》援引自互联网,为网友投稿收集整理,仅供学习和研究使用,内容仅代表作者本人观点,与本网站无关,侵删请点击页脚联系方式。
2.文章《mvc什么是键值对》仅供读者参考,本网站未对该内容进行证实,对其原创性、真实性、完整性、及时性不作任何保证。
相关推荐
- . 现代买票为什么带上携程保险
- . 潮阳怎么去广州南站
- . 湖南马拉河怎么样
- . 烧纸为什么到三岔路口
- . 百色为什么这么热
- . 神州租车怎么样
- . 芜湖方特哪个适合儿童
- . 护肤品保养液是什么类目
- . 早晚的护肤保养有哪些项目
- . 女孩护肤品怎么保养的最好