분류 전체보기

HttpEntityEntity의 사전적 의미는 개체로서 하나 이상의 속성(정보)로 구성됩니다.HttpEntity는 Http 통신의 속성들을 가지고 있는 개체입니다.이 때 속성이라하면 headers, body입니다. 즉 HttpEntity는  HTTP 요청, 응답의  속성들을 가지고 있는 개체입니다.실제 요청(HttpRequest) , 응답(HttpResponse)객체가 아니라그에 관한 속성들을 나타내는( represent) 클래스입니다.  다음은 예제코드에 사용될 Dto입니다.@Datapublic class StudentDto { private Long id; private String name; private int age;}  ResponseEnti..
· Spring
@RequestParam @RequestParam은 1개의 HTTP 요청 파라미터를 받기 위해서 사용한다. @RequestParam의 required 속성은 기본값이 true이다. 요청 파라미터의 값이 없다면, 에러가 발생한다. 요청 파라미터가 필수가 아닌 경우에는 required 속성을 false로 한다. 이때는 파라미터의 값이 없다면 에러가 발생하지 않고 null값이 들어간다. int, long 등 null값이 들어갈 수 없는 변수일 경우도 에러가 난다. @RequestMapping("/studentView") @ResponseBody public String studentView(@RequestParam(required = true) Long id){ //요청에 파라미터가 없으면 에러가 난다. re..
· 기타
1) dependencies 추가 build.gradle dependencies { implementation 'org.springframework.boot:spring-boot-devtools' } 2) Run/Debug Configurations 에서 설정 편집 2-1) 상단에 Application 에서 Edit Configurations 를 클릭하여 “Run/Debug Configurations” 설정 창을 띄웁니다. 2-2) 좌측에서 Spring Boot - Application 선택 2-3) Build and run 항목에서 Modify options 클릭하여 아래 옵션들을 추가 2-4) On ‘Update’ action: Update classed and resources 추가 2-5) On ..
· 기타
HTTP 통신 HTTP 통신은 다음과 같은 특징을 가진다. 대부분의 파일 형식 전송 가능 클라이언트 - 서버 구조 Stateless Connectionless 대부분의 파일 형식 전송 가능 HTTP란 HyperText Transfer Protocol의 약자로 HTML 파일을 전송하는 프로토콜이라는 의미를 가지지만, 오늘날에는 거의 모든 파일 형식을 HTTP 통신을 이용해 전송 가능하다. 특히 우리가 자주 사용하는 JSON, TEXT, IMAGE 파일은 물론 음성 파일 등도 HTTP를 통해 전송이 가능해졌다. 클라이언트 - 서버 구조 클라이언트 - 서버 구조 클라이언트의 요청이 있을 때 서버가 응답하는 단방향 통신이다. HTTP는 클라이언트에서 서버에 요청을 하는 단방향 통신이다. 서버는 클라이언트에 요청..
NumberFormatException mybatis에서 if,when 태그에서 비교값을 쓸 때 어떤 값이 문자열과 같은지 비교할 때 NumberFormatException이 발생했다. AND bo_title LIKE '%'||#{searchWord}||'%' AND bo_title LIKE '%'||#{searchWord}||'%' searchType은 String이다. 첫번째 경우 mybatis가 String searchType 과 String "T"값을 비교한다. 두번째 경우 mybatis가 String searchType 과 char 'T' 값을 비교한다. 자바는 char를 비교하려 할 때 'T'를 숫자로 바꿔서 비교한다. 'T'는 ASC코드표에서 116이다. 그리고 비교를 위해 String도 숫..
this의 잘못된 사용 버튼클릭이벤트 함수내에서 $(this), this는 버튼태그 자체를 가리킨다. 근데 함수내에서 ajax를 쓸 경우 success함수내에서(ajax성공 후) $(this),this는 버튼태그가 아니라 success함수 자체를 가리킨다. $("button").on("click", function(e){ e.preventDefault(); //$(this)는 내가 클릭한 버튼 console.log(this); // 버튼태그가 찍힌다. $.ajax({ url : "url" ,success: function(){ console.log(this); // success함수가 나온다. //$(this).closeset("div"); 등은 에러가 난다. // ajax 성공함수에서 내가 선택한 버튼..
Person 클래스 @Getter @Setter @ToString public class Person { private String name; private int age; } 태그에서 데이터를 전달해보자. @RequestParam,@ModelAttribute,@RequestBody 차이 스프링에서 객체-파라미터 매핑은 요청상황이나 응답상황 모두 MessageConverter가 담당한다. 상황에 따라 스프링이 적절한 MessageConverter의 구현체를 통해 객체-파라미터 매핑을 한다. 요청에서 @RequestParam, @ModelAttribute가 붙은면 FormHttpMessageConverter가, @RequestBody가 붙으면 MappingJacksonHttpMessageConverter가..
· jsp
페이징,검색 개요 페이징,검색은 List만 신경쓰면됩니다. 우리가 만든 List페이지에서는 DB에 있는 데이터가 한 페이지에 전부 나온다. 하지만 몇 천번째 글을 읽기 위해 스크롤을 내리는것은 비효율적이고, UI도 깔끔해 보이지않는다. 또 원하는 글을 찾기도 힘들다. 네트워크 사용량도 많아진다. 그에 비해 다음 정부24 페이지를 보자. 화면에 딱 10개씩(페이징)만 나오고 검색기능 까지 있어서 내가 원하는 글을 찾기도 용이하다. 우리도 freeList.jsp와 memberList.jsp에 페이징,검색기능을 적용해 볼 것이다. 페이징 페이징VO public class PagingVO { //입력받는 데이터 private int curPage=1; // 현재 페이지 번호 private int rowSizeP..
· jsp
코드사용시 장점 1.같은 데이터를 다르게 인식하는 경우 개발자가 '스프링 입문을 위한 자바 객체지향의 원리와 이해'를 DB에 넣을려고한다. 근데 책에 굵은 글씨로 표시된 '자바 객체지향의 원리와 이해'로 저장할 때도 있고, 풀네임인 '스프링 입문을 위한 자바 객체지향의 원리와 이해''로 저장할 때도 있다. 이 때 DB는 각각 모두 다른 데이터로 인식하게 된다. -> 코드를 사용할 경우 서로 다른 데이터가 들어갈 일이 없다. 해당책에 대한 코드가 BOOK1이라면 BOOK1만 DB에 들어갈 수 있다. BOOK1에 해당하는 책은 한개밖에 없어 헷갈릴 일이 없다. 2. 다른 데이터이지만 똑같이 인식하는 경우 '스프링 입문을 위한 자바 객체지향의 원리와 이해'가 잘팔려서 개정판이 나왔다고 해보자. 구판과 개정판은..
개발을 하던 도중 다음과 같은 에러를 만났다. response.sendRedirect(""); response.addCookie(cookie); //쿠키가 전달되지 않음 response.addCookie(cookie); response.sendRedirect(""); //쿠키가 제대로 전달됨 sendRedirect와 addCookie 순서에 따라 쿠키가 저장에 영향을 주는지 원인을 찾아보았다. addCookie()의 메소드는 사실 단순히 Header를 변경해주는 것과 같다. @Override public void addCookie(final Cookie cookie) { // Ignore any call from an included servlet if (included || isCommitted()) ..
한창희
'분류 전체보기' 카테고리의 글 목록