Spring Controller 编写 示例
来源:互联网 发布:科力达全站仪传输软件 编辑:程序博客网 时间:2024/06/07 05:15
Spring Controller 编写 示例
package com.eduoinfo.finances.bank.web.controller;import java.io.IOException;import java.io.OutputStream;import java.util.ArrayList;import java.util.Date;import java.util.HashMap;import java.util.HashSet;import java.util.List;import java.util.Map;import java.util.Set;import javax.annotation.Resource;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import org.springframework.core.io.ClassPathResource;import org.springframework.http.HttpEntity;import org.springframework.stereotype.Controller;import org.springframework.util.Assert;import org.springframework.util.FileCopyUtils;import org.springframework.web.bind.annotation.CookieValue;import org.springframework.web.bind.annotation.PathVariable;import org.springframework.web.bind.annotation.RequestHeader;import org.springframework.web.bind.annotation.RequestMapping;import org.springframework.web.bind.annotation.RequestParam;import org.springframework.web.bind.annotation.ResponseBody;import com.eduoinfo.finances.bank.core.entity.JsonResult;import com.eduoinfo.finances.bank.web.dao.TestMapper;import com.eduoinfo.finances.bank.web.model.Test;import com.eduoinfo.finances.bank.web.model.User;import com.eduoinfo.finances.bank.web.service.impl.TestServiceImpl;/** * Spring MVC Controller 编写示例 * * @author StarZou * @since 2014年4月26日 上午11:02:20 **/@Controller@RequestMapping(value = "/test")public class TestController { /** * Service 业务层 注入 */ @Resource private TestServiceImpl testServiceImpl; /** * Dao 注入 */ @Resource private TestMapper testMapper; /** * 通过注解绑定 参数值 示例 * * @PathVariable : 从url 中 取得 参数值 * @RequestHeader : 从请求头中 取得 参数值 * @RequestParam : 从请求参数中 取得 值 * @CookieValue : 从 cookie 中取值 */ @RequestMapping("/**/{id}") @ResponseBody public String testValue(@PathVariable("id") String id, @RequestHeader("User-Agent") String userAgent, @RequestParam(value = "name", defaultValue = "null", required = false) String name, @CookieValue("JSESSIONID") String jsessionid) { return userAgent + "<br>" + jsessionid + "<br>" + id + "<br>" + name; } /** * 使用Servlet API对象作为入参 * * @param request * @param response */ @RequestMapping("/request") public void req(HttpServletRequest request, HttpServletResponse response) { Assert.notNull(request, "请求不能为空"); response.setStatus(200); } /** * 使用IO对象作为入参 * * @param os * @throws IOException */ @RequestMapping("/stream/{path}") public void img(OutputStream os, @PathVariable("path") String path) throws IOException { ClassPathResource res = new ClassPathResource("/spring-mvc.xml"); FileCopyUtils.copy(res.getInputStream(), os); } /** * 表单提交 示例,bean的属性 自动 装配 <br> * 指定方法类型:method = RequestMethod.POST <br> * http://localhost/test/rest/test/body?name=starzou&password=123 * * @param user * @return */ @RequestMapping(value = "/body") @ResponseBody public Object body(User user) { return user; } /** * httpEntity.getHeaders() 得到所有请求头 * * @param httpEntity * @return */ @RequestMapping("/http") @ResponseBody public Object http(HttpEntity<String> httpEntity) { return httpEntity.getHeaders().entrySet(); } /** * 调用 业务层 方法示例 * * @return */ @RequestMapping("/date") @ResponseBody public String date() { return testServiceImpl.date(); } /** * Spring MVC将匹配方法参数名URI模板变量名称 * * @param x * @param y * @return */ @RequestMapping("/var/{x}/{y}") @ResponseBody public String var(@PathVariable String x, @PathVariable String y) { return x + "<br>" + y; } /** * 测试 mybaits generator生成的 dao model,进行 数据库操作 * * @return */ @RequestMapping("/tt/add") @ResponseBody public Object testAdd() { com.eduoinfo.finances.bank.web.model.Test test = new com.eduoinfo.finances.bank.web.model.Test(); final long currentTimeMillis = System.currentTimeMillis(); test.setTname("tname : " + currentTimeMillis); test.setTdate(new Date()); testMapper.insert(test); return test; } /** * 数据库 查询 * * @return */ @RequestMapping("/tt/select") @ResponseBody public Object testSelect() { final List<Test> list = testMapper.selectByExample(null); return list; } /** * 测试 spring mvc 返回 json , 封装 Json 格式数据, 减少 类型转换 * * @return */ @RequestMapping("/json") @ResponseBody public JsonResult<Object[]> returnJson() { // 实际情况 下 String,可能是一个 自定义的Java 类,比如 User , 通常是在 数据库查询 List<String> data = new ArrayList<>(); Set<String> data2 = new HashSet<>(); Map<String, String> data3 = new HashMap<>(); int i = 0; while (i < 10) { String value = "data-" + (++i); data.add(value); data2.add(value); data3.put(value, value); } // 组装 查询的 结果 , 添加消息 和 是否成功的标识 JsonResult<List<String>> jsonResult = new JsonResult<>(data, "This is a message.", true); JsonResult<Set<String>> jsonResult2 = new JsonResult<>(data2, "This is a message.", true); JsonResult<Map<String, String>> jsonResult3 = new JsonResult<>(data3, "This is a message.", true); // 复杂一点的 封装 Object[] objs = { jsonResult, jsonResult2, jsonResult3 }; JsonResult<Object[]> jsonObj = new JsonResult<Object[]>(objs); return jsonObj; }}
1 0
- Spring Controller 编写 示例
- spring mvc controller类方法的示例
- spring中定时器编写示例
- Spring Mvc——Controller中常规方法示例
- Spring Mvc——Controller中常规方法示例
- spring webmvc如何编写service 和controller的单元测试
- spring三层示例controller层,service层示例,dao层示例
- Spring controller
- Spring controller
- Spring controller
- spring-controller
- java访问controller示例
- spring+ibatis框架下事务代码的编写示例
- Spring整合hibernate(4)之BaseDao的编写示例
- spring MVC -controller
- Spring-Controller的單元測試
- spring mvc的Controller
- Spring Controller应用举例
- Service: 监听外部存储设备
- 【C++】基本的数据类型(一) 整型常量的表示方法
- Exchange摸拟用户和邮件提醒
- PostgreSQL LIMIT子句
- Evolution 打开 eml附件
- Spring Controller 编写 示例
- Msql数据库备份
- 如何用美剧真正提升你的英语水平?
- QSettings
- SERVLET中的doGet与doPost两个方法之间的区别
- 关于MAC 安装 laravel4 的一些经验
- 编程基础-----qsort函数排序
- 两个栈实现一个队列
- Android源码分析之拍照、图片、录音、视频和音频功能