刚刚开始接触Spring MVC,下面是一个简单的实例,里面有一些详细的注释,以及疑问,请参考
------------------------------------------------------------web.xml配置----------------------------------------------------
<servlet>
<servlet-name>DispatcherServlet</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<init-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath:applicationContext.xml</param-value>
</init-param>
</servlet>
<servlet-mapping>
<servlet-name>DispatcherServlet</servlet-name>
<url-pattern>*.do</url-pattern>
</servlet-mapping>
---------------------------------------------------------------控制器---------------------------------------------------------
public class LoginController extends SimpleFormController {
private String error;
public String getError() {
return error;
}
public void setError(String error) {
this.error = error;
}
//优先执行此方法(4个参数)
protected ModelAndView onSubmit(HttpServletRequest request,
HttpServletResponse response, Object command, BindException errors)
throws Exception {
System.out.println("执行4个参数方法");
Login login=(Login) command;
System.out.println("UserName:"+login.getUserName());
System.out.println("PassWord:"+login.getPassWord());
//第一种传值及显示
// request.setAttribute("userName", login.getUserName());
// request.setAttribute("passWord", login.getPassWord());
// return new ModelAndView("ok");
//第二种传值及显示
// return new ModelAndView("ok","loginModel",login);
//第三种传值及显示
Map mapModel=new HashMap();
mapModel.put("loginModel", login);
return new ModelAndView("ok",mapModel);
}
protected ModelAndView onSubmit(Object command, BindException errors)
throws Exception {
System.out.println("执行2个参数方法");
Login login=(Login) command;
System.out.println("UserName:"+login.getUserName());
System.out.println("PassWord:"+login.getPassWord());
return new ModelAndView("ok");
}
protected ModelAndView onSubmit(Object command) throws Exception {
System.out.println("执行1个参数方法");
Login login=(Login) command;
System.out.println("UserName:"+login.getUserName());
System.out.println("PassWord:"+login.getPassWord());
return new ModelAndView("ok");
}
}
---------------------------------------------------------Spring配置文件---------------------------------------------
<!-- 配置视图的显示 -->
<bean id="ViewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<property name="prefix" value="/"></property><!-- 视图文件的前缀 -->
<property name="suffix" value=".jsp"></property><!-- 视图文件的后缀名 -->
<property name="viewClass" value="org.springframework.web.servlet.view.JstlView"></property><!-- view是用什么显示,这里是jsp,还可以用velocity之类的 -->
</bean>
<!-- 配置action的请求路径 -->
<bean id="urlMapping" class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping">
<property name="mappings">
<props>
<prop key="/login.do">loginAction</prop><!-- loginAction必须与下面名称一一对应,key是请求的mapping -->
</props>
</property>
</bean>
<bean id="login" class="org.yonge.model.Login"></bean>
<!-- 配置action -->
<bean id="loginAction" class="org.yonge.action.LoginController">
<property name="commandClass" value="org.yonge.model.Login"></property>
<property name="error" value="error"></property>
<!-- 这里并没有配置控制器中(return new ModelAndView("ok"))ok对应的 视图,同理,上面也可以不设置error属性-->
</bean>
-----------------------------------------------------------index.jsp(首页)----------------------------------------------------
<form action="./login.do" method="post"><!-- 为什么method=post可以正常运行,而method=get不可以 -->
<table align="center" width="50%" border="0">
<tr>
<td>UserName:</td>
<td>
<input type="text" name="userName">
</td>
</tr>
<tr>
<td>PassWord:</td>
<td>
<input type="text" name="passWord">
</td>
</tr>
<tr>
<td colspan="2">
<input type="submit"" value="提交">
</td>
</tr>
</table>
</form>
-----------------------------------------------------------ok.jsp-------------------------------------------------------
<body>
登录成功!!!
<!-- UserName:${userName }
PassWord:${passWord } -->
UserName:${loginModel.userName }
PassWord:${loginModel.passWord }
</body>
上面的疑问请知道的各位解答一下,谢谢!!!
分享到:
相关推荐
《韩顺平2011版Spring视频教程课堂源代码》是一个针对Java开发者的教育资源,旨在深入浅出地讲解Spring框架的核心概念和技术。Spring是一个广泛使用的开源Java框架,尤其在企业级应用开发中占据重要地位。这个压缩包...
CakePHP 是一个基于 Model-View-Controller (MVC) 设计模式的开源PHP框架,它简化了Web应用的开发过程,提高了开发效率。在本书中,你将学习到: 1. **环境设置与安装**:了解如何在你的计算机上配置 PHP 和 MySQL...
- **差异对比**: 高亮显示了Ext JS 4与前一个版本之间的区别。 #### 三、知识迁移 - **从Ext JS 3迁移到Ext JS 4**: 本书提供了必要的知识来帮助开发者将Ext JS 3的应用程序升级到Ext JS 4。 - **示例代码**: 提供...
MVC3.0是微软在2011年发布的一个版本,它提供了许多增强的功能和改进,使得开发更加高效且灵活。本教材将深入浅出地讲解MVC3.0的核心概念、工作原理以及如何利用它进行实际项目开发。 首先,我们来了解一下MVC模式...
### 斯坦福大学2011年秋季Objective-C教程概览 #### 一、课程简介与背景 本课程名为《斯坦福CS193p:为iOS开发应用程序》,是斯坦福大学在2011年秋季学期开设的一门课程。该课程主要面向对iOS应用开发感兴趣的本科...
- **Spring MVC**: 是Spring框架的一个模块,专门用于Web应用的开发。它简化了控制器层的开发,提供了清晰的模型视图控制器(MVC)设计模式实现。 - **MyBatis**: 是一个支持普通SQL查询、存储过程以及高级映射的...
接下来,需要在Mvc4的视图(View)中引入CKEditor的JavaScript库,通过编写HTML和JavaScript代码,创建一个CKEditor实例,并配置CKFinder作为其文件浏览器。CKFinder的配置包括指定服务器端的连接点(Connector),...
3. **SessionFactory**: 创建Session的工厂,每个应用通常只有一个SessionFactory实例。 4. **Criteria查询**: 提供了一种面向对象的方式来执行SQL查询,无需编写SQL语句。 5. **HQL(Hibernate Query Language)**:...
**Struts2** 是一个强大的MVC框架,它在Struts1的基础上进行了很多改进,提供了更灵活的控制流程和丰富的插件支持。Struts2的核心是Action类,它是业务逻辑处理的主要载体。它接收来自视图的请求,处理后返回结果到...
【标题】"小贝程序员生活\课件\jsp\20110727.rar" 暗示了这是一个关于JSP(Java Server Pages)技术的课程资料压缩包,可能包含了2011年7月27日的课程内容。小贝程序员生活可能是一个个人博客、在线教育平台或者一个...
【标题】:“小贝程序员生活\课件\jsp\20110804.rar”这个标题指示了一个关于JSP(JavaServer Pages)技术的压缩文件,它可能包含了一次编程课程或讲座的材料,由小贝这位程序员在2011年8月4日整理或分享。...
- **DVM(Dalvik Virtual Machine)**:每个Android应用在其内部运行着一个独立的DVM实例。 - **Linux进程**:在Android系统底层,每个应用及其对应的DVM运行在一个独立的Linux进程中。 - **详细解释**: - ...
【标题】"小贝程序员生活\课件\jsp\20110718.rar" 暗示了这是一个关于JSP(Java Server Pages)技术的课程资料压缩包,由程序员小贝制作,时间可追溯到2011年7月18日。这个压缩文件很可能是小贝为了分享或保存他的...
4. **示例应用**:`example.php`文件提供了一个使用上述路由类的实际例子。通过分析这个文件,我们可以了解如何实例化路由类,设置或获取路由,以及如何响应HTTP请求。 5. **Web配置**:`web.config.xml`在PHP环境...
* 单例模式:确保某一个类只有一个实例,并且提供一个全局访问点。 * 注册树模式:把对象实例注册到全局的注册树上(全局静态变量),需要的时候从对象树上采摘。 * 适配器模式:将一个类的接口转换成客户希望的另外...
【标题】"2011妙用锦囊 精选实用范例.zip" 提供的是一个2011年出版的资源集合,这个压缩包里包含了一系列编程示例,旨在帮助用户理解和学习如何巧妙地运用各种技术。"妙用锦囊"暗示了这些示例可能包含了创新和实用的...