使用Spring MVC 实现页面提交数据的获取与返回
使用@RequestParam(required=true) ,表示页面请求必须传入参数
package com.hqh.student.controller; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestParam; //配置为控制器 @Controller public class FirstController { //配置请求映射策略 @RequestMapping(value={"/hello"}) public String hello(@RequestParam(required=true) int id) { System.out.println("FirstController.hello()"); return "hello"; } }
如果请求的URL没有传入参数,会报错,提示没有传递需要的参数值
正确的访问方式:
http://localhost:8080/spring_mvc_01/hello?id=1
配置默认参数
package com.hqh.student.controller; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestParam; //配置为控制器 @Controller public class FirstController { //配置请求映射策略 @RequestMapping(value={"/hello"}) public String hello(@RequestParam(required=true,defaultValue="100") int id) { System.out.println(id); return "hello"; } }
如果没有传递参数,使用默认值,而不会报错
http://localhost:8080/spring_mvc_01/hello
结果:100
如果传入了参数,则使用传递的参数,默认值无效
http://localhost:8080/spring_mvc_01/hello?id=9
结果:9
定制页面传入的参数名
package com.hqh.student.controller; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestParam; //配置为控制器 @Controller public class FirstController { //配置请求映射策略 @RequestMapping(value={"/hello"}) public String hello(@RequestParam(value="userId") int id) { System.out.println(id); return "hello"; } }
指定页面传递的参数名称为userId,只有当参数名为userId时,才能正确访问
http://localhost:8080/spring_mvc_01/hello?userId=1
结果:1
向客户端返回数据
通过MAP传递数据,只要在方法的参数中定义一个Map,然后往Map中put值,页面通过key就能取到
太NB了!
@RequestMapping(value={"/say"}) public String say(String name,Map<String,Object> retMap) { System.out.println("name="+name); retMap.put("say", "spring mvc is very good!"); return "say"; }
WEB-INF/jsp/say.js
<%@ page language="java" contentType="text/html; charset=ISO-8859-1" pageEncoding="ISO-8859-1"%> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> <title>Insert title here</title> </head> <body> <h1>${say}</h1> </body> </html>
请求:http://localhost:8080/spring_mvc_01/say?name=zhangsan
后台获取到的数据:name=zhangsan
页面获取到的数据:spring mvc is very good!
使用Model进行数据传递(推荐)
@RequestMapping(value="/shout") public String shout(Model model) { //没有key,key为Object.即,如果是String,则key为string model.addAttribute("struts2 is bad!"); //通过key,value进行传递 model.addAttribute("spring_mvc", "so easy!"); return "shout"; }
WEB-INF/jsp/shout.jsp
<%@ page language="java" contentType="text/html; charset=ISO-8859-1" pageEncoding="ISO-8859-1"%> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> <title>Insert title here</title> </head> <body> <h1>${string}</h1> <h1>${spring_mvc}</h1> </body> </html>
URL:http://localhost:8080/spring_mvc_01/shout
返回给页面的结果:
struts2 is bad!
so easy!
获取request对象,session对象等
//获取request对象 @RequestMapping(value={"/execute"}) public String execute(HttpServletRequest request) { //spring会自动将request对象传入 HttpSession session = request.getSession(); String uri = request.getRequestURI(); System.out.println(uri); return "shout"; }
相关推荐
学习者可以通过这些示例理解Spring MVC的工作流程,如何配置DispatcherServlet,如何创建控制器,以及如何将数据传递到视图。 总之,Spring MVC是一个强大且灵活的Web开发框架,能够帮助开发者高效地构建MVC结构的...
Spring MVC是一个流行的Java框架,用于开发Web应用程序,遵循MVC(Model-View-Controller)设计模式。MVC模式将应用程序分成三个主要部分:模型(Model)、视图(View)和控制器(Controller)。模型代表业务对象和...
### Spring Web MVC 框架核心知识点解析 #### 一、Spring Web MVC 概述 - **Spring Web MVC** 是一种轻量级的基于MVC(Model-View-Controller)设计模式的Web应用框架,其核心是实现了MVC设计模式,并且深度集成了...
通过这个实战教程,开发者可以了解Spring MVC的基本工作流程,包括从用户界面到控制器的请求传递,再到数据处理和响应生成的全过程。掌握这些知识后,可以更高效地构建基于Spring MVC的复杂web应用。
【Spring MVC 框架详解】 Spring MVC 是一个基于 Java 的模型-视图-控制器(MVC)架构,是 Spring 框架的一部分,用于构建Web应用程序。它为开发者提供了强大的控制层,使得开发过程更加模块化,易于测试和维护。在...
Spring MVC 是一个基于Java的轻量级Web应用框架,它为构建RESTful风格的Web应用程序提供了强大的支持。作为Spring框架的重要组成部分,Spring MVC以其模块化、松耦合和高度可配置性深受开发者喜爱。在“spring_mvc2...
在实际开发中,我们还需要了解Spring MVC的其他特性,如拦截器(Interceptor)、异常处理、局部变量和模型数据传递、上传下载支持等。同时,结合源码阅读,可以帮助我们更好地理解其内部机制。 总的来说,"我学...
5. **ModelAndView**:在Spring MVC中,用于在Controller和View之间传递数据的对象,包含模型数据和视图名。 6. **@RequestMapping**:这个注解用于映射HTTP请求到特定的方法,可以指定URL路径、HTTP方法(GET、...
Spring MVC 是一款强大的Java Web开发框架,用于构建可维护、高性能的Web应用程序。它作为Spring框架的一部分,提供了模型-视图-控制器(MVC)架构,简化了开发流程,使得开发者能够专注于业务逻辑,而非底层的HTTP...
### 基于Maven的Spring + Spring MVC + MyBatis环境搭建详解 #### 一、项目背景与目标 在本篇文章中,我们将探讨如何基于Maven构建一个包含Spring、Spring MVC以及MyBatis框架的集成环境。项目的主要目的是为了...
在IT行业中,Spring MVC是一个广泛使用的Java Web框架,它基于Spring框架,专为构建Web应用程序而设计。Spring MVC提供了一种优雅的方式,通过模型-视图-控制器(MVC)架构来分离关注点,使开发者可以更专注于业务...
在Spring MVC的学习过程中,了解和掌握其核心概念与机制至关重要。Spring MVC是Spring框架的一个模块,主要用于构建Web应用程序。在Spring 3.0.x版本中,Spring MVC进行了大量的改进,引入了许多新特性和优化,使其...
Spring MVC 是一款强大的Java Web开发框架,用于构建高效、可维护和模块化的Web应用程序。它作为Spring框架的一部分,提供了一种优雅的方式来处理HTTP请求和响应,使得开发者可以专注于业务逻辑而不是底层实现。在这...
Spring MVC 是一个基于 Java 的轻量级 Web 开发框架,它是 Spring 框架的重要组成部分,主要用于构建 MVC(Model-View-Controller)架构的 Web 应用程序。本教程将深入探讨 Spring MVC 的核心概念、配置、使用方法...
在 Spring MVC 中,可以通过 `Model` 或 `ModelMap` 对象向视图传递数据。这些数据可以在视图层展示或用于生成动态内容。例如: ```java @RequestMapping(value = "/details") public String details(Model model) ...
Spring MVC 是一个基于 Java 的轻量级 Web 开发框架,它是 Spring 框架的一部分,主要用于构建 MVC(Model-View-Controller)模式的 Web 应用程序。在本项目 "spring-mvc-study" 中,我们可以看到一些核心的文件和...
Java中常见的MVC框架有Spring MVC和Struts2。Spring MVC是Spring框架的一部分,提供了一种高度模块化和可配置的方式来构建Web应用。它使用DispatcherServlet作为入口点,处理所有的HTTP请求,并根据请求映射到相应的...
【标题】"MVC_Mysql.rar_java MVC_java MVC mysql_java 案例_mvc_mvc框架" 提供了一个关于Java MVC框架与MySQL数据库结合的实践案例。MVC(Model-View-Controller)是一种广泛用于Web应用程序开发的设计模式,旨在...
在Java MVC中,控制器通常由Servlet或Spring MVC的@Controller注解的类实现。在这个例子中,控制器可能会处理HTTP请求,如GET和POST,然后调用相应的服务方法来执行数据库操作。 **数据库交互**: 在Java MVC中,与...