1. AOP란? Spring AOP 란, 관점지향 프로그래밍의 약자로 일반적으로 사용하는 클래스 (Service, DAO)에서 중복되는 공통 코드 부분 (ex. commit, rollback, logging..)을 별도의 영역으로 분리해내고, 코드가 실행되기 전이나 이 후의 시점에 해당 코드를 붙여 넣음으로써 소스코드의 중복을 줄이고 필요할 때마다 가져다 쓸 수 있게 객체화 하는 기술이다. 부가적인 관심사 : 로깅, 보안, 트랜젝션관리등 애플리케이션에서 공통적으로 처리해야 하는 기능 2. AOP의 용어 Aspect : 부가적인 관심사를 모듈화한 단위(Advice를 그룹화) Cross Concern : 횡단관심사(주 업무로직 이외의 부가적인 기능을 의미) Advice : 부가적인 관심사 jointPoint..
1. RedirectAttributes 스프링 3.1에 추가된 클래스로, 리다이렉트시 데이터를 넘길 때 사용하는 클래스이다. 2. RedirectAttribute 사용 2.1 addAttribute 주소 표시줄에 매개변수로 표시되어 전달한다. @PostMapping("practice") public String practice(RedirectAttributes rttr) { String msg = "연습"; rttr.addAttribute("msg",msg); return "redirect:/board/list"; } 2.1 addFlashAttribute addFlashAttribute를 사용하여 데이터를 전달하는 것은 주로 POST 방식에서 사용된다. addFlashAttribute 메서드는 리다이렉..
1. Controller의 Exception처리 방법 @ExceptionHandler와 @ControllerAdvice를 이용한 처리 @RespinseEntity를 이용한 처리 @ControllerAdvice는 나중에 배우게 될 AOP를 이용하는 방식이다. AOP에 대해 간단히 설명하면 핵심적인 로직은 아니지만 프로그램에서 필요한 공통적인 관심사(cross-concern)는 분리하자는 개념이다. 2. @ControllerAdvice, @ExceptionHandler을 이용한 예외처리 @ControllerAdvice : 해당 객체가 스프링의 컨트롤러에서 발생하는 예외를 처리하는 존재임을 명시하는 역할을 한다. @ExceptionHandler : 해당 메서드가 ()에 들어가는 예외 타입을 처리한다는 것을 의..
1. 스프링 MVC의 controller의 특징 HttpServletRequest, HttpServletResponse객체를 거의 사용할 필요없이 필요한 기능을 구현한다 다양한 타입의 파라메터 처리, 다양한 타입의 리턴 타입 사용이 가능하다. GET,POST 방식 등 전송방식에 대한 처리를 어노테이션으로 처리가능하다. 상속/인터페이스 방식 대신에 어노테이션만으로도 필요한 설정이 가능하다. 2. 어노테이션 2.1 @Controller 프로젝트 내에 com.momo.controller라는 패키지 폴더 내에 MappingController 클래스를 만들어주고 @Controller라는 어노테이션을 붙이자. @Controller public class MappingController {} @Controller라는..
1. 스프링 MVC란? 스프링 MVC는 스프링의 서브 프로젝트이다. Spring framework 안에는 여러 종류의 서브 프로젝트가 있는데, 그 중 하나가 스프링 MVC이다. 2. 스프링 MVC 프로젝트의 기본구조 스프링 MVC프로젝트를 구성해서 사용한다는 의미는 내부적으로 root-context.xml로 설정하는 java영역과 servlet-context.xml로 설정되는 web 관련 영역을 같이 연동해서 구동하게 된다. 위 그림에서 WebApplicationContext라는 존재는 기존의 구조에 MVC 설정을 포함하는 구조로 만들어진다. 스프링은 웹 애플리케이션을 목적으로 만든 프레임워크가 아니기 때문에 달라지는 영역에대해서는 완전히 분리하고 연동하는 방식으로 구현되어 있다. 3. 프로젝트의 로딩 ..
1. 서블릿 서블릿은 모델2 방식(MVC)으로 웹 애플리케이션을 개발하는 데 사용한다. 서블릿은 서버 단에서 클라이언트의 요청을 받아 처리한 후 응답하는 역할을 한다. ※ 서블릿의 특징 클라이언트의 요청에 대해 동적으로 작동하는 웹 애플리케이션 컴포넌트 MVC 모델에서 컨트롤러(Controller) 역할 모든 메서드는 스레드로 동작 javax.servlet.http 패키지의 HttpServlet 클래스를 상속 2. tomcat과 서블릿과의 관계 서블릿 컨테이너로 톰캣(Tomcat) 사용한다. 서블릿의 수명주기를 관리하고, 요청이 오면 스레드를 생성해 처리한다. 클라이언트의 요청을 받아서 응답을 보낼 수 있도록 통신을 지원한다 ※서블릿 컨테이너 역할 통신 지원 : 클라이언트와 통신하려면 서버는 특정 포트(..
1. JSTL(JSP Standard Tag Library) - JSP의 표준 태그 라이브러리를 이용하면 스크립틀릿을 사용하지 않고 태그를 사용하여 제어문, 반복문을 사용할 수 있다. - 기본태그가 아닌 확장태그 이므로 사용하기위해 별도의 라이브러리가 필요하다. ※ 라이브러리 추가하는 방법 1. 구글에 '메이븐 리포지토리' 검색하고 아래의 사이트에 들어간다. https://mvnrepository.com/ 2. 사이트 내에 있는 검색창에 'JSTL' 검색 https://mvnrepository.com/artifact/javax.servlet/jstl 3. JSTL 1.2버전 클릭 4. jar 파일 다운 5. 다운받은 jar파일을 프로젝트의 WEB-INF에 있는 lib에 넣는다. 2. JSTL 사용 JST..
1. 표현언어(EL) 변수의 값을 출력할 때 사용하는 스크립트 언어이다. 4가지 영역(page, request, session, application)에 저장된 값만을 출력한다. 서블렛에서 처리된 결과는 영역을 통해 전달되고 표현언어로 접근하여 쉽게 출력할 수 있다. ※ 영역 페이지영역 : pageScope 요청영역 : requestScope 세션영역 : sessionScope 어플리케이션영역 : applicationScope ${ 영역.속성 } 표현언어(EL)을 이용하면 형변환이 필요 없이 파라메터를 읽어올 수 있다. 별도의 NULL 처리를 하지 않아도 오류가 발생하지 않는다.(현재 페이지 리로드시 오류 발생 안함) 객체를 사용하기 위해서 임포트만 해주면 된다. 예시 각 영역에 저장된 속성 읽기 페이지..
1. 보통 하나의 웹 사이트를 구성하는 페이지들은 동일한 상단 메뉴, 좌측 메뉴, 하단 등을 가진다. 이런 화면 구성 요소의 코드 중복 문제를 없앨 때 사용하는 것이 이 액션태그이다. 의 작동 방식은 아래와 같다. 1.1 사용법 page : 포함할 JSP 페이지의 경로를 지정한다. flush : 지정한 JSP를 실행하기 전에 출력 버퍼를 플러쉬할지 여부를 지정한다. true이면 출력버퍼를 플러쉬하고 false면 플러쉬하지 않는다. 출력버퍼를 플러쉬한다는 것은 위의 사진을 기준으로 first.jsp에서 액션태그를 실행하는 시점에 출력버퍼에 있는 내용을 플러쉬한 뒤에 second.jsp로 이동한다는 것이다. 2. 액션태그는 , 액션 태그이용시 파라메터를 전달할 수 있다. 예시 액션 태그는 액션태그와 자식 태..
1. 커넥션 풀 Connection객체를 생성하는것은 네트워크 통신과 사용자 인증등 시간이 많이 소요되는 작업이다. 빈번한 연결과 해제는 시스템 성능을 떨어 뜨릴수 있다. 이를 해결하기 위해 커넥션풀이라는 공간에 커넥션객체를 미리 생성해 두고 필요할때마다 요청하여 가져다 사용하는 방법이다. 사용이 완료된 객체는 연결을 해제하지 않고 커넥션풀에 반납하여 재사용 할 수 있도록 한다. 1.1 JNDI JNDI는 자바 프로그램에서 객체나 데이터의 전체경로를 몰라도 '이름'으로 찾아 쓸수 있는 디렉터리 서비스이다. 이름과 실제 객체와의 연결은 외부 설정파일에서 관리 합니다. 2. 설정방법 Oracle DBMS를 사용할 때 web.xml, context.xml을 수정해야한다. 그리고 톰캣의 공식문서를 참조하자. 필..
- Total
- Today
- Yesterday
- maven
- oarcle
- 커넥션 풀
- Eclipes
- json
- 속성
- JSP/Servlet
- Eclipse
- Spring Framework
- input태그
- 데이터베이스
- Spring
- SQL
- eclips
- JavaScript
- HTML
- 코딩
- frontend
- array
- sql developement
- tld
- JSP
- Database
- SQL Developer
- coding
- 국비
- java
- CSS
- Servlet
- type
| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | ||||||
| 2 | 3 | 4 | 5 | 6 | 7 | 8 |
| 9 | 10 | 11 | 12 | 13 | 14 | 15 |
| 16 | 17 | 18 | 19 | 20 | 21 | 22 |
| 23 | 24 | 25 | 26 | 27 | 28 | 29 |
| 30 | 31 |
