`

一个简单的Spring MVC实例(2011.4.12)

阅读更多

刚刚开始接触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>

 

 上面的疑问请知道的各位解答一下,谢谢!!!

分享到:
评论
2 楼 yonge812 2011-04-13  
summer1433 写道
你这代码也贴的太多了吧,哪里copy来的

myeclipse里面复制的 
1 楼 summer1433 2011-04-13  
你这代码也贴的太多了吧,哪里copy来的

相关推荐

    韩顺平 2011版 spring视频教程课堂源代码.zip

    《韩顺平2011版Spring视频教程课堂源代码》是一个针对Java开发者的教育资源,旨在深入浅出地讲解Spring框架的核心概念和技术。Spring是一个广泛使用的开源Java框架,尤其在企业级应用开发中占据重要地位。这个压缩包...

    packtpub.CakePHP.1.3.Application.Development.Cookbook.Mar.2011

    CakePHP 是一个基于 Model-View-Controller (MVC) 设计模式的开源PHP框架,它简化了Web应用的开发过程,提高了开发效率。在本书中,你将学习到: 1. **环境设置与安装**:了解如何在你的计算机上配置 PHP 和 MySQL...

    Ext.JS.4.First.Look(第1版)

    - **差异对比**: 高亮显示了Ext JS 4与前一个版本之间的区别。 #### 三、知识迁移 - **从Ext JS 3迁移到Ext JS 4**: 本书提供了必要的知识来帮助开发者将Ext JS 3的应用程序升级到Ext JS 4。 - **示例代码**: 提供...

    MVC3.0自学教材【非常详细】适合初学者

    MVC3.0是微软在2011年发布的一个版本,它提供了许多增强的功能和改进,使得开发更加高效且灵活。本教材将深入浅出地讲解MVC3.0的核心概念、工作原理以及如何利用它进行实际项目开发。 首先,我们来了解一下MVC模式...

    斯坦福大学斯坦福大学教程2011秋.(3.Objective-C).pdf

    ### 斯坦福大学2011年秋季Objective-C教程概览 #### 一、课程简介与背景 本课程名为《斯坦福CS193p:为iOS开发应用程序》,是斯坦福大学在2011年秋季学期开设的一门课程。该课程主要面向对iOS应用开发感兴趣的本科...

    基于javaweb在线商城系统开题报告.docx

    - **Spring MVC**: 是Spring框架的一个模块,专门用于Web应用的开发。它简化了控制器层的开发,提供了清晰的模型视图控制器(MVC)设计模式实现。 - **MyBatis**: 是一个支持普通SQL查询、存储过程以及高级映射的...

    ckeditor3.5.4_CKFinder2.3.1_Mvc4

    接下来,需要在Mvc4的视图(View)中引入CKEditor的JavaScript库,通过编写HTML和JavaScript代码,创建一个CKEditor实例,并配置CKFinder作为其文件浏览器。CKFinder的配置包括指定服务器端的连接点(Connector),...

    java三大框架笔记,没有spring

    3. **SessionFactory**: 创建Session的工厂,每个应用通常只有一个SessionFactory实例。 4. **Criteria查询**: 提供了一种面向对象的方式来执行SQL查询,无需编写SQL语句。 5. **HQL(Hibernate Query Language)**:...

    ssh2入门学习实例

    **Struts2** 是一个强大的MVC框架,它在Struts1的基础上进行了很多改进,提供了更灵活的控制流程和丰富的插件支持。Struts2的核心是Action类,它是业务逻辑处理的主要载体。它接收来自视图的请求,处理后返回结果到...

    小贝程序员生活\课件\jsp\20110727.rar

    【标题】"小贝程序员生活\课件\jsp\20110727.rar" 暗示了这是一个关于JSP(Java Server Pages)技术的课程资料压缩包,可能包含了2011年7月27日的课程内容。小贝程序员生活可能是一个个人博客、在线教育平台或者一个...

    小贝程序员生活\课件\jsp\20110804.rar

    【标题】:“小贝程序员生活\课件\jsp\20110804.rar”这个标题指示了一个关于JSP(JavaServer Pages)技术的压缩文件,它可能包含了一次编程课程或讲座的材料,由小贝这位程序员在2011年8月4日整理或分享。...

    2011android面试题目及其答案大全 .doc

    - **DVM(Dalvik Virtual Machine)**:每个Android应用在其内部运行着一个独立的DVM实例。 - **Linux进程**:在Android系统底层,每个应用及其对应的DVM运行在一个独立的Linux进程中。 - **详细解释**: - ...

    小贝程序员生活\课件\jsp\20110718.rar

    【标题】"小贝程序员生活\课件\jsp\20110718.rar" 暗示了这是一个关于JSP(Java Server Pages)技术的课程资料压缩包,由程序员小贝制作,时间可追溯到2011年7月18日。这个压缩文件很可能是小贝为了分享或保存他的...

    router-class-2011-11-27.zip_Class 11

    4. **示例应用**:`example.php`文件提供了一个使用上述路由类的实际例子。通过分析这个文件,我们可以了解如何实例化路由类,设置或获取路由,以及如何响应HTTP请求。 5. **Web配置**:`web.config.xml`在PHP环境...

    Laravel框架设计模式分析及应用.pdf

    * 单例模式:确保某一个类只有一个实例,并且提供一个全局访问点。 * 注册树模式:把对象实例注册到全局的注册树上(全局静态变量),需要的时候从对象树上采摘。 * 适配器模式:将一个类的接口转换成客户希望的另外...

    2011妙用錦囊 精選實用範例.zip

    【标题】"2011妙用锦囊 精选实用范例.zip" 提供的是一个2011年出版的资源集合,这个压缩包里包含了一系列编程示例,旨在帮助用户理解和学习如何巧妙地运用各种技术。"妙用锦囊"暗示了这些示例可能包含了创新和实用的...

Global site tag (gtag.js) - Google Analytics