728x90
반응형
728x90
반응형
Ambiguous mapping. Cannot map 'mainController' method 위와 같은 오류발생 원인: 아래와 같이 getMapping의 URL 반환형이 2개 이상이기 때문에 프로그램이 어떤 getMapping을 해야할지 몰라서 오류 @GetMapping("/myPage") public String myPage(@SessionAttribute("id")String id, Model m) { @GetMapping("/myPage") public void getboard(Model m, @SessionAttribute("id")String id) { 해결: 동일한 URL을 지워주거나 원하는 메서드를 하나의 controller mapping에 합치니 해결
DB를 사용할 때 종종 여러가지 테이블을 한군데로 묶어서 사용하고 싶을 때가 있다. 만약 특정 연결값이 있다면 한번에 묶어서 VIEW로 볼 수도 있고 그 값이 변경이 된다면 그 연결된 값도 변경이 되면 좋지 않을까? 그래서 사용할 수 있는 것이 FOREIGN KEY이다 예시를 들어보자 만약 유저 정보와 그 유저의 거래정보를 저장하는 테이블이 있다고 가정하자 유저 테이블: 거래정보 테이블: 유저테이블의 num값을 FOREIGN KEY의 references로 삼고 userboard의 num을 foreign key의 자식 객체로 정의하려면 아래와 같이 정의한다. ALTER TABLE userboard ADD FOREIGN KEY(num) REFERENCES userinfo(num) [ON DELETE CASC..
//인터페이스 구현을 syso로 구현, 우리가 필요한 값은 msg값 밖에 없으므로 msg ->를 해줘서 간편화시킴 myInterface mi = msg-> System.out.println(msg); mi.println("람다식"); //static test의 msg값을 test로 주고 인터페이스를 mi로 줘서 인터페이스를 구현 test("test", mi); //msg값을 람다식으로 넣고 인터페이스가 그 msg를 사용함으로써 msg가 출력이 됨 test("람다식 tes", msg -> System.err.println(msg)); //파라미터가 여러개가 있으면 (msg, msg2)를 써서 표현하고 //문장이 여러문장이 있으면 {syso(); syso()}로 표현한다. test("람다식 문장 여러개", ..
주식의 Symbol값을 사용해서 특정 날짜의 시가, 종가, 고가, 저가, 날짜, 거래량을 사용하는 예제 문제점은 이 망할 json 데이터가 이클립스까지는 출력이되는데 JS로 넘어가는 순간 값이 "empty" : false가 되버리는 것 해결책은 Controller에서 String으로 반환한다음 ajax에서 text로 받고, ajax내부에서 JSON.parse()로 ㅅㄷtext데이터를 JSON 데이터로 다시 묶어주니 해결됬다. 내 소중한 1시간 반 굿바이... 아래는 예제 코드 JS $.ajax({ // data:objtext, dataType:'text', method:"post", caches:false, url:"/sDiary/Symbol?" + "Symbol= " + $('#Symbol').val(..
항상 하던대로 Controller - Service - DAO - Mapper - VO 클래스를 연동하고 있었는데 요상하게 Mapper를 통해 DAO에서 값을 받아올 수 없었다. SQL문장을 실행하여 값을 도출하고 DAO를 통해 Controller로 ajax 비동기화 데이터 처리를 해야하는데 자꾸 위와 같은 오류로 mapper의 값이 null이 되는거;; 한 2시간 테스트하고 구글링한 결과 @Service의 클래스를 통해서만 Mapper의 호출이 가능했다...? (주관적인 예상) 일단 DAO에서 계산하던 값을 Service로 옮겨서 Controller로 보내본 결과 매우 실행이 잘됨. 어쨌거나 해결하면 장땡이다. 중간 테스트로 인해 개념 정리과 복습한 것들이 많으니 만족한다. 1줄 요약 해결법 : DAO..
[org.springframework.web.HttpRequestMethodNotSupportedException: Request method 'POST' not supported] form 을 통해 onsubmit으로 ajax를 사용한 비동기적 데이터 처리를 하던 도중 위와 같은 오류 발생 이유는 아래와 같이 form의 method타입에 post가 명시되어있어서 button을 통해 바로 submit이 되기 때문이다. 따라서 아래 method를 지워줘야 함 (해결책)
공부를 하다가 가끔식 아는 개념들이 머리속에서 충돌해서 자체적 혼란을 겪을 때가 많다. 그래도 이 고비를 넘기면 다음부터 절대 헷갈리지 않으므로 오늘자 개념을 다시한번 정리한다. SQL연동을 하다가 PathVariable과 RequestParam의 설정에 혼란을 겪었는데 코드의 문제는 url mapping 설정의 오류였다. PathVariable PathVariable은 설정한 그 값 자체의 value를 return하기 때문에 받아온 변수 이름과 mapping한 변수 이름이 동일해야 적용된다. 아래와 같이 PathVariable이라는 애노테이션을 사용하면 다음 mapping된 url {id}에 해당되는 부분이 int값 id로 받아와져서 다음 인터페이스 mapper로 넘겨주는 방식이다. 따라서 다음 {id..
항상 개발환경 설정으로 고통받는다. 어찌저찌 모든 방법을 시도해본 결과, 이 방법이 DB SQL과 연동을 잘 해주었기에 여기에 기록한다 * Spring 프레임워크 이클립스 마켓 플레이스에서 미리 다운받았다고 가정 * DB는 MySQL을 기반으로 연동 1. src/main/resources 에 있는 application property 설정 아래 바꿀 것만 바꾸고 그대로 설정 spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver spring.datasource.url=jdbc:mysql://localhost:본인 포트 번호/본인 DB 이름?characterEncoding=UTF-8&serverTimezone=UTC&SSL=false spring.dat..