본문 바로가기

Spring

(22)
SPRING(08.19) - Rq(Spring 객체 관리), 페이징 @Component@Scope(value = "request", proxyMode = ScopedProxyMode.TARGET_CLASS)public class Rq {...public void initBeforeActionInterceptor() { System.err.println("initBeforeActionInterceptor 실행"); }} 위의 코드를 작성한 이유는 Rq 클래스를 사용할 경우 new해서 사용하지 않고 Spring이 알아서 객체 관리하도록 하기 위해 작성한 것이다. @Component-> Spring이 이 클래스를 자동으로 찾아서 관리해준다. @Scope(value = "request")-> 이 클래스가 Spring에서 관리될 때, 매번 HTTP 요청이 들어올 때마다 새롭..
SPRING - Rq 클래스, 세션 public class Rq { @Getter private boolean isLogined; @Getter private int loginedMemberId; private HttpServletRequest req; private HttpServletResponse resp; private HttpSession session; public Rq(HttpServletRequest req, HttpServletResponse resp) { this.req = req; this.resp = resp; this.session = req.getSession(); if (httpSession.getAttribute("loginedMemberId") != null) { isLogined = true; ..
SPRING - MyWebMVCConfigurer, Interceptor @Configurationpublic class MyWebMVCConfigurer implements WebMvcConfigurer { // BeforeActionInterceptor 불러오기(연결) @Autowired BeforeActionInterceptor beforeActionInterceptor; // NeedLoginInterceptor 불러오기(연결) @Autowired NeedLoginInterceptor needLoginInterceptor; // NeedLogoutInterceptor 불러오기(연결) @Autowired NeedLogoutInterceptor needLogoutInterceptor; // 인터셉터 등록(적용) public void addInterceptors(Interc..
SPRING - ResultData<DT> package com.example.demo.vo;import lombok.Getter;public class ResultData { @Getter private String ResultCode; @Getter private String msg; @Getter private DT data1; @Getter private String data1Name; public static ResultData from(String ResultCode, String msg) { return from(ResultCode, msg, null,null); } public static ResultData from(String ResultCode, String msg, String data1..
SPRING(08.14) - history, location, 인터셉터 history.back(), location.replace()새로고침이 필요할 시 location, 필요없다면 history history.back()history.back을 사용했을 때 로딩 되는 페이지에서 해당 url로 인한 진입인지, back으로 돌아온 페이지 인지 감지하여 함수를 동작시킬 수 있다.history.go(-4) -> 뒤로가기 4번history.go(-1) == history.back() location.replace()현재 페이지에서 새로운 페이지로 덮어 쓰는 것이기 때문에 이전 페이지로 이동이 불가능하다.  스프링 인터셉터(Interceptor)스프링 interceptor란 요청을 가로채서 개발자가 원하는 동작을 추가하는 역할을 한다.인터셉터를 사용하는 이유는 공통 로그 처리, 권한..
SPRING(08.13) - Model 객체 MODELspring framework에서의 model은 MVC패턴에서 view와 controller간의 데이터 전달을 담당하는 객체이다. model 객체는 비즈니스 로직의 결과를 담아 view에 전달하거나, 사용자 입력을 받아서 controller에 전달하는 역할을 한다.spring에서 model은 일반적으로 key-value 쌍의 컨테이너로 사용된다. controller에서 데이터를 model에 저장하고, 이를 view에 전달하여 동적으로 생성되는 웹 페이지를 생성한다.일반적으로 Spring MVC에서는 Controller의 메소드 매개변수에 Model 인스턴스를 선언하여 사용한다. Spring은 이 인스턴스를 자동으로 생성하고 Controller 메소드 실행 전에 전달한다.  addAttribute..
SPRING(08.13) - JSTL 커스텀 태그JSTL(JSP Standard Tag Library) : JSP 페이지에서 가장 많이 사용한느 기능을 태그로 제외하고, JSTL 라이브러리를 따로 설치해서 사용한다.개발자가 만든 커스텀 태그 : 개발자가 필요에 의해 만든 태그로, 스트러츠나 스프링 프레임워크에서 미리 만들어서 제공한다. JSP 표준 태그 라이브러리(JSTL)JSTL 태그 종류접두어c : 변수 지원, 흐름 제어, 반복문 처리, URL 처리fmt : 지역, 메시지 형식, 숫자 및 날짜 형식x : XML 코어, 흐름 제어, XML 변환sql : SQLfn : 컬렉션 처리, 문자열 처리 Core 태그 라이브러리코어 라이브러리를 사용하면 자바 기능을 태그로 대체할 수 있다.톰캣에서는 JSTL 라이브러리를 기본으로 제공하지 않고 외부 ..
SPRING(08.12) - 제네릭 제네릭제네릭은 클래스 내부에서 사용할 데이터 타입을 나중에 지정하는 기법을 말한다. 런타임 시 발생할 수 있는 오류를 컴파일 과정에서 사전 차단하는 안전장치..!클래스 외부에서 타입을 지정해주기 때문에 따로 타입을 체크하고 변환해줄 필요가 없다. 또한 비슷한 기능을 지원하는 경우 코드의 재사용성이 높아진다. : Type : Key : Value : Element : Number : Result-> 일반적으로 사용되는 선언 방식이지만, 위와 같이 반드시 일치해야 할 필요는 없다.  public class ResultData { @Getter private String ResultCode; @Getter private String msg; @Getter private DT data1; p..

728x90