Java---学习(4)
来源:互联网 发布:php namespace use 编辑:程序博客网 时间:2024/04/30 08:40
知道spring MVC框架,大家就一定要了解Controller, Controller是MVC的核心,它负责处理所有客户端发过来的请求,并对请求进行处理,并转发给浏览器。
如果想让Spring mvc指定controller,要在指定的类前面加上@Controller标记,同时指定映射使用@RequestMapping, RequestMapping主要用来指定controller和action的名称和请求参数方法的设置。
1.配置Controller
首先我们想把某个类定义为Controller,要在Dispatcher-servlet.xml中增加如下配置,指定扫描哪个包下面的类。
- <mvc:annotation-driven />
- <context:component-scan base-package=“com.springfirst.Controller” />
<mvc:annotation-driven /> <context:component-scan base-package="com.springfirst.Controller" />同时在指定包的类的前面加上@Controller标记,如下,
- @Controller
- @RequestMapping(“/Home”)
- public class HomeController
- {
- }
@Controller@RequestMapping("/Home")public class HomeController {}这里我们通过requestmapping映射别名为Home
2. Controller中Action的返回值
Action是Controller中处理具体请求的方法,Action的返回值有以下几种类型,String, ModelAndView, Void, Map等。
String
首先我们看下String,String是用的最多,也是最常用的返回类型。我们这里添加一个方法Index,并使用RequestMapping设置别名
- @RequestMapping(value=“index”)
- public String Index()
- {
- System.out.print(“123”);
- return “index”;
- }
@RequestMapping(value="index") public String Index() { System.out.print("123"); return "index"; }ModelAndView 也可以返回对于的视图名称
- @RequestMapping(value=“viewone”)
- public ModelAndView viewone()
- {
- ModelAndView mv=new ModelAndView();
- mv.setViewName(“viewone”);//设置返回模板名称
- mv.addObject(“name”, “Hello World”);//设置参数值,在前台页面可以通过获取到
- return mv;
- }<strong>
- </strong>
@RequestMapping(value="viewone") public ModelAndView viewone() { ModelAndView mv=new ModelAndView(); mv.setViewName("viewone");//设置返回模板名称 mv.addObject("name", "Hello World");//设置参数值,在前台页面可以通过获取到 return mv; }<strong> </strong>返回值还可以为Void,Map,等。代码如下
- package com.springfirst.Controller;
- import java.util.HashMap;
- import java.util.Map;
- import org.springframework.stereotype.Controller;
- import org.springframework.web.bind.annotation.RequestMapping;
- import org.springframework.web.bind.annotation.ResponseBody;
- import org.springframework.web.servlet.ModelAndView;
- @Controller
- @RequestMapping(“/Home”)
- public class HomeController {
- @RequestMapping(value=“index”)
- public String Index()
- {
- System.out.print(“123”);
- return “index”;
- }
- @RequestMapping(value=“viewone”)
- public ModelAndView viewone()
- {
- ModelAndView mv=new ModelAndView();
- mv.setViewName(“viewone”);//设置返回模板名称
- mv.addObject(“name”, “Hello World”);//设置参数值,在前台页面可以通过获取到
- return mv;
- }
- @RequestMapping(value=“viewtwo”)
- public String viewtwo()
- {
- System.out.print(“viewtwo”);
- return “redirect:/Home/viewone”;
- }
- @RequestMapping(value=“viewthree”)
- public void viewthree()
- {
- System.out.print(“viewthree”);
- }
- @ResponseBody()
- @RequestMapping(value=“viewfour”)
- public Map<String,String> viewfour()
- {
- System.out.print(“viewfour”);
- Map<String,String> map=new HashMap<String,String>();
- map.put(“id”, “1”);
- map.put(“age”, “20”);
- return map;
- }
- }
package com.springfirst.Controller;import java.util.HashMap;import java.util.Map;import org.springframework.stereotype.Controller;import org.springframework.web.bind.annotation.RequestMapping;import org.springframework.web.bind.annotation.ResponseBody;import org.springframework.web.servlet.ModelAndView;@Controller@RequestMapping("/Home")public class HomeController { @RequestMapping(value="index") public String Index() { System.out.print("123"); return "index"; } @RequestMapping(value="viewone") public ModelAndView viewone() { ModelAndView mv=new ModelAndView(); mv.setViewName("viewone");//设置返回模板名称 mv.addObject("name", "Hello World");//设置参数值,在前台页面可以通过获取到 return mv; } @RequestMapping(value="viewtwo") public String viewtwo() { System.out.print("viewtwo"); return "redirect:/Home/viewone"; } @RequestMapping(value="viewthree") public void viewthree() { System.out.print("viewthree"); } @ResponseBody() @RequestMapping(value="viewfour") public Map<String,String> viewfour() { System.out.print("viewfour"); Map<String,String> map=new HashMap<String,String>(); map.put("id", "1"); map.put("age", "20"); return map; }}action前的@RequestMapping(value=”viewone”) 和 @RequestMapping(value=”/viewone”)效果是一样的,可以不用加斜杠。
阅读全文
0 0
- java学习(4)
- Java---学习(4)
- java学习笔记(4)
- java学习笔记(4)
- java基础学习(4)
- java并发学习(4)
- java基础学习(4)
- java学习-基础(4)
- java学习笔记(4)
- 【java】java学习(一)
- 【java】java学习(二)
- 学习Java的笔记(4)
- JAVA语言规范学习笔记(4)
- Java学习笔记18天---(4)
- Java NIO学习4(缓冲区2)
- Java学习日记(4)--异常
- Java Socket 编程学习(4)
- 我的java学习日记(4)
- TensorFlow入门:如何导入MNIST数据集和Cifar数据集
- 杭电 2015 偶数求和
- FTPrep: 53. Maximum Subarray
- NYOJ 39 水仙花数
- redis安装
- Java---学习(4)
- Vue数组操作
- 南京霞浦厦门杭州旅游后记
- JAVA进阶----ThreadPoolExecutor机制
- Java---学习(5)
- 1009. 说反话 (20)
- Mongo数据格式及数据类型
- opencv环境配置
- 【刷题日记】向NOIP2017冲刺!