Springmvc.docx

上传人:b****0 文档编号:9779028 上传时间:2023-05-21 格式:DOCX 页数:8 大小:71.83KB
下载 相关 举报
Springmvc.docx_第1页
第1页 / 共8页
Springmvc.docx_第2页
第2页 / 共8页
Springmvc.docx_第3页
第3页 / 共8页
Springmvc.docx_第4页
第4页 / 共8页
Springmvc.docx_第5页
第5页 / 共8页
Springmvc.docx_第6页
第6页 / 共8页
Springmvc.docx_第7页
第7页 / 共8页
Springmvc.docx_第8页
第8页 / 共8页
亲,该文档总共8页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

Springmvc.docx

《Springmvc.docx》由会员分享,可在线阅读,更多相关《Springmvc.docx(8页珍藏版)》请在冰点文库上搜索。

Springmvc.docx

Springmvc

进入SpringMVC

作者:

NaveenBalani    来自:

IBM

  SpringMVC框架

  框架提供了构建Web应用程序的全功能MVC模块。

使用Spring可插入的MVC架构,可以选择是使用内置的SpringWeb框架还是Struts这样的Web框架。

通过策略接口,Spring框架是高度可配置的,而且包含多种视图技术,例如JavaServerPages(JSP)技术、Velocity、Tiles、iText和POI。

SpringMVC框架并不知道使用的视图,所以不会强迫您只使用JSP技术。

SpringMVC分离了控制器、模型对象、分派器以及处理程序对象的角色,这种分离让它们更容易进行定制。

  Spring的WebMVC框架是围绕DispatcherServlet设计的,它把请求分派给处理程序,同时带有可配置的处理程序映射、视图解析、本地语言、主题解析以及上载文件支持。

默认的处理程序是非常简单的Controller接口,只有一个方法ModelAndViewhandleRequest(request,response)。

Spring提供了一个控制器层次结构,可以派生子类。

如果应用程序需要处理用户输入表单,那么可以继承AbstractFormController。

如果需要把多页输入处理到一个表单,那么可以继承AbstractWizardFormController。

  示例应用程序有助于直观地学习这些特性。

银行应用程序允许用户检索他们的帐户信息。

在构建银行应用程序的过程中,可以学到如何配置SpringMVC框架和实现框架的视图层,视图层包括JSTL标记(用于显示输出的数据)和JavaServerPages技术。

  配置SpringMVC

  要开始构建示例应用程序,请配置SpringMVC的DispatcherServlet。

请在文件中注册所有配置。

清单1显示了如何配置sampleBankingServlet。

清单1.配置SpringMVCDispatcherServlet

  sampleBankingServlet

  

     

  

  1

  DispatcherServlet从一个XML文件装入Spring应用程序上下文,XML文件的名称是servlet的名称后面加上-servlet。

在这个示例中,DispatcherServlet会从文件装入应用程序上下文。

  配置应用程序的URL

  下一步是配置想让sampleBankingServlet处理的URL。

同样,还是要在中注册所有这些信息。

清单2.配置想要处理的URL

sampleBankingServlet

*.jsp

  装入配置文件

  下面,装入配置文件。

为了做到这点,请为Servlet规范注册ContextLoaderListener或为Servlet及以下的容器注册ContextLoaderServlet。

为了保障后向兼容性,请用ContextLoaderServlet。

在启动Web应用程序时,ContextLoaderServlet会装入Spring配置文件。

清单3注册了ContextLoaderServlet。

清单3.注册ContextLoaderServlet

 context>servlet-name>

 

    

 

1

  contextConfigLocation参数定义了要装入的Spring配置文件,如下面的servlet上下文所示。

contextConfigLocation

/WEB-INF/

  文件代表示例银行应用程序服务的配置和bean配置。

如果想装入多个配置文件,可以在标记中用逗号作分隔符。

  SpringMVC示例

  示例银行应用程序允许用户根据惟一的ID和口令查看帐户信息。

虽然SpringMVC提供了其他选项,但是我将采用JSP技术作为视图页面。

这个简单的应用程序包含一个视图页用于用户输入(ID和口令),另一页显示用户的帐户信息。

  我从LoginBankController开始,它扩展了SpringMVC的SimpleFormController。

SimpleFormContoller提供了显示从HTTPGET请求接收到的表单的功能,以及处理从HTTPPOST接收到的相同表单数据的功能。

LoginBankController用AuthenticationService和AccountServices服务进行验证,并执行帐户活动。

“配置视图属性”一节中的清单5描述了如何把AuthenticationService和AccountServices连接到LoginBankController。

清单4显示了LoginBankController的代码。

清单4.LoginBankController扩展SimpleFormController

publicclassLoginBankControllerextendsSimpleFormController{

  publicLoginBankController(){

  }

  protectedModelAndViewonSubmit(Objectcommand)throwsException{

     LoginCommandloginCommand=(LoginCommand)command;

     (loginCommand);

     AccountDetailaccountdetail=());

     returnnewModelAndView(getSuccessView(),"accountdetail",accountdetail);

  }

  privateAuthenticationServiceauthenticationService;

  privateAccountServicesaccountServices;

  publicAccountServicesgetAccountServices(){

     returnaccountServices;

  }

  publicvoidsetAccountServices(AccountServicesaccountServices){

     =accountServices;

  }

  publicAuthenticationServicegetAuthenticationService(){

     returnauthenticationService;

  }

  publicvoidsetAuthenticationService(

        AuthenticationServiceauthenticationService){

     =authenticationService;

  }

}

  配置视图属性

  下面,我必须注册在接收到HTTPGET请求时显示的页面。

我在Spring配置中用formView属性注册这个页面,如清单5所示。

sucessView属性代表表单数据提交而且doSubmitAction()方法中的逻辑成功执行之后显示的页面。

formView和sucessView属性都代表被定义的视图的逻辑名称,逻辑名称映射到实际的视图页面。

清单5.注册LoginBankController

  

        class="">

     true

  loginCommand

  

     

  

     

        

     

     

        

     

     

        login

     

     

        accountdetail

     

  

  commandClass和commandName标记决定将在视图页面中活动的bean。

例如,可以通过页面访问loginCommandbean,这个页面是应用程序的登录页面。

一旦用户提交了登录页面,应用程序就可以从LoginBankController的onSubmit()方法中的命令对象检索出表单数据。

  视图解析器

  SpringMVC的视图解析器把每个逻辑名称解析成实际的资源,即包含帐户信息的JSP文件。

我用的是Spring的InternalResourceViewResolver,如清单6所示。

清单6.InternalResourceViewResolver

     class="">

  

     

  

  /jsp/

  .jsp

  因为我在JSP页面中使用了JSTL标记,所以用户的登录名称解析成资源/jsp/,而viewClass成为JstlView。

  验证和帐户服务

  就像前面提到的,LoginBankController内部连接了Spring的AccountServices和AuthenticationService。

AuthenticationService类处理银行应用程序的验证。

AccountServices类处理典型的银行服务,例如查找交易和电汇。

清单7显示了银行应用程序的验证和帐户服务的配置。

清单7.配置验证和帐户服务

  

     class="">

  

  

     class="">

  

  以上服务在中注册,然后装入文件中,就像前面讨论的那样。

控制器和服务配置好后,这个简单的应用程序就完成了。

现在我们来看看部署和测试它时会发生什么!

  部署应用程序

  我把示例应用程序部署在Tomcatservlet容器中。

Tomcat是JavaServlet和JavaServerPagest技术的官方参考实现中使用的servlet容器。

如果以前没这么做过,请下载5.0.28并运行它把Tomcat安装到自己喜欢的任何位置,例如c:

\。

  接下来,下载示例代码并释放到驱动器(例如c:

\)上。

创建了Spring项目的文件夹之后,打开它并把spring-banking子文件夹拷贝到c:

\\webapps。

spring-banking文件夹是一个Web档案,里面包含SpringMVC示例应用程序。

lib文件夹包含应用程序需要的Spring框架、与Spring相关的MVC库以及JSTL标记库和jar文件。

  要启动Tomcat服务器,请使用以下命令:

  cdbinC:

\Tomcat\bin>start

  Tomcat应当启动并部署SpringMVC示例应用程序。

  测试应用程序

  要测试应用程序,请打开Web浏览器,指向并用Tomcat服务器实际运行的端口替换tomcatport。

应当看到图1所示的登录屏幕。

输入用户ID“admin”和口令“password”,并按下登录按钮。

其他用户ID或口令会造成来自验证服务的错误。

图1.SpringMVC示例登录屏幕

  登录成功之后,会看到图2所示的帐户细节页面。

图2.SpringMVC示例帐户细节页面

  结束语

  在三部分的Spring系列的第三篇文章中,我介绍了SpringMVC框架的特性。

我演示了如何配置和开发SpringMVC应用程序、如何配置SpringMVC控制器和向其中插入依赖项、如何用JavaServerPages技术开发应用程序视图,以及如何把自己的页面与SpringMVC的视图层集成。

总结这篇文章时,我演示了如何在Tomcatservlet容器中部署应用程序以及如何在浏览器中测试它。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 小学教育 > 语文

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2