文档章节

Controller层方法错误

yeqiang2015
 yeqiang2015
发布于 2015/07/15 18:55
字数 753
阅读 27
收藏 0
package com.cisetech.web.controller.savecontroller;

import java.util.Date;

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.servlet.ModelAndView;

import com.cisetech.result.BaseResult;
import com.cisetech.result.SearchOrderResult;
import com.cisetech.service.openrecordservice.WechatSaveUpRecordService;
import com.cisetech.service.saveoneservice.SaveExplainService;
import com.cisetech.service.saveoneservice.SaveOnePeiceService;
import com.cisetech.util.JsonUtils;
import com.cisetech.util.PropertiesLoader;
import com.cisetech.vo.saveonevo.WechatSaveUpRecordVo;
import com.google.gson.Gson;
import com.google.gson.GsonBuilder;


/**
 * 用于测试前后台交换和操作数据库
 * @author yq
 *
 */
@Controller
@RequestMapping("/totest")
public class TestController {
	
private final static Logger log = LoggerFactory.getLogger(TestController.class);
	
	@Autowired
	private SaveOnePeiceService saveOnePeiceService;
	
	@Autowired
	private SaveExplainService saveExplainService;
	
	
	/**
	 * 测试字符串返回通过
	 * @return
	 */
	@RequestMapping("/totest")
	@ResponseBody
	public String getOnePeiece(){
		return "you are very goods";
	}
	
	/**
	 * 测试页面通过
	 * @return
	 */
	@RequestMapping("/firstPage")
	public String testgetFirstPage(){
		System.out.println("===into getFirstPage====");
		return "login"; 
	}
	
	/**
	 * 测试后端传json到前端通过
	 * @return
	 * @throws Exception
	 */
	@RequestMapping("/jsonToPage")
	@ResponseBody
	public String testJsontoPage() throws Exception{
		BaseResult result = new BaseResult();
		result.setCode(result.SUCCESS);
		result.setMessage("您成功了");
		result.setDate("123455");
		return JsonUtils.obj2Json(result); 
	}
	
	
	
	/**
	 * 测试查找数据库通过
	 * @return
	 */
	@RequestMapping("/findAll")
	@ResponseBody
	public String testSelect(){
		SearchOrderResult result  = saveOnePeiceService.getOrderByOrderNo("11");
//		List<WechatSaveUpRecordVo> volist = saveOnePeiceService.findAll();
//		System.out.println("volist:"+volist);
		return new Gson().toJson(result);
	}
	
	@RequestMapping("/test")
	public ModelAndView select(){
		int i=0;
		ModelAndView mv = new ModelAndView();
		WechatSaveUpRecordVo s=new WechatSaveUpRecordVo();
		String currentSchema = (new PropertiesLoader()).getProperty("currentSchema");
		System.out.println(currentSchema);
		s.setId(10000002);
		s.setCurrentSchema(currentSchema);
		
		s=saveOnePeiceService.test(s);
		//s=saveOnePeiceService.test1(currentSchema, "1");
		
		System.out.println(s.getId()+"存一笔记录表id");
		System.out.println(s.getSaveOpenId()+"存钱人openid");
		System.out.println(s.getSaveMoney()+"存钱金额");
		System.out.println(s.getSaveDate()+"存钱时间");
		System.out.println(s.getSaveState()+"存钱状态");
		System.out.println(s.getOrderNo()+"保单号");
		System.out.println(s.getInsuredId()+"被保人ID");
		System.out.println(s.getSaveReasonId()+"存钱事由id");
		System.out.println(s.getSelfSaveReason()+"存钱说明");
		System.out.println(s.getPayNo()+"PAY_NO支付号");
		
		WechatSaveUpRecordVo vo=new WechatSaveUpRecordVo();
		
//		vo.setCurrentSchema(currentSchema);
//		vo.setInsuredId("12");
//		vo.setOrderNo("12");
//		vo.setSaveDate(new Date(System.currentTimeMillis()));
//		//vo.setSaveOpenId("12345678");
//		vo.setSaveReasonId("12");
//		vo.setSaveMoney("12");
//		vo.setSelfSaveReason("今天心情不错啊");
//		vo.setSaveState("1");
//		vo.setPayNo("1");
//		
//		// i=saveOnePeiceService.insertWechatSaveUpRecord(vo);
		
		vo.setId(s.getId());
		vo.setSaveMoney("100");
		i=saveOnePeiceService.updateWechatSaveUpRecordById(vo);
		System.out.println(i);
		mv.addObject("s", s);
		mv.setViewName("CeShi");
		return mv;
	}
	
	/**
	 * 测试插入数据
	 * @return 
	 */
	@RequestMapping("/testInsert")
	@ResponseBody
	public String totestInsert(){
		log.info("===into test====");
		WechatSaveUpRecordVo vo = new WechatSaveUpRecordVo();
		BaseResult result = new BaseResult();
		vo.setInsuredId(10000000);
		vo.setOrderNo("3");
		vo.setSaveDate(new Date(System.currentTimeMillis()));
		vo.setSaveOpenId("123");
		vo.setSaveReasonId("1");
		vo.setSaveMoney("80");
		vo.setSelfSaveReason("今天心情不错啊");
		vo.setSaveState("1");
		System.out.println("===the saveUpRecordMapper:"+vo); 
		result = saveOnePeiceService.doSaveOne(vo, "1","心情不错"); 
		System.out.println("the result:"+result); 
		return new GsonBuilder().create().toJson(result); 
	}
	
	@RequestMapping("/getInsuredId")
	@ResponseBody
	public String getInsuredId(){
		String orderNo = "11";
		Integer id = saveOnePeiceService.getInsuredId(orderNo);
		return new Gson().toJson(id);
	}
	
	@RequestMapping("/test")
	public ModelAndView select1(){
		int i=0;
		ModelAndView mv = new ModelAndView();
		WechatSaveUpRecordVo s=new WechatSaveUpRecordVo();
		String currentSchema = (new PropertiesLoader()).getProperty("currentSchema");
		System.out.println(currentSchema);
		
		//select已通
//		s.setId(10000002);
//		s.setCurrentSchema(currentSchema);
//		s=saveOnePeiceService.test(s);
//		
//		System.out.println(s.getId()+"存一笔记录表id");
//		System.out.println(s.getSaveOpenId()+"存钱人openid");
//		System.out.println(s.getSaveMoney()+"存钱金额");
//		System.out.println(s.getSaveDate()+"存钱时间");
//		System.out.println(s.getSaveState()+"存钱状态");
//		System.out.println(s.getOrderNo()+"保单号");
//		System.out.println(s.getInsuredId()+"被保人ID");
//		System.out.println(s.getSaveReasonId()+"存钱事由id");
//		System.out.println(s.getSelfSaveReason()+"存钱说明");
//		System.out.println(s.getPayNo()+"PAY_NO支付号");
		
		WechatSaveUpRecordVo vo=new WechatSaveUpRecordVo();
		
		//insert已通
		vo.setCurrentSchema(currentSchema);
		vo.setInsuredId(12);
		vo.setOrderNo("12");
//		vo.setSaveDate(new Date(System.currentTimeMillis()));
//		vo.setSaveOpenId("12345678");
//		vo.setSaveReasonId("12");
//		vo.setSaveMoney("12");
		//vo.setSelfSaveReason("今天心情不错啊");
		vo.setSaveState("1");
		vo.setPayNo("1");
		//i=saveOnePeiceService.insertWechatSaveUpRecord(vo);
		i=saveOnePeiceService.insertSelective(vo);
		
		//update已通
		//s.setId(10000004);
//		s.setCurrentSchema(currentSchema);
//		s.setSaveMoney("200");
//		i=saveOnePeiceService.updateWechatSaveUpRecordById(s);
		
//		WechatCommenReasonVo crVo=new WechatCommenReasonVo();
//		crVo.setCurrentSchema(currentSchema);
//		crVo.setName("心情好");
//		i=saveExplainService.insert(crVo);
		System.out.println(i);
		mv.addObject("s", s);
		mv.setViewName("CeShi");
		return mv;
	}
	
	
	
}

上面的Contoller中的接口在tomcat启动的时候导致错误

2015-7-15 18:50:52 org.springframework.web.context.ContextLoader initWebApplicationContext

严重: Context initialization failed

org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerMapping#0': Invocation of init method failed; nested exception is java.lang.IllegalStateException: Ambiguous mapping found. Cannot map 'testController' bean method 

public org.springframework.web.servlet.ModelAndView com.cisetech.web.controller.savecontroller.TestController.select1()

to {[/totest/test],methods=[],params=[],headers=[],consumes=[],produces=[],custom=[]}: There is already 'testController' bean method

public org.springframework.web.servlet.ModelAndView com.cisetech.web.controller.savecontroller.TestController.select() mapped.

at org.

Caused by: java.lang.IllegalStateException: Ambiguous mapping found. Cannot map 'testController' bean method 

public org.springframework.web.servlet.ModelAndView com.cisetech.web.controller.savecontroller.TestController.select1()

to {[/totest/test],methods=[],params=[],headers=[],consumes=[],produces=[],custom=[]}: There is already 'testController' bean method

public org.springframework.web.servlet.ModelAndView com.cisetech.web.controller.savecontroller.TestController.select() mapped.



后把这个名字改了就好了

@RequestMapping("/test")

改成

@RequestMapping("/dotest")

可能是名字上不能有包含类名的接口方法名吧




© 著作权归作者所有

上一篇: jsp上传下载图片
下一篇: java定时器
yeqiang2015
粉丝 2
博文 21
码字总数 7740
作品 0
丰台
后端工程师
私信 提问
Spring实践--@ControllerAdvice 全局处理异常 

零、前言 对于与数据库相关的 Spring MVC 项目,我们通常会把 事务 配置在 Service层,当数据库操作失败时让 Service 层抛出运行时异常,Spring 事物管理器就会进行回滚。 如此一来,我们的 ...

spinachgit
2017/11/21
162
0
Model层抛出错误,Controller层事务无效没有回滚

在Controller层的一个方法(该方法前加了@Before(Tx.class)注解)中调用了Model层的一个方法,在Model层的这个方法中出现错误,但发现Controller层的事务无效没有回滚。我不想在Controller层...

剑胆琴心
2014/07/26
1K
2
SpringMVC+Spring+Mybatis整合应用(2)

包装类型pojo对象中pojo属性参数绑定 1. 对于属性都是简单类型的pojo类 如果需要将请求中的参数绑定到该pojo对象形参中,只需要保证请求中携带的key/value格式的参数中的key值与pojo类中的属...

江左煤郎
2018/12/02
27
0
注解开发validation校验

一、校验理解 项目中,通常使用较多是前端的校验,比如页面中js校验。对于安全要求较高点建议在服务端进行校验。 服务端校验: 控制层:校验页面请求的参数的合法性。在服务端控制层- conro...

小小蒜头
2017/12/11
0
0
springmvc学习笔记(14)-springmvc校验

springmvc学习笔记(14)-springmvc校验 标签: springmvc [TOC] 本文主要介绍springmvc校验,包括环境准备,校验器配置,pojo张添加校验规则,捕获和显示检验错误信息以及分组校验简单示例。 ...

brianway
2016/03/14
124
0

没有更多内容

加载失败,请刷新页面

加载更多

Navicat 快捷键

操作 结果 ctrl+q 打开查询窗口 ctrl+/ 注释sql语句 ctrl+shift +/ 解除注释 ctrl+r 运行查询窗口的sql语句 ctrl+shift+r 只运行选中的sql语句 F6 打开一个mysql命令行窗口 ctrl+l 删除一行 ...

低至一折起
52分钟前
5
0
PyTorch入门笔记一

张量 引入pytorch,生成一个随机的5x3张量 >>> from __future__ import print_function>>> import torch>>> x = torch.rand(5, 3)>>> print(x)tensor([[0.5555, 0.7301, 0.5655],......

仪山湖
今天
5
0
OSChina 周二乱弹 —— 开发语言和语言开发的能一样么

Osc乱弹歌单(2019)请戳(这里) 【今日歌曲】 @花间小酌:#今日歌曲推荐# 分享The Score的单曲《Revolution》 《Revolution》- The Score 手机党少年们想听歌,请使劲儿戳(这里) @批判派...

小小编辑
今天
2.6K
19
oracle ORA-39700: database must be opened with UPGRADE option

ORA-01092: ORACLE instance terminated. Disconnection forced ORA-00704: bootstrap process failure ORA-39700: database must be opened with UPGRADE option 进程 ID: 3650 会话 ID: 29......

Tank_shu
今天
3
0
分布式协调服务zookeeper

ps.本文为《从Paxos到Zookeeper 分布式一致性原理与实践》笔记之一 ZooKeeper ZooKeeper曾是Apache Hadoop的一个子项目,是一个典型的分布式数据一致性的解决方案,分布式应用程序可以基于它...

ls_cherish
今天
4
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部