Spring

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..
Person 클래스 @Getter @Setter @ToString public class Person { private String name; private int age; } 태그에서 데이터를 전달해보자. @RequestParam,@ModelAttribute,@RequestBody 차이 스프링에서 객체-파라미터 매핑은 요청상황이나 응답상황 모두 MessageConverter가 담당한다. 상황에 따라 스프링이 적절한 MessageConverter의 구현체를 통해 객체-파라미터 매핑을 한다. 요청에서 @RequestParam, @ModelAttribute가 붙은면 FormHttpMessageConverter가, @RequestBody가 붙으면 MappingJacksonHttpMessageConverter가..
일반적으로 개발자로서 컨테이너를 검색하면 WEB Container, Servlet Container, Spring Container 등이 나온다. 이 컨테이너들을 이해하기 위해서는 컨테이너가 뭔지를 이해해야한다. 일반적인 IT에서의 컨테이너는 여기를 참고하자. https://cloud.google.com/learn/what-are-containers?hl=ko 컨테이너란? | Google Cloud 컨테이너는 어떤 환경에서나 실행하기 위해 필요한 모든 요소를 포함하는 경량 소프트웨어 패키지입니다. cloud.google.com Spring 컨테이너란 ApplicationContext를 스프링 컨테이너라고 합니다. ApplicationContext는 인터페이스입니다. 이 ApplicationContext의..
https://brilliantdevelop.tistory.com/125?category=1018911에서 FreeBoard테이블 엑셀 다운로드를 하였다. 이제 Member테이블에서도 엑셀 다운로드를 하려고 한다. Controller에 다음과 같이 member에서의 excel다운로드기능의 메소드를 추가하려고 한다. ExcelControoler의 excelDownloadMember 메소드 @RequestMapping("/member/excelDown") public void excelDownloadMember(HttpServletResponse response, @ModelAttribute("searchVO")SearchVO searchVO , @ModelAttribute("searchJob") Strin..
POI란 아파치 소프트웨어 재단에서 만든 라이브러리로 마이크로소프트 오피스 파일을 자바 언어로 읽고 쓰는 기능을 제공한다. 마이크로소프트의 excel 파일은 '.xls'와 '.xlsx'이 있다. 이 2개의 차이는 xls : EXCEL2003이전 형식 xlsx : EXCEL2007이전 형식 이다. 이 2개의 excel파일형식에 따라 poi lib도 2개가 존재한다. 이 글에서는 xlsx만 다루도록 하겠다. pom.xml에 dependency를 추가하자. (나는 xlsx만 할 거기 때문에 poi-ooxml dependency만 추가하면 된다. org.apache.poi poi-ooxml 3.7 POI의 주요 메소드 : // 워크북 생성 XSSFWorkbook wb = new XSSFWorkbook(); //..
JQuery.load()는 Ajax의 일종이다. 서버에서 데이터를 로드하고 반환된 HTML을 일치하는 요소에 배치합니다. 이는 /about/chProfile.wow에 요청에 대한 결과화면이다. aboutHome.jsp 창희프로필 창희의술 창희의 피아노 이는 /about/aboutHome.wow에 대한 결과화면이고 jquery.load로 /about/chProfile.wow를 요청해 그 결과를 ".tab-content" 태그에 배치하였습니다. 그래서 보통 jquery.load 에서는 해당 요청에 대한 결과가 특정 화면(html) 일 때 사용합니다. jQuery .load() 메소드 사용법 .load( url [, data ] [, complete ] ) 반환값: jQuery - url : 데이터를 받을 U..
파일 다운로드 현재 freeView에서 다음과 같이 파일이 2개가 있다. 이를 누렀을 때 다운로드가 되도록 해보자. freeView.jsp의 첨부파일 태그를 보면 다음과 같이 되어있다. 첨부파일 파일 ${st.count} ${f.atchOriginalName} Size : ${f.atchFancySize} Down : ${f.atchDownHit} 여기서 주목할건 태그밖에 없다. 태그의 target 속성의 "_blank"는 새창을 연다. 즉 위 태그는 새창을 열면서 서버:포트/contextPath/attach/download/${f.atchNo} (localhost:8080/contextPath(없으면 생략)/attach/download/첨부파일번호)로 요청한다 우리는 이 요청에 맞는 컨트롤러를 만들고 ..
파일업로드 이해하기 웹에서는 이 클라이언트/서버 간 요청/응답을 HTTP 프로토콜로 진행한다. HTTP에서는 파일도 지원해준다. 파일업로드란 클라이언트가 요청에 파일을 포함하고 서버가 요청받은 파일을 처리하는 과정의 일환이다. 클라이언트 : "서버야, 나 Request보낼 때 파일도 포함시켜 보낼게. 이거 서버에 저장해줘" 서버 : "OK. 어디보자. Request에 파일 있군. 알았어 잘 처리했어." 의 과정이다 . 물론 위의 대화를 HTTP프로토콜에서 처리해야 되는데 이게 생각보다 어렵다. 우선 파일업로드를 위해선 다음의 3가지 규칙을 꼭 지켜줘야 한다. (파일을 선택해야되니까..) 태그 method는 POST (밑에서 설명) 태그 enctype=multipart/form-data (밑에서 설명) M..
consumes @ResponseBody @RequestMapping(value = "/reply/replyList.wow") public Map replyList(ReplySearchVO searchVO){ List replyList=replyService.getReplyListByParent(searchVO); Map map=new HashMap(); map.put("result", true); map.put("data", replyList); map.put("size", replyList.size()); return map; } 위는 freeView에서 댓글을 보여줄 때 사용하는 댓글리스트 요청 처리 메소드이다. 기본적으로 @RequestMapping은 value값에 맞는 요청이 오면 해당 메소드가..
한창희
'Spring' 카테고리의 글 목록