본문 바로가기

Java

(9)
(Java) JSP, javax.servlet.http.HttpServletRequest 객체 javax.servlet.http.HttpServletRequest 오브젝트가 제공하는 정보를 활용해서 정보를 얻을 수 있다. 접속 주소가 아래와 같다고 한다면 http://localhost:8080/test 각각의 객체로 주소 정보를 활용할 수 있다. ${pageContext.request.scheme} http ${pageContext.request.serverName} localhost ${pageContext.request.serverPort} 8080 ${pageContext.request.contextPath} /test
(Java) JSTL 1. JSTL 개념 JSTL의 정식 명칭은 자바서버 페이지 표준 태그 라이브러리(JavaServer Pages Standard Tag Library)이고 줄여서 JSTL이라고 부른다. JSTL은 Java EE 기반의 웹 애플리케이션 개발 플랫폼을 위한 컴포넌트 모음이다. JSTL은 XML 데이터 처리와 조건문, 반복문, 국제화와 지역화와 같은 일을 처리하기 위한 JSP 태그 라이브러리를 추가하여 JSP 사양을 확장했다. 2. JSTL 사용법 JSTL은 라이브러리이기 때문에 사용하기전에 core를 header에 추가해주어야 한다. 사용설정 사용법 core 태그들 변수명에 값을 할당 값을 출력 조건식에 해당하는 블럭과 사용될 scope설정 다른 언어의 switch와 비슷 switch문의 case에 해당 sw..
(Java) Junit Test -Mock import static org.mockito.Mockito.when; import static org.mockito.BDDMockito.given; Spring에서 Junit Test 진행 Mock 객체를 when().thenReturn() 하는 경우와 given().willReturn() 하는 경우가 있다. when().thenReturn() 은 Mockito 패키지 사용 given().willReturn()은 BDDMockito 패키지 사용한다. 둘 사이의 차이점. 성능 이슈는 있는가? Mockito 란? 과거 자바 프로젝트를 진행하면서 가장 힘들었던 부분이 아마도 의존성 관리일 것이다. spring framework 이러한 의존성 관리를 지원해준다. DI(Dependency Injection) 그..
(Java) JSTL 자바서버 페이지 표준 태그 라이브러리(JavaServer Pages Standard Tag Library) JSTL 참고자료 : https://daesuni.github.io/jstl/
(Java) jspf 파일 .jspf (Java Server Page Fragment)파일은 JSP의 일부분(조각)으로 다른 JSP에 포함되도록 만들어진 것이다. 반복 사용되는 것을 JSPF로 뽑아서 JSP 파일에서 Include 한다. 사용예는 2가지가 있습니다. - 이렇게 하면 header.jspf 파일을 컴파일하고 이 문장이 있는 파일에 불려지게 됩니다. - 이렇게 하면 header.jspf 파일이 이 문장이 있는 jsp 파일의 일부로 들어가서 함께 컴파일되게 됩니다. [ jsp:include 와 include file 의 차이 ] 1번 과 2번은 둘다 빈번하게 사용되어지는 특정 페이지를 include시킬때 사용되어지는 방법이다. 그럼 차이점은 ? 그렇다!!!! 바로 로딩 시점의 차이이다. 1번의 경우 .java의 servl..
(Java) 프로그래밍에서 비즈니스 로직 영역 구분 홈페이지 회원 가입의 시스템을 예로 든다. 가입 시스템에서 회원 아이디 중복체크를 개발할 때 작업 순서를 보자. 1. 중복된 아이디가 있는지 여부를 체크하는 과정 2. 사용자에게 중복체크의 결과를 화면영역에서 표시하는 과정 2번 영역은 Presentaion 영역, 흔히 View 영역이라고 많이 불리운다. 가공된 데이터를 단순히 표시만 해주는 영역이다. 위에서 언급된 데이터의 가공을 담당하는 곳이 바로 1영역이고 이곳을 Logic 영역, Model 영역이라고 한다. 비즈니스 로직 Logic 영역에서의 코딩 작업을 흔히 비즈니스 로직이라고 한다. 아이디 중복 찾기는 아래와 같은 비즈니스 로직으로 작성되게 된다. 아이디 값 저장 => 회원 정보 DB 연결 => DB에 아아디 값 있는지 여부 확인 =..
(Java) JPA, Entity, DAO, DTO, VO 개념 JPA(Java Persistence API) 자바 진영의 ORM(객체관계매핑, Object-relational mapping) ORM 참고자료 : https://gmlwjd9405.github.io/2019/02/01/orm.html persistence : 영속성. 프로그램이 종료되더라도 사라지지 않는 데이터의 특성 객체-관계매핑 : OOP에서 객체는 클래스로 RDB에서 데이터는 테이블로 사용되는데 그 둘을 자동으로 매핑(연결)해주는 것을 말한다. JPA 기본 어노테이션 참고자료 : https://bit.ly/3c6mBK5 Entity Entity 클래스는 DB의 테이블에 존재하는 Column들을 필드로 가지는 객체를 말한다. Entity는 DB의 테이블과 1대 1로 대응되며, 때문에 테이블이 가지지..
(자바 기본 개념) JAVA에서 클래스와 인스턴스 초창기 컴퓨터는 과학 실험이나 미사일 발사실험과 같은 모의 실험(simulation)을 목적으로 사용되었다. 그래서 과학자들은 실제 세계와 유사한 가상 세계를 컴퓨터에 구현하고자 하였고 이러한 노력 끝에 simula와 같은 새로운 종류의 프로그래밍 언어도 탄생하게 되었다. 이러한 시도는 객체지향이론의 시발이 되었다. 객체지향이론의 기본 개념은 "실제 세계는 객체로 이루어져 있으며, 발생하는 모든 사건들은 객체간의 상호작용이다."라는 것이다. 다음은 자바에서 객체와 관련한 기본 개념의 간단한 정의들이다. 차근 차근 따라가다 보면 클래스와 인스턴스에 대해 정확히 알 수 있다. 객체: 실제로 존재하는 것 클래스: 객체를 정의해 놓는 것 프로그래밍에서 객체란? 클래스에서 정의해놓은대로 메모리에 생성된 것 자바에..