您好,欢迎访问三七文档
当前位置:首页 > 办公文档 > 其它办公文档 > spring基于框架和JDBC例子
在Spring的WebMVC框架提供了模型-视图-控制器架构以及可用于开发灵活,松散耦合的Web应用程序准备的组件。MVC模式会导致分离的应用程序(输入逻辑,业务逻辑和UI逻辑)的不同方面,同时提供这些元素之间的松耦合。模型(Model)封装了应用程序的数据和一般他们会组成的POJO。视图(View)是负责呈现模型数据和一般它生成的HTML输出,客户端的浏览器能够解释。控制器(Controller)负责处理用户的请求,并建立适当的模型,并把它传递给视图渲染。DispatcherServletSpring的web模型-视图-控制器(MVC)框架是围绕着处理所有的HTTP请求和响应的DispatcherServlet的设计。Spring的WebMVC框架的DispatcherServlet的请求处理流程说明如下图:下面是对应于传入的HTTP请求到DispatcherServlet的事件序列:1.接收HTTP请求后,DispatcherServlet咨询HandlerMapping来调用相应的控制器。2.该控制器接受请求并调用基于使用GET或POST方法相应的服务方法。服务方法将基于定义的业务逻辑设置模型数据,并返回视图名到DispatcherServlet。3.DispatcherServlet将需要帮助的ViewResolver从拾取到该请求所定义的视图。4.一旦视图被敲定,DispatcherServlet会传递模型数据是在浏览器上最终呈现的视图。所有上述部件,即HandlerMapping,控制器和视图解析器WebApplicationContext部分是纯的ApplicationContext必要的Web应用程序的一些额外的功能扩展。所需配置你需要映射所需的DispatcherServlet处理,通过在web.xml文件中使用URL映射请求。下面是一个例子,说明声明和映射HelloWebDispatcherServlet的例子:web-appid=WebApp_IDversion=2.4xmlns=:xsi=:schemaLocation=://java.sun.com/xml/ns/j2ee/web-app_2_4.xsddisplay-nameSpringMVCApplication/display-nameservletservlet-nameHelloWeb/servlet-nameservlet-classorg.springframework.web.servlet.DispatcherServlet/servlet-classload-on-startup1/load-on-startup/servletservlet-mappingservlet-nameHelloWeb/servlet-nameurl-pattern*.jsp/url-pattern/servlet-mapping/web-appweb.xml文件将被保存在您的Web应用程序的WebContent/WEB-INF目录。在DispatcherServlet的HelloWeb初始化,该框架将尝试从一个名为[servlet-name]-servlet.xml位于应用程序WebContent/WEB-INF目录文件加载应用程序上下文。在这种情况下我们的文件将是HelloWeb-servlet.xml。接下来,servlet-mapping标记指示URL会被DispatcherServlet处理。这里全部用。jsp结束HTTP请求将由DispatcherServlet的HelloWeb处理。如果不想用默认文件名为[servlet-name]-servlet.xml和默认位置的WebContent/WEB-INF,可以通过添加servlet的listenerContextLoaderListener在web.xml文件中定义该文件的名称和位置如下:web-app...!--------DispatcherServletdefinitiongoeshere-----....context-paramparam-namecontextConfigLocation/param-nameparam-value/WEB-INF/HelloWeb-servlet.xml/param-value/context-paramlistenerlistener-classorg.springframework.web.context.ContextLoaderListener/listener-class/listener/web-app现在,让我们检查所需配置的HelloWeb-servlet.xml文件,放置在Web应用程序的WebContent/WEB-INF目录:beansxmlns=:context=:xsi=:schemaLocation=://://://:component-scanbase-package=com.yiibai/beanclass=org.springframework.web.servlet.view.InternalResourceViewResolverpropertyname=prefixvalue=/WEB-INF/jsp//propertyname=suffixvalue=.jsp//bean/beans下面是有关HelloWeb-servlet.xml文件的要点:[servlet-name]-servlet.xml文件将被用于创建定义的Bean,会覆盖在全局范围里名字相同的Bean的定义。context:component-scan...标签将使用启动SpringMVC的注解扫描功能,允许做出像@Controller和使用@RequestMapping注解等使用。使用InternalResourceViewResolver将有定义来解析视图名的规则。按照上述定义的规则,命名为你好的逻辑视图被委托给一个视图实现位于/WEB-INF/jsp/hello.jsp。下一节将学习如何创建实际组件IE浏览器。控制器,模型和视图。定义控制器DispatcherServlet委托请求发送到控制器,以执行特定于它的功能。注解@Controller表示一个特定的类提供一个控制器的角色。注解@RequestMapping用于将URL映射到任何一个类或者一个特定的处理方法。@Controller@RequestMapping(/hello)publicclassHelloController{@RequestMapping(method=RequestMethod.GET)publicStringprintHello(ModelMapmodel){model.addAttribute(message,HelloSpringMVCFramework!);returnhello;}}注解@Controller类定义为一个SpringMVC控制器。在这里,使用@RequestMapping第一次使用表明,该控制器上的所有处理方法是相对于/hello路径。下一步标注使用@RequestMapping(方法=RequestMethod.GET)用于声明printHello()方法作为控制器的默认服务方法来处理HTTPGET请求。可以定义另一种方法来处理同一URL的POST请求。可以写在上面的另一种形式,可以使用@RequestMapping添加额外的属性如下控制:@ControllerpublicclassHelloController{@RequestMapping(value=/hello,method=RequestMethod.GET)publicStringprintHello(ModelMapmodel){model.addAttribute(message,HelloSpringMVCFramework!);returnhello;}}value属性指示该处理方法所映射到的URL和method属性定义了服务的方法来处理HTTPGET请求。有以下重要点要注意关于上述定义的控制器:将定义所需的业务逻辑内部的服务方法。可以调用此方法在另一个方法按要求。基于定义的业务逻辑,将在此方法中创建一个模型。您可以设定器不同的模型的属性和这些属性将被视图访问提出的最终结果。此示例创建一个具有自己的属性“message”的模型。定义的服务方法可以返回一个字符串,其中包含要用于渲染模型视图的名称。这个例子返回“hello”作为逻辑视图名。创建JSP视图SpringMVC支持多种类型的视图不同的演示技术。这些措施包括:JSP,HTML,PDF,Excel,XML,Velocity,XSLT,JSON,Atom和RSS订阅,JasperReports等,但最常用JSTLJSP模板。因此,我们编写一个/WEB-INF/hello/hello.jsp简单的hello视图:htmlheadtitleHelloSpringMVC/title/headbodyh2${message}/h2/body/html在这里,${message}是我们已经建立了控制器内部的属性。你可以在视图中显示多个属性。SpringWebMVC框架的例子:基于上述理念,让我们检查,这将有助于建立SpringWeb应用程序几个重要的例子:S.N.实例&描述1SpringMVCHelloWorldExample这个例子将说明如何编写一个简单的SpringWebHelloWorld应用程序。2SpringMVCFormHandlingExample这个例子将说明如何使用HTML表单将数据提交到控制器和显示回处理结果写一个SpringWeb应用程序。3SpringPageRedirectionExample了解如何在SpringMVC框架中使用页面重定向功能。4SpringStaticPagesExample了解如何访问静态网页与动态网页在SpringMVC框架。5SpringExceptionHandlingExample了解如何处理SpringMVC框架异常。下面的例子说明了如何使用SpringMVC框架基础编写一个简单的webHelloWorld应用程序。要开始使用它,我们使用EclipseIDE工具,并按照以下步骤使用SpringWeb框架开发动态Web应用程序:步骤描述1CreateaDynamicWebProjectwithanameHelloWebandcreateapackagecom.yiibaiunderthesrcfolde
本文标题:spring基于框架和JDBC例子
链接地址:https://www.777doc.com/doc-2850102 .html