Fork me on GitHub

springMVC的controller

 控制器controller 负责处理DispatcherServlet分发请求,把业务处理层封装成一个model,然后把该model返回给对应的view。

@Controller 用于标记在一个类上,使用它标记的类就是一个SpringMVC Controller 对象。分发处理器将会扫描使用了该注解的类的方法,并检测该方法是否使用了@RequestMapping 注解。

package com.controller;

import com.pojo.Paper;
import com.service.PaperService;

import org.springframework.beans.factory.annotation.Autowired;
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 java.util.List;
import java.util.logging.Logger;

/**
 * @className: PaperController
 * @Descripetion:paper控制器
 * @Author: 光影
 * @Date:: 2019.03.19
 */

@Controller
//请求映射路径
@RequestMapping("/paper")
public class PaperController {


    private  static Logger logger= (Logger) Logger.getLogger(String.valueOf(PaperController.class));
    @Autowired
    private PaperService paperService;

    @RequestMapping("/allPaper")
    public String list(Model model) {
        List<Paper> list = paperService.queryAllPaper();
        model.addAttribute("list", list);
        return "allPaper";
    }

    @RequestMapping("toAddPaper")
    public String toAddPaper() {
        return "addPaper";
    }

    @RequestMapping("/addPaper")
    public String addPaper(Paper paper) {
        paperService.addPaper(paper);
        return "redirect:/paper/allPaper";
    }

    @RequestMapping("/del/{paperId}")
    public String deletePaper(@PathVariable("paperId") Long id) {
        paperService.deletePaperById(id);
        return "redirect:/paper/allPaper";
    }

    @RequestMapping("toUpdatePaper")
    public String toUpdatePaper(Model model, Long id) {
        model.addAttribute("paper", paperService.queryById(id));
        return "updatePaper";
    }

    @RequestMapping("/updatePaper")
    public String updatePaper(Model model, Paper paper) {
        paperService.updatePaper(paper);
        paper = paperService.queryById(paper.getPaperId());
        model.addAttribute("paper", paper);
        return "redirect:/paper/allPaper";
    }

//    @RequestMapping("/test/{awer}")
//    public void teet(@PathVariable("awer") int awer){
//        int a=10;
//        int c=a+awer;
//        System.out.print(c);
//
//
//    }



}

 使用@RequestMapping("/***") 标记一个类映射地址,标记一个方法映射请求。(当仅仅标记方法时候地址是绝对路径,两者结合使用时使用的是相对路径-推荐两者结合使用)

 RequestMappping(value="/test",method =RequestMethod.POST)标记一个方法时候

使用method参数限制以post方法请求/test 的时候才能访问该RequestMapping方法

 

@Autowired 

自动装配(将一个构造器,变量域,setter,config方法被spring DI工具自动装配)。

如「(依赖注入

 userServiceImpl类标记@Service   userController类中使用Autowired。

 

posted @ 2019-03-19 20:13  雪人奥特曼  阅读(221)  评论(0编辑  收藏  举报