SpringMvc Controller

@Controller
注解表示页面可以跳转

@ResponseBody
@RequestMapping(“aa”)
public String to(){
return aa;
}
表示访问url地址为http:loalhost:8080/aa
返回页面数据为aa

如果去掉@ResponseBody注解
那么
@RequestMapping(“aa”)
public String to(){
return “aa”;
}
跳转到的是aa.html

重定向页面地址:
@RequestMapping(“aa”)
public String to(){
return “redirect:ddd”;
}
重定向到url方法 http:localhsot:8080/ddd
访问到相应的Controller方法
return “redirect:…/ddd”;
比如是在http:localhsot:8080/aa/ddd
下的访问,想要访问http:localhsot:8080/ddd
就return “redirect:…/ddd”;

@Autowied
private Service service;

service.调用方法

package cn.zhibang.controller;

import cn.zhibang.model.User;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.servlet.ModelAndView;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpSession;
import java.io.PrintWriter;
import java.util.Map;

@Controller
public class AController {


    /*1.接收地址传递的参数*/
    /*2.接收form表单提交的参数*/
    /*3.接收ajax请求的参数*/




    /*通过HttpServletRequest接收参数*/
    /*@RequestMapping("/a")
        public ModelAndView getParam(HttpServletRequest request){
            System.out.println("测试");
            String name = request.getParameter("name");
            System.out.println(name);

            ModelAndView mv = new ModelAndView();
            mv.setViewName("success");
            return mv;
    }*/

    /*通过方法的参数接收传递的数据*/
    /*@RequestMapping("/a")
    public ModelAndView getParam(String name){
        System.out.println("测试");
        System.out.println(name);

        ModelAndView mv = new ModelAndView();
        mv.setViewName("success");
        return mv;
    }*/

    /*通过@RequestParam获取*/
    /*@RequestMapping("/a")
    public ModelAndView getParam(@RequestParam("name1") String name){
        System.out.println("测试");
        System.out.println(name);

        ModelAndView mv = new ModelAndView();
        mv.setViewName("success");
        return mv;
    }*/

    /*动态获得参数*/
    /*@RequestMapping("/a/{names}")
    public ModelAndView getParam(@PathVariable("names")  String name){
        System.out.println("测试");
        System.out.println(name);

        ModelAndView mv = new ModelAndView();
        mv.setViewName("../success");
        return mv;
    }*/


    /*接收表单数据
    @RequestMapping("/b")
    public ModelAndView getParam(User user){
        System.out.println("测试");
        System.out.println(user);


        ModelAndView mv = new ModelAndView();
        mv.setViewName("success");
        return mv;
    }*/



    /*接收ajax请求数据*/
    /*@RequestMapping("/b")
    //public ModelAndView getParam(String uname, String upwd){
    public void getParam(User user, PrintWriter out){
        System.out.println("测试");
        //System.out.println(uname+"\t"+upwd);
        System.out.println(user);

        //将对象、集合转换成JSON对象

        out.print("123");
        out.flush();
        out.close();
    }*/




    @RequestMapping("/c")
    @ResponseBody
    public User getParam(){
        System.out.println("测试");
        User u = new User();
        u.setUname("admin");
        u.setUpwd("123456");
        //调用Service层中的方法
        return u;
    }


    /*@RequestMapping("/abc")
    public String geta(){
        return "success";
    }*/


//    @RequestMapping("/abc")
//    public String geta(Model model){
//        model.addAttribute("name", "张三");
//        String name =(String)model.asMap().get("name");
//        return "success.jsp";
//    }


//    @RequestMapping("/abc")
//    public String geta(Map map){
//        map.put("user", "李四");
//        String name = (String)map.get("user");
//        return "success";
//    }


//    @RequestMapping("/abc")
//    public String geta(HttpSession session, HttpServletRequest request){
//        request.getServletContext();  //application
//        return "success";
//    }




//    @ResponseBody
//    @RequestMapping("/abc")
//    public String geta(Model model, String type){  //确保请求参数的安全性,正确性
//        model.addAttribute("name", "张三");
//
//        return "redirect:success.jsp";  //重定向的方式进行跳转
//    }



}

package cn.zhibang.controller;

import cn.zhibang.model.User;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.*;

import java.util.ArrayList;
import java.util.List;

@Controller
public class BController {

    //@RequestMapping(value = "/orders", method = RequestMethod.GET)
    @GetMapping("/orders")
    public String getA(Model model) throws Exception{
        System.out.println("只能是get请求方式才执行该方法");
        List<User> users = new ArrayList<>();
        //初始化10个用户对象
        for (int i = 0; i < 10; i++) {
            User user = new User();
            user.setUname("张三"+i);
            user.setUpwd("123");
            users.add(user);
        }
        model.addAttribute("users", users);
        return "list";
    }

    //@RequestMapping(value = "/orders", method = RequestMethod.POST)
    @PostMapping(value = "/orders")
    public String getB() throws Exception{
        System.out.println("只能是post请求方式才执行该方法");
        return "success";
    }



    @GetMapping(value = "/order")
    public String getc() throws Exception{
        return "add";
    }

    @PostMapping(value = "/order")
    public String getd(User user) throws Exception{
        System.out.println(user);
        //执行dao方法的insert into语句
        return "redirect:/orders";
    }


    @DeleteMapping("/order/{id}")
    public String gete(@PathVariable("id") Integer uid) throws Exception{
        System.out.println(uid);
        //调用dao方法,传参要删除的ID

        return "redirect:/orders";
    }

}

package cn.zhibang.controller;

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.servlet.ModelAndView;

import javax.servlet.http.HttpServletRequest;

//  http://localhost:8080/user
@Controller
@RequestMapping("/user")
public class UserController {

    // http://localhost:8080/springmvc/user/hello

    //@GetMapping("/hello")
    //@PostMapping("/hello")
    @RequestMapping("/hello")
    public ModelAndView hello(HttpServletRequest request){
        System.out.println("hello。。。。");
        //ModelAndView  模型和视图
        ModelAndView mv = new ModelAndView();
        //设置model:表示mv对象中的一个容器,用于存放数据
        mv.addObject("user", "张三");
        //设置view:表示该方法执行完后,跳转的页面
        mv.setViewName("../success");
        return mv;
    }

    // http://localhost:8080/springmvc/abc
    @RequestMapping("/abc")
    public void abc(){
        System.out.println("abc13.....");
    }



}

public String to(Model model,ModelAndView mv,Map map){
// 三种作用域方式
return “”;
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值