본문 바로가기

전체 글56

[Spring Boot] [에러 해결] listDTO no getter이래잖어~ 나의 삽질 과정 에러 메세지 org.mybatis.spring.MyBatisSystemException: nested exception is org.apache.ibatis.reflection.ReflectionException: There is no getter for property named 'listDTO' in 'class com.example.teamprojeect.domain.vo.list.ListDTO' https://twofootdog.github.io/Mybatis-There-is-no-getter-for-property-named-%EC%97%90%EB%9F%AC/ [Mybatis]There is no getter for property named 에러 | 두발로걷는개 Mybatis 에러 원인 및 해.. 2022. 6. 18.
[REST] [Ajax] RESTFul api 방식과 Ajax, json REST (Representational State Transfer) 직역하면 데이터 전송 대표 상태?! 1. 서버가 달라도 데이터를 전송하고 받을 수 있어야한다. 2. 개발할 때 다양한 언어를 쓴다. 다른 언어에서 다른 언어로 객체를 보낼 수 없기때문에 json 등의 방식을 쓴다. 즉, 서버가 달라지고 언어도 달리지니 원활한 데이터 전송을 위해 json을 사용하자는 것. 메서드 불러다가 편하게 데이터 쓰고싶다는 것. 그리고 이런 것을 'REST'라고 한다는 것! 그 전에, URL과 URI의 차이를 보자 UR은 Uniform Resource 를 의미하고 URL 의 L은 Locator URI의 I는 Identifier를 의미한다. 2022. 6. 4.
[SQL] [에러 해결] SQL Error [904] [42000]: ORA-00904: 에러 해결 에러 메시지SQL Error [904] [42000]: ORA-00904:에러 원인입력된 열 이름이 누락되었거나 잘못 되었을 경우 발생한다.- 존재하지 않는 열 이름을 지정함- 정의된 열 이름과 대소문자가 일치하지 않는 경우- 작은 따옴표(')와 큰 따옴표(") 사용 방법의 오류- 열 이름에 특수 문자 사용- 열 이름에 Oracle 예약어 사용 이 중 세번째, 따옴표 사용에서 문제가 있었다. 에러 해결작은 따옴표를 사용해서 값으로 취급해주고 해결했다.문자열을 표현하기 위해 "이진서콘서트" 와 "20220202" 로 작성했더니 오류가 났다.따라서 둘다 ' ' 작은 따옴표로 감싸주니 잘 실행되었다.  [ Reference ] [Oracle] ORA-00904 : 부적합한 식별자 invalid identifi.. 2022. 6. 4.
[Spring Boot] [에러 해결] Required URI template variable 'replyNumber' for method parameter type Long is not present] 에러 메시지 Required URI template variable 'replyNumber' for method parameter type Long is not present] uri template variable이라고 하는 것 보니 @PathVariable 어노테이션과 관련있는 것 같다. 에러 원인 @PathVariable에서 ()로 url 값을 할당해주지 않았다. 에러 해결 @PathVariable 어노테이션이란? 클라이언트 측에서 url에 파라미터를 같이 전달하는 경우가 있다. 예시를 들자면 게시판 127번 글을 출력하는 URL일때, http://localhost:1000/board/127 처럼 말이다. 이럴 때 스프링에서 전달인자를 처리하는데 이 때 사용하는 것이 @PathVariable 어노테.. 2022. 6. 4.
[Spring boot] [에러 해결] 부적합한 열 유형, null 뜨는 문제 에러 메시지 org.mybatis.spring.MyBatisSystemException: nested exception is org.apache.ibatis.type.TypeException: Could not set parameters for mapping: ParameterMapping{property='replyNumber', mode=IN, javaType=class java.lang.Object, jdbcType=null, numericScale=null, resultMapId='null', jdbcTypeName='null', expression='null'}. Cause: org.apache.ibatis.type.TypeException: Error setting null for parame.. 2022. 6. 4.
[Spring boot] [에러 해결] typeAlias란? 에러 메시지 java.lang.NoSuchMethodException: com.example.board.mapper.BoardMapper. () org.springframework.web.util.NestedServletException: Request processing failed; nested exception is org.mybatis.spring.MyBatisSystemException: nested exception is org.apache.ibatis.reflection.ReflectionException: Error instantiating interface com.example.board.mapper.BoardMapper with invalid types () or values (). C.. 2022. 6. 4.
[Spring boot] 3-tier 구성 방식 스프링 프로젝트를 3-tier로 구성하는 일반적인 이유는 유지보수에 있다. 각 영역을 독립적으로 설계해서 나중에 특정 기술이 변하더라도 필요한 부분만 교체하면 되기 때문이다. 따라서 각 영역은 설계 당시부터 영역을 구분하고, 해당 연결 부위는 인터페이스를 이용해서 설계한다. Presentation Tier (화면 계층) 화면에 보여주는 기술을 사용하는 영역이다. 컨트롤러에서 사용자의 요청에 맞는 응답처리를 진행한다. HTML 엔진 (thymeleaf), HTML 등이 담당한다. Spring MVC 객체를 말하기도 하며, 프론트 컨트롤러 (DispatcherServlet), 컨트롤러, 뷰가 포함된다. 서비스 계층, 데이터 엑세스 계층에서 발생하는 Exception을 처리한다. @Controller 어노테이.. 2022. 6. 4.
[Spring boot] Front-Controller 패턴 (스프링 MVC) MVC 모델이란? MVC (Model - View - Controller) 모델은 사용자 인터페이스, 데이터 및 논리 제어를 구현하는 데 사용되는 소프트웨어 디자인 패턴이다. MVC 패턴을 사용하면 business logic과 presentation logic을 분리하기 쉽고 유지보수가 편리해진다. Model 모델은 데이터를 조회했을 때 결과를 담을 수 있는 저장공간이 모여있는 클래스를 말한다. 즉 애플리케이션이 포함해야 할 데이터가 무엇인지를 정의한다. View 화면 구현(html, jsp, css 등) 방식을 정의한다. Controller 데이터베이스에 접근하는 메서드들이 모여있는 곳이다. 애플리케이션의 사용자로부터 입력에 대한 응답으로 모델, 뷰를 업데이트하는 로직을 포함한다. 스프링 프로젝트에서 .. 2022. 6. 4.
네트워크 계층의 역할, IP 주소와 구조 | 모두의 네트워크 전 세계에는 수많은 네트워크가 있다. 그 네트워크들은 서로 연결되어 거대한 인터넷을 이루고 있다.그렇다면, 네트워크 간의 연결은 어떻게 하는 걸까~?!4장까지는 데이터 링크 계층과 스위치, 이더넷 규칙을 배웠다.이 규칙에 따라 같은 네트워크에 있는 컴퓨터끼리 데이터를 전송할 수 있었다. 하지만!!!! 스위치만 있다고 데이터를 어디에나 다 보낼 수 있는 게 아니었다!!!!!데이터 링크 계층과 이더넷 규칙으로는 동일 네트워크 안에서만 통신이 가능하다.수많은 네트워크가 연결된 환경에서는 데이터 링크 계층의 기능만으로는 다른 네트워크로 데이터를 전송하기가 힘들다.따라서 네트워크가 여러 개라면, 그 각기 다른 네트워크 끼리의 연결은 다른 방법으로 해주어야 한다. 그래서 ....다른 네트워크와는 어떻게 통신하는데요.. 2022. 5. 8.
[JAVA] [JSP] [SQL] [에러 해결] DB에 image file 저장할 때 (서버경로+로컬파일경로) 겹치는 경로 에러 해결 / FileNotFoundException DB에 이미지 넣고, DB에서 꺼내 이미지 출력하기 진행하려는 플로우 1단계 > productadd.jsp 프런트 화면에서 사용자가 input 하기 위한 jsp문이다. ↓ 2단계 > productadddb.jsp input 내용을 전달받아 DB에 insert하기 위한 jsp문이다. 단, image 파일의 파일명만 가져가서 서버폴더로 따로 저장해줘야 한다. 따라서, 1. 서버 폴더에 저장하기 위해 FileUtil로 경로 다 떼고 이름만 남은 image 파일을 보낸다. 2. DB에 넣을 image파일 또한 경로 다 떼고 이름만 가져간다. (이렇게 하는 이유는, DB에서 꺼내올 때 이런 식으로, 서버 폴더 내에 저장시켜놨던 image를 가져오기 위함이다.) ↓ 3단계 > FileUtil.jsp producta.. 2022. 4. 26.
전이중 통신, 반이중 통신, 이더넷 종류 | 모두의 네트워크 케이블에 데이터가 아무리 많이 전송되어도 데이터가 충돌하지 않는 구조가 있다? 전이중 통신반이중 통신데이터의 송수신을 동시에 통신하는 방식회선 하나로 송신과 수신을 번갈아가면서 통신하는 방식데이터를 동시에 전송해도 충돌이 발생하지 않음데이터를 동시에 전송하면 충돌이 발생함스위치충돌이 일어나지 않는 구조로 되어 있다.따라서 전이중 통신 방식으로도 데이터를 주고 받을 수 있다.허브내부에 송수신이 나누어져 있지 않기때문에 컴퓨터1과 컴퓨터2를 허브로 연결하면 동시에 데이터를 보낼 때 충돌이 일어난다.허브에서는 회선 하나를 송신과 수신이 번갈아가면서 사용하는 반이중 통신 방식을 사용한다.네트워크로 효율이 높은 스위치를 사용하는 것이 표준!  충돌 도메인 (collision domain)허브데이터를 전송하며 충돌.. 2022. 4. 25.
스위치, MAC 주소 테이블과 학습 기능, 플러딩 | 모두의 네트워크 허브와 다르게 데이터 충돌이 일어나지 않는 스위치스위치데이터 링크 계층에서 동작한다. 다른 이름으로는 레이어 2 스위치, 스위칭 허브가 있다.외형 모습은 허브와 비슷하다. MAC 주소 테이블 (MAC address table)스위치 내부에 있다.스위치의 포트 번호 + 해당 포트에 연결되어 있는 컴퓨터의 MAC 주소가 등록되는 데이터 베이스이다. 브리지 테이블 (bridge table) 이라고도 한다.MAC 주소 학습 기능스위치의 전원을 켠 상태에는 아직 MAC 주소 테이블에 아무것도 등록되어 있지 않다. 프레임컴퓨터에서 목적지 MAC 주소가 추가된 것이라는 데이터가 전송되면, MAC 주소 테이블이다. 스위치를 통한 데이터 전송 과정프레임컴퓨터에서 목적지 MAC 주소가 추가된 것-> MAC 주소 등록되어 .. 2022. 4. 20.