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。
」
springMVC的controller的更多相关文章
- springMVC基础controller类
此文章是基于 搭建SpringMVC+Spring+Hibernate平台 功能:设置请求.响应对象:session.cookie操作:ajax访问返回json数据: 创建springMVC基础con ...
- springmvc 中controller与jsp传值
参考:springmvc 中controller与jsp传值 springMVC:将controller中数据传递到jsp页面 jsp中,死活拿不到controller中的变量. 花了半天,网上列出各 ...
- SpringMVC的Controller中使用线程安全的初始化
因为SpringMVC的Controller默认是单例, 在这种情况下, Controller中使用的私有变量必须也是单例, 例如各种service, 否则会有多线程访问数据互相修改的问题. 对于需要 ...
- SpringMVC从Controller跳转到另一个Controller(转)
http://blog.csdn.net/jackpk/article/details/44117603 [PK亲测] 能正常跳转的写法如下: return "forward:aaaa/bb ...
- 详解SpringMVC中Controller的方法中参数的工作原理[附带源码分析]
目录 前言 现象 源码分析 HandlerMethodArgumentResolver与HandlerMethodReturnValueHandler接口介绍 HandlerMethodArgumen ...
- SpringMVC自动扫描@Controller注解的bean
若要对@Controller注解标注的bean进行自动扫描,必须将<context:component-scan base-package="包路径.controller"/ ...
- SpringMVC 的 Controller 返回各种视图的处理方式
SpringMVC 的 Controller 可以返回各种各样的视图.比如 JSP, JSON, Velocity, FreeMarker, XML, PDF, Excel, 还有Html字符流 等等 ...
- Spring之SpringMVC的Controller(源码)分析
说明: 例子就不举了,还是直接进入主题,本文主要是以SpringMVC的Controller接口为入点,来分析SpringMVC中C的具体实现和处理过程. 1.Controller接口 public ...
- SpringMVC中Controller
详解SpringMVC中Controller的方法中参数的工作原理[附带源码分析] 目录 前言 现象 源码分析 HandlerMethodArgumentResolver与HandlerMethodR ...
- SpringMVC之Controller和参数绑定
在上一篇Spring+SpringMVC+Mybatis整合中说到了SSM的整合,并且在其中添加了一个简单的查询功能,目的只是将整个整合的流程进行一个梳理,下面在上一篇中工程的基础上再说一些关于Spr ...
随机推荐
- 在windows系统下安装linux虚拟机(VMware)
一.下载Vmware安装包(此处我安装的是VMware-workstation-full-14.1.3) 链接: https://pan.baidu.com/s/12xT1JaA7eheEgFfM-2 ...
- Java Web Token - JWT
JWT认证过程:https://www.codetd.com/article/3602378 JWT官方文档:https://jwt.io/introduction/
- 03 前端篇(JS)
参考博客:http://www.cnblogs.com/yuanchenqi/articles/5980312.html JavaScript包括三部分: ECMAScript.DOM.BOM Jav ...
- python day08
ascii码转换成字符:ord(str) 字符串转换成ascii:chr(int) 三种字符串 1.普通字符串 --以字符作为输出单位 print(u'abc') 显示给用户看的字符串 2.二进制字符 ...
- Winform开发的应用环境和相关技术介绍
随着时间的推移,Winform也算是能够坚持下来最久的技术之一了,它的昔日辉煌和现今的依旧活跃,导致了它依旧拥有者很庞大的用户群体,虽然目前很多技术日新月异的,曾经的ASP.ASP.NET WebFo ...
- 记一次因为session引起的并发问题
在做一个DSP系统(不要纠结这个系统是做什么的)时,碰到了一个很奇特的bug. 事情背景: 1.媒体方要求素材必须通过API提交给他们审核后,方可投放使用. 2.上线不久,运营反馈“每当提交素材的时候 ...
- linux 下ab压力测试
1.ab的简介 ab是apachebench命令的缩写. ab是apache自带的压力测试工具.ab非常实用,它不仅可以对apache服务器进行网站访问压力测试,也可以对或其它类型的服务器进行压力测试 ...
- Python百题计划
一.基础篇 想要像类似执行shell脚本一样执行Python脚本,需要在py文件开头加上什么?KEY:#!/usr/bin/env python Python解释器在加载 .py 文件中的代码时,会对 ...
- python + django + echart 构建中型项目
1. python生产环境, 多层modules 导入问题: 多个modules 如何导入不同级别的包: 在每个modules下新建 __init__.pyimport os, sys dir_myt ...
- Linux(Ubunt)使用日记------常用软件汇总(不定时更新)
整理总结日常Ubuntu中使用的一些软件,事实证明使用Linux真的会让人的欲望变小有个能用的就不错啦,不要调三捡四 解压类 Unzip | unzip -O CP936 files Unrar ra ...