预览加载中,请您耐心等待几秒...
1/10
2/10
3/10
4/10
5/10
6/10
7/10
8/10
9/10
10/10

亲,该文档总共20页,到这已经超出免费预览范围,如果喜欢就直接下载吧~

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

SpringMVC学习指南以下这个学习案例是我最近学习SpringMVC时跟从一本书上的示例,原文中的示例代码有一些小错误,不过我在调试的过程中已经给予了修正,如还有其它错误,还请各位批评指正。对于现有较成熟的Model-View-Control(MVC)框架而言,其解决的主要问题无外乎下面几部分:1.将Web页面中的输入元素封装为一个(请求)数据对象。2.根据请求的不同,调度相应的逻辑处理单元,并将(请求)数据对象作为参数传入。3.逻辑处理单元完成运算后,返回一个结果数据对象。4.将结果数据对象中的数据与预先设计的表现层相融合并展现给用户。各个MVC实现固然存在差异,但其中的关键流程大致如上。结合一个实例,我们来看看这几个关键流程在SpringMVC框架中的处理手法。下面的实例,实现了一个常见的用户登录逻辑,即用户通过用户名和密码登录,系统对用户名和密码进行检测,如果正确,则在页面上显示几条通知信息。如果登录失败,则返回失败界面。(示例中,表示层以JSP2.0实现。)出于简洁考虑,这里的“用户名/密码”检测以及通知信息的生成均在代码中以硬编码实现。首先来看登录界面:对应的index.html:<html>1/1<body><formmethod="POST"action="login.do"><palign="center">登录</p><br>用户名:<inputtype="text"name="username"><br>密码:<inputtype="password"name="password"><br><p><inputtype="submit"value="提交"name="B1"><inputtype="reset"value="重置"name="B2"></p></form></body></html>1/1很简单的一个登录界面,其中包含了一个用以输入用户名密码的form,针对此form的提交将被发送到"login.do"MVC关键流程的第一步,即收集页面输入参数,并转换为请求数据对象。这个静态页面提供了一个基本的输入界面,下面这些输入的数据将被发送至何处,将如何被转换为请求数据对象?现在来看接下来发发生的事情:当用户输入用户名密码提交之后,此请求被递交给Web服务器处理,上面我们设定form提交目标为"login.do",那么Web服务器将如何处理这个请求?显然,标准Http协议中,并没有以.do为后缀的服务资源,这是我们自己定义的一种请1/1求匹配模式。此模式在web.xml中设定:<?xmlversion="1.0"encoding="ISO-8859-1"?><web-appxmlns=""xmlns:xsi="nstance"xsi:schemaLocation=""version="2.4"><servlet>⑴<servlet-name>Dispatcher</servlet-name><servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class><init-param><param-name>contextConfigLocation</param-name><param-value>/WEB-INF/Config.xml</param-value></init-param></servlet><servlet-mapping>⑵<servlet-name>Dispatcher</servlet-name><url-pattern>*.do</url-pattern>1/1</servlet-mapping></web-app>⑴Servlet定义这里我们定义了请求分发Servlet,即:org.springframework.web.servlet.DispatcherServletDispatcherServlet是SpringMVC中负责请_____求调度的核心引擎,所有的请求将由此Servlet根据配置分发至各个逻辑处理单元。其内部同时也维护了一个ApplicationContext实例。我们在<init-param>节点中配置了名为“contextConfigLocation”的Servlet参数,此参数指定了Spring配置文件的位置“/WEB-INF/Config.xml”。如果忽略此设定,则默认为“/WEB-INF/<servletname>-servlet.xml”,其中<servletname>以Servlet名替换(在当前环境下,默认值也就是“/WEB-INF/Dispatcher-servlet.xml)。⑵请求映射我们将所有以.do结尾的请求交给SpringMVC进行处理