欢迎来到天天文库
浏览记录
ID:37713526
大小:247.04 KB
页数:20页
时间:2019-05-29
《Spring MVC学习指南》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、SpringMVC学习指南以下这个学习案例是我最近学习SpringMVC时跟从一本书上的示例,原文中的示例代码有一些小错误,不过我在调试的过程中已经给予了修正,如还有其它错误,还请各位批评指正。对于现有较成熟的Model-View-Control(MVC)框架而言,其解决的主要问题无外乎下面几部分:1.将Web页面中的输入元素封装为一个(请求)数据对象。2.根据请求的不同,调度相应的逻辑处理单元,并将(请求)数据对象作为参数传入。3.逻辑处理单元完成运算后,返回一个结果数据对象。4.将结果数据对象中的数据与预先设计的表现层相融合并展现给用户。各个MVC实现固然存在差异,但其中的关键流
2、程大致如上。结合一个实例,我们来看看这几个关键流程在SpringMVC框架中的处理手法。下面的实例,实现了一个常见的用户登录逻辑,即用户通过用户名和密码登录,系统对用户名和密码进行检测,如果正确,则在页面上显示几条通知信息。如果登录失败,则返回失败界面。(示例中,表示层以JSP2.0实现。)出于简洁考虑,这里的“用户名/密码”检测以及通知信息的生成均在代码中以硬编码实现。首先来看登录界面:对应的index.html:
3、type="text"name="username">密码:很简单的一个登录界面,其中包含了一个用以输入用户名密码的form,针对此form的提交将被发送到"login.do"MVC关键流程的第一步,即收集页面输入参数,并转换为请求数据对象。这个静态页面提供了一个基本的输入界面,下面这些输
4、入的数据将被发送至何处,将如何被转换为请求数据对象?现在来看接下来发发生的事情:当用户输入用户名密码提交之后,此请求被递交给Web服务器处理,上面我们设定form提交目标为"login.do",那么Web服务器将如何处理这个请求?显然,标准Http协议中,并没有以.do为后缀的服务资源,这是我们自己定义的一种请求匹配模式。此模式在web.xml中设定:5、001/XMLSchema-instance"xsi:schemaLocation="http://java.sun.com/xml/ns/j2eehttp://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"version="2.4">⑴Dispatcherorg.springframework.web.servlet.DispatcherServletcontex6、tConfigLocation/WEB-INF/Config.xml⑵Dispatcher*.do⑴Servlet定义这里我们定义了请求分发Servlet,即:org.springframework.web.servlet.DispatcherServletDi7、spatcherServlet是SpringMVC中负责请_____求调度的核心引擎,所有的请求将由此Servlet根据配置分发至各个逻辑处理单元。其内部同时也维护了一个ApplicationContext实例。我们在节点中配置了名为“contextConfigLocation”的Servlet参数,此参数指定了Spring配置文件的位置“/WEB-INF/Config.xml”。如果忽略此设定,则默认为“/WEB-INF/
5、001/XMLSchema-instance"xsi:schemaLocation="http://java.sun.com/xml/ns/j2eehttp://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"version="2.4">⑴Dispatcherorg.springframework.web.servlet.DispatcherServletcontex
6、tConfigLocation/WEB-INF/Config.xml⑵Dispatcher*.do⑴Servlet定义这里我们定义了请求分发Servlet,即:org.springframework.web.servlet.DispatcherServletDi
7、spatcherServlet是SpringMVC中负责请_____求调度的核心引擎,所有的请求将由此Servlet根据配置分发至各个逻辑处理单元。其内部同时也维护了一个ApplicationContext实例。我们在节点中配置了名为“contextConfigLocation”的Servlet参数,此参数指定了Spring配置文件的位置“/WEB-INF/Config.xml”。如果忽略此设定,则默认为“/WEB-INF/
此文档下载收益归作者所有