@Controller
@RequestMapping("/router")
@SessionAttributes(value = { "username" })
public class RouterController {
@RequestMapping(value = "/index", params = { "username", "age!=18" })
public String index() {
return "index";
} // 通配符的使用
@RequestMapping(value = "/testantpath/*/abc")
public String testantpath() {
return "index";
} // pathVariable
@RequestMapping(value = "/testpathvariable/{userId}")
public String testpathvariable(
@PathVariable(value = "userId") Integer userId) {
System.out.println(userId);
return "index";
} // RESTFUL
@RequestMapping(value = "/user/{userId}", method = RequestMethod.GET)
public String testgetmethod(@PathVariable(value = "userId") Integer userId) {
System.out.println("GET:" + userId);
return "index";
} @RequestMapping(value = "/user/{userId}", method = RequestMethod.POST)
public String testPostmethod(@PathVariable(value = "userId") Integer userId) {
System.out.println("POST:" + userId);
return "index";
} @RequestMapping(value = "/user/{userId}", method = RequestMethod.PUT)
public String testputmethod(@PathVariable(value = "userId") Integer userId) {
System.out.println("PUT:" + userId);
return "index";
} @RequestMapping(value = "/user/{userId}", method = RequestMethod.DELETE)
public String testdeletemethod(
@PathVariable(value = "userId") Integer userId) {
System.out.println("DELETE:" + userId);
return "index";
} // @RequestParam
@RequestMapping(value = "/tesrequestparam")
public String tesrequestparam(
@RequestParam(value = "username", required = false) String username) {
System.out.println(username);
return "index";
} // @RequestHeader
@RequestMapping(value = "/testrequestheader")
public String testrequestheader(
@RequestHeader(value = "Accept-Language") String al) {
System.out.println(al);
return "index";
} // @CookieValue
@RequestMapping(value = "/testcookievalue")
public String testcookievalue(
@CookieValue(value = "JSESSIONID") String cookie) {
System.out.println(cookie);
return "index";
} /*
* pojo的 获取
*/
@RequestMapping(value = "/testuser")
public String testpojo(TUser user) {
System.out.println(user);
// 数据库的操作
return "index";
} /*
* ModelAndView
*/
@RequestMapping(value = "/testmodelandview")
public ModelAndView testmodelandview() {
ModelAndView modelAndView = new ModelAndView("index");
modelAndView.addObject("username", "lisi");
return modelAndView;
} /*
* Map
*/
@RequestMapping(value = "/testmap")
public String testmap(Map<String, Object> map) {
map.put("age", 18);
return "index";
} /*
* Model
*/
@RequestMapping(value = "/testmodel")
public String testModel(Model model) {
model.addAttribute("email", "1@1.com");
return "index";
} /*
* @SessionAttributes
*/
@RequestMapping(value = "/testsession")
public String testsession(Model model) {
model.addAttribute("username", "wangwu");
return "index";
} /*
* @ModelAttribute
*/
@ModelAttribute
public void model(
@RequestParam(value = "userId", required = false) Integer userId,
Model model) {
if (userId != null) {
// 从数据库获取对象
TUser user = new TUser(userId, "wangwu", "123456", "1@1.com", 18);
model.addAttribute("user", user);
}
} @RequestMapping(value = "/testmodelattribute")
public String testmodelattribute(@ModelAttribute(value = "user") TUser user) {
System.out.println(user);
// 数据库的操作
return "index";
} /*
* 获取JSON数据
*/
@ResponseBody
@RequestMapping(value = "/testjson")
public TUser testjson() {
TUser user = new TUser(5, "wangwu", "123456", "1@1.com", 18);
return user; } /*
* 文件上传
*/
@RequestMapping(value = "/testupload")
public void upload(@RequestParam(name = "file1") MultipartFile file) {
File newFile = new File("E:\\" + file.getOriginalFilename());
if (!newFile.exists()) {
newFile.mkdirs();
}
try {
file.transferTo(newFile);
} catch (IllegalStateException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
} /*
* servlet api
*/
@RequestMapping(value = "/testhttpservletrequest")
public String testHttpServletRequest(HttpServletRequest request) {
request.setAttribute("username", "admin");
return "index";
} /*
* redirect
*/
@RequestMapping(value = "/testredirect")
public String testRedirect() {
return "redirect:/router/testhttpservletrequest";
} /*
* testValidator
*/
@RequestMapping(value = "/testvalidator")
public String testValidator(@Valid TUser user, BindingResult result,
HttpServletRequest request) {
if (result.hasErrors()) {
List<FieldError> fieldErrors = result.getFieldErrors();
for (FieldError fieldError : fieldErrors) {
request.setAttribute("_error" + fieldError.getField(),
fieldError.getDefaultMessage());
}
}
return "index";
} }

controller大全(推荐)的更多相关文章

  1. JavaScript数组方法大全(推荐)

    原网址:http://www.jb51.net/article/87930.htm 数组在笔试中经常会出现的面试题,javascript中的数组与其他语言中的数组有些不同,为了方便之后数组的方法学习, ...

  2. JS鼠标事件大全 推荐收藏

    一般事件 事件 浏览器支持 描述 onClick HTML: 2 | 3 | 3.2 | 4 Browser: IE3 | N2 | O3 鼠标点击事件,多用在某个对象控制的范围内的鼠标点击 onDb ...

  3. Redis高级命令操作大全--推荐

    redis安装和使用 redis安装 wget http://download.redis.io/redis-stable.tar.gz tar zxvf redis-stable.tar.gz cd ...

  4. SharePoint 入门书籍推荐 转载来源http://www.cnblogs.com/jianyus/p/3513238.html

    最近,总有人说刚入门SharePoint,没有好的资料或者电子书,资料推荐大家多看看博客园和CSDN的博客.对于看博客,我一般是两个思路,要么找一个人的从头到尾看一遍,觉得有意义的,就把地址加收藏:或 ...

  5. SharePoint 入门书籍推荐

    最近,总有人说刚入门SharePoint,没有好的资料或者电子书,资料推荐大家多看看博客园和CSDN的博客.对于看博客,我一般是两个思路,要么找一个人的从头到尾看一遍,觉得有意义的,就把地址加收藏:或 ...

  6. 开发必备linux命令大全-稳赚不亏

    我们的服务一般都是在linux系统运行,因此了解一些关于linux命令是必须.接下来将一一详细介绍一些常用的linux的命令 文件操作 远程登录与操作 磁盘挂载 进程管理 启动和结束 系统性能参数查看 ...

  7. fir.im Weekly - 2016 开年技术干货分享

    开年上班,北上广的技术er 陆续重返"人间".看到别人已返工写代码,竟然有种慌慌的感觉(ง •̀_•́)ง 勤奋好学如你,fir.im weekly 送上最新一波技术分享供你 &q ...

  8. emberjs学习二(ember-data和localstorage_adapter)

    emberjs学习二(ember-data和localstorage_adapter) 准备工作 首先我们加入ember-data和ember-localstorage-adapter两个依赖项,使用 ...

  9. mvc5+ef6+Bootstrap 项目心得--身份验证和权限管理

    1.mvc5+ef6+Bootstrap 项目心得--创立之初 2.mvc5+ef6+Bootstrap 项目心得--身份验证和权限管理 3.mvc5+ef6+Bootstrap 项目心得--WebG ...

随机推荐

  1. python pycharm 注册码

    D87IQPUU3Q-eyJsaWNlbnNlSWQiOiJEODdJUVBVVTNRIiwibGljZW5zZWVOYW1lIjoiTnNzIEltIiwiYXNzaWduZWVOYW1lIjoiI ...

  2. JavaEE--EL表达式

    EL(Expression Language)是为了使JSP写起来更加简单.表达式语言的灵感来自于 ECMAScript 和 XPath 表达式语言,它提供了在 JSP 中简化表达式的方法,使得用户对 ...

  3. SSH自动登录config文件配置

    title: SSH自动登录config文件配置 comments: false date: 2019-08-19 19:29:13 description: 更方便的 ssh 操作??? categ ...

  4. crm客户资源显示控制

    为便于员工之间的良性竞争,避免恶意挖客户,对于不同的登录用户,在客户列表中只显示当用用户自己所拥有的客户列表. ---具体的,通过在列表显示界面的列表查询语句中增加根据用户id查询其对应的客户资源的条 ...

  5. BFC的概念、BFC触发方式、BFC作用介绍

    一.BFC的概念 GFC——block fomatting context(中文译为块级格式化上下文) 二. 如何触发BFC 1. 设置 float 除 none 以外的值(left.right) 2 ...

  6. 【TensorFlow探索之一】MNIST的初步尝试

    最近在学习TensorFlow,尝试的第一个项目是MNIST.首先给出源码地址. 1 数据集的获取 我们可以直接运行下面的代码,来获取到MNIST的数据集. from tensorflow.examp ...

  7. [转载]一个支持Verilog的Vim插件——AutoDef

    原文地址:一个支持Verilog的Vim插件--AutoDef作者:hover 支持一下四种类型的变量声明: 1)时序always块中的寄存器变量reg 2)组合always块中的组合reg变量reg ...

  8. Qualcomm_Mobile_OpenCL.pdf 翻译-5-性能优化的概述

    这章提供了一个OpenCL应用程序优化的总体概述.更多的细节将会在接下来的章节中找到. 注意:OpenCL程序的优化是具有挑战性的.相比初始的程序开发工作,经常需要做更多的工作. 5.1 性能移植性 ...

  9. 拦截器HandlerInterceptor内部也可以注入bean,代码纠正补充

    原文地址https://www.jianshu.com/p/890c23a1b3d7 原文内容 1.拦截器内无法通过SpringBean的方式注入LoggerJPA,我只能通过另外一种形式. priv ...

  10. 【洛谷P1490】买蛋糕

    题目大意:给定一个正整数 N,求至少从 [1,N] 中选出多少个数能够表示出 [1,N] 中的所有整数,每个数只能被选 1 次,并求出对于最优解有多少种不同的选择方案. 题解:好题. 仅考虑用最少的不 ...