/** * 项目名称:Spring3mvc demo * Copyright ? 2010-2012 spartacus.org.cn All Rights Reserved */ package cn.org.spartacus.spring; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMethod; import org.springframework.web.servlet.ModelAndView; /** * Description: TODO * @author hankaibo * @date 2012-11-4 * @version v1.0 */ @Controller //添加注解,这样配置文件就可以找到它了。 public class ReturnController { }
新建用于接受结果的前台页面mav.jsp:
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%> <!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=UTF-8"> <title>mav</title> </head> <body> ${mav } </body> </html>
在success.jsp中添加触发条件
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%> <!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=UTF-8"> <title>hello world</title> </head> <body> Hello world! <c:redirect url="/app/return/test1" /> </body> </html>
地址栏输入测试,完成。
最后完整版如下,Java代码:
/** * 项目名称:Spring3mvc demo * Copyright © 2010-2012 spartacus.org.cn All Rights Reserved */ package cn.org.spartacus.spring; import java.util.Map; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import org.springframework.stereotype.Controller; import org.springframework.ui.Model; import org.springframework.ui.ModelMap; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMethod; import org.springframework.web.servlet.ModelAndView; import org.springframework.web.servlet.View; /** * Description: TODO * * @author hankaibo * @date 2012-11-4 * @version v1.0 */ @Controller // 添加注解,这样配置文件就可以找到它了。 @RequestMapping("return") public class ReturnController { /** * <p> * Description: 测试一,返回ModelAndVie类型 * </p> * * @param * @return ModelAndView */ @RequestMapping(value = "test1", method = RequestMethod.GET) public ModelAndView test1(HttpServletRequest request, HttpServletResponse response) { ModelAndView mav = new ModelAndView(); mav.setViewName("return/mav"); // 设置返回的文件名 mav.addObject("mav", "我的返回类型是ModelAndView."); return mav; } /** * <p> * Description: 跳转到界面为 类路径@RequestMapping的值+方法@RequestMapping的值组成的页面 * </p> * * @param * @return Model * @throws */ @RequestMapping("test2") public Model test2(Model model) { model.addAttribute("model", "我的返回类型是Model"); return model; } /** * <p> * Description: 跳转到界面为 类路径@RequestMapping的值+方法@RequestMapping的值组成的页面 * </p> * * @param * @return ModelMap * @throws */ @RequestMapping("test3") public ModelMap test3(ModelMap modelMap) { modelMap.addAttribute("modelMap", "我的返回类型是ModelMap"); return modelMap; } /** * <p> * Description: 跳转到界面为 类路径@RequestMapping的值+方法@RequestMapping的值组成的页面 * </p> * * @param * @return Map * @throws */ @RequestMapping("test4") public Map test4(Map map) { map.put("map", "我的返回类型是Map"); return map; } /** * <p>Description: TODO 返回的页面可以为pdf,excel等。</p> * @param * @return View * @throws */ @RequestMapping("test5") public View test5(){ return null; } /** * <p>Description: 跳转到界面为 类路径@RequestMapping的值+方法@RequestMapping的值组成的页面</p> * @param * @return void * @throws */ @RequestMapping("test6") public void test6(Map<String,Object> map){ map.put("void","我的返回类型是void"); } /** * <p>Description: TODO</p> * @param * @return String * @throws */ @RequestMapping("test7") public String test7(Map<String,Object> map){ map.put("string", "我的返回类型是String"); return "return/string"; } }
jsp代码如下:
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%> <!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=UTF-8"> <title>hello world</title> </head> <body> Hello world! <c:redirect url="/app/return/test1" /> <%-- <c:redirect url="/app/return/test2" /> <c:redirect url="/app/return/test3" /> <c:redirect url="/app/return/test4" /> <c:redirect url="/app/return/test5" /> <c:redirect url="/app/return/test6" /> <c:redirect url="/app/return/test7" /> --%> </body> </html>
相关推荐
这里,`@RequestMapping("/hello")`注解定义了一个处理HTTP GET请求的映射,而`@ResponseBody`则表示方法返回值应直接写入HTTP响应体。 最后,启动Tomcat服务器,访问`...
SpringMVC是一个基于Java的轻量级Web应用框架,它为构建RESTful应用程序提供了强大的支持。在本示例中,我们将深入探讨...通过学习和熟练掌握这些注解,开发者能够更加高效地利用SpringMVC框架构建功能丰富的Web应用。
`@RequestBody`用于将HTTP请求体中的数据转换为方法参数,而`@ResponseBody`将方法返回值直接写入HTTP响应体,通常用于返回JSON或XML格式的数据。 8. **@ModelAttribute** `@ModelAttribute`常用于数据绑定,它...
在Spring MVC早期版本中,非注解方式是主要的配置方法。这通常涉及XML配置文件,如`spring-servlet.xml`,用于定义DispatcherServlet、Controller、视图解析器以及其他相关组件。 1. **Controller定义**:在XML配置...
此外,还有其他一些注解如`@RequestParam`用于获取请求参数,`@PathVariable`用于获取URL路径变量,`@ResponseBody`用于将方法返回值直接写入HTTP响应体等。 在这个实例中,每个层之间的调用都通过注解实现了松耦合...
7. `@ResponseBody`:这个注解告诉Spring MVC,方法的返回值应直接写入HTTP响应体,而不是寻找一个视图进行渲染。通常用于返回JSON或XML数据。 8. `@ExceptionHandler`:用于处理全局的异常。在控制器方法上添加此...
4. **模型和视图**:`@ModelAttribute`注解用于将方法参数与HTTP请求中的数据绑定,而`@ResponseBody`注解则指示Spring将方法返回值直接写入HTTP响应体,通常用于返回JSON或XML数据。 5. **异常处理**:使用`@...
总之,"springMVC 注解版"资源涵盖了Spring MVC框架的核心注解使用,是学习和实践Spring MVC开发的宝贵资料。通过深入学习和实践,开发者可以掌握如何创建控制器、处理HTTP请求、进行数据绑定、异常处理以及事务管理...
在Spring MVC框架中,注解是实现控制器、数据绑定、模型映射等核心功能的关键元素。这些注解简化了代码,使得开发更加...视频教程结合课程文档将提供更加直观和详尽的指导,帮助学习者更好地掌握Spring MVC的注解使用。
通过以上知识点的学习,我们不仅了解了SpringMVC的基本原理和用法,还掌握了如何将其应用于实际项目中,包括与MyBatis的整合、注解开发、高级特性等。这有助于我们在实际工作中更加熟练地运用SpringMVC框架。
- **`@ModelAttribute`**:该注解用于将方法返回的对象添加到模型中,可以在多个地方使用,如方法参数、方法返回值等。 - **依赖注入**:通过`@Autowired`等注解,SpringMVC支持自动装配Controller所需的依赖,如上...
例如,通过 `@RequestMapping` 注解映射请求,`@Controller` 注解声明控制器类,`@ResponseBody` 注解将方法的返回值直接写入 HTTP 响应体等。 一个简单的注解式 SpringMVC 项目创建步骤: 1. 创建 Maven Web 项目...
3. **@GetMapping** 和 **@PostMapping**:这些是Spring 4.3引入的简化版注解,分别用于处理GET和POST请求。它们是@RequestMapping的特化,使代码更加清晰易读。 4. **@PathVariable**:用于从URL模板中提取参数值...
在注解版SpringMVC中,我们可以直接在控制器类的方法上使用`@RequestMapping`来定义请求映射,如`@RequestMapping("/hello")`表示处理"/hello"的请求。还可以通过`@RequestParam`、`@PathVariable`等注解获取请求...
`@Controller`注解标记控制器类,而`@ResponseBody`则表示方法的返回值直接写入HTTP响应体。 **注解的使用** 在基于注解的开发模式下,开发者不再需要大量XML配置,而是直接在类或方法上使用注解。这种方式降低了...
本文将详细介绍SpringMVC中的一些核心注解及其作用。 1. **@Controller**: `@Controller`注解用于标记一个类作为Spring MVC的控制器。当Spring的组件扫描启用后,带有此注解的类会被识别为处理HTTP请求的组件。...
首先,HandlerMethod类是Spring3.1版本之后引入的,它封装了方法参数、方法注解、方法返回值等元素。HandlerMethod的子类InvocableHandlerMethod拥有WebDataBinderFactory和HandlerMethodArgumentResolverComposite...