전체 글 150

[Javascript] $(document).on() ,$(document).ready() 차이점

문제 : 동적으로 생성되는 html 소스에 대한 click() 이벤트 문제 ■ $(document).on() 이 경우는 "이벤트를 위임"을 보여준다고 생각하면 된다. 이 이벤트 핸들러(event handler)는 DOM트리 보다 위에 바인딩이 되어서 Selector와 일치하는 태그를 찾아 실행한다. 대부분의 DOM 이벤트 들이 Tree의 꼭대기에서 시작해서 나뭇가지처럼 아래로 퍼지기 때문에 이것이 가능한 것이다. 그래서 해당하는 id의 태그를 클릭하면 클릭이벤트가 발생할 때 모든 부모 태그들의 사이를 이동하는 클릭 이벤트가 생성되고 그 부모 태그들과 조상 태그들은 그 이벤트를 받을 수 있게 된다. 즉 우리가 알고있는 DOM 트리(꼭대기가 html의 뿌리라고 볼수 있는 태그 부터 아래로 나뭇가지처럼 자식태..

[JSP] EL / JSTL 정리

EL의 개념은 해석 그대로 표현 언어를 이해하고 속성 값들을 편리하게 출력하기 위해 제공된 언어이며, JSTL은 표준 액션태그로 처리하기 힘든 부분을 담당합니다. EL(Expression Language)은 를 ${abc}로 간단하게 사용할 수 있게 하였고, JSTL의 Core에서 c를 이용해 문을 , 문을 로 대체하여 사용합니다. JSTL 태그 종류 ▼ 태그 종류ㅓㅅ (1) Core (prefix : c) → 일반 프로그래밍에서 제공하는 것과 유사한 변수선언 → 실행 흐름의 제어 기능을 제공 → 페이지 이동 기술 제공 URI → http://java.sun.com/jsp/jstl/core (2) Formatting (prefix : fmt) → 숫자, 날짜, 시간을 포매팅하는 기능을 제공 → 국제화, ..

JAVA/JSP 2021.05.10

[Web] 절대경로 와 상대경로

절대경로는 일반적으로 우리가 생각하는 C:user/popo.... 이런식의 경로이고 상대경로는 현재 파일이 위치한곳에서 다른곳의 경로 보통 ../는 상위 폴더로 이동한다 스프링레거시로 프로젝트할때, 부트스트랩 js경로를 지정할때 root폴더가 /resources 부터 시작한다는건알았는데 그냥 /resource부터 적용하니 안되서 구글링좀 해보니 ${pageContext.request.contextPath}

WEB 2021.05.07

[Spring] servlet-contex.xml, root-context.xml, web.xml 간략한 정리

우선, xml 파일은 모두 객체(Bean)를 정의합니다. 1. servlet-contex.xml servlet에서 보듯이 요청과 관련된 객체를 정의합니다. url과 관련된 controller나, @(어노테이션), ViewResolver, Interceptor, MultipartResolver 등의 설정을 해줍니다. 초기 파일을 보시면 위와 같은 주석이 있는데 DispatcherServlet과 관련된 설정을 해야함을 알 수 있습니다. 2. root-contex.xml servlet-context.xml 과는 반대로 view와 관련되지 않은 객체를 정의합니다. 따라서 Service, Repository(DAO), DB등 비즈니스 로직과 관련된 설정을 해줍니다. 3. web.xml 설정을 위한 설정파일입니다...

[Spring] 스프링 MVC 이란?

스프링 MVC는 Model- View - Controller의 약자이다. 흠.... 그래서 이게 무슨말이냐.... 위의 이미지 예시로 설명하겠다. 위의 소스코드는 members.jsp라는 파일이다. 위의 코드를 보면 안에 적혀있는 코드는 java코드고, 밑에는 html과 java코드가 섞여있다. 물론 jsp가 나오기전에는 servlet으로 html 응답을 만들어서 내려주고 했는데... 요즘 신규프로젝트에서는 그렇게 하지않으니 그부분은 너무 비효율적이기도하고 해서, 설명은 스킵하겠다.. (위의 파일을 본다면, jsp의 역할이 너무 많다. 비즈니스 로직도 수행하고, html 화면 그려주는 부분도해야하고...) (만약 html만 변경되야할 상황이 온다면 java코드가 들어있는 jsp도 같이 파일의 변경이 일어..

[Spring] 스프링 MVC의 흐름

1)클라이언트가 url을 통해 요청을한다 2) 디스패쳐 서블릿이 일단받는다 3) 디스패쳐 서블릿이 요청 url과 맞는 controller를 검색한다(핸들러매핑) 4)(핸들러매핑)은 요청 url과 매핑된 컨트롤러를 디스패쳐 서블릿에 리턴한다 5) 디스패쳐서블릿은 url과 매핑된 컨트롤러를 핸들러 (핸들러어댑터에게) 알맞은 처리를 요청한다 6)(핸들러 어댑터는) 해당요청에 맞는 메소드를 (컨트롤러에게)요청하고 비즈니스로직결과를 리턴한다 7)핸들러 어댑터는 리턴결과를 디스패쳐 서블릿에 객체로 리턴한다 8)디스패쳐 서블릿은 핸들러어댑터에게 받은 (데이터와 jsp의값을) 뷰리졸버에게 보내 view 를 찾아달라고 요청을 한다 9)뷰리졸버가 찾아서 리턴하면 view객체에 응답해서 view객체는 클라이언트에게 값을 전..

[Web] Redirect 와 Forward 의 차이

Redirect - redirct 명령이 들어오면 웹브라우저에게 다른페이지로 이동하라는 명령을 내린다( URL 변경) (forward와 달리 request,respone객체를 공유하지않음.) (웹브라우저는 url을 지시된 주소로 바꾸고 그주소로 이동함. 일을 2번처리하기때문에 forward보다 느림) Forward - 최초 호출한 URL만 표시되고, 이동한 페이지의 URL 정보는 볼수가없다 (forward의 호출을 물고 있으므로 request,respone 객체를 공유한다.) (실행속도가 redirect 보다 빠르다) 기본적으로 스프링은 view 경로를 리턴하면 포워딩 방식이다.

WEB 2021.05.04

[Spring] ServletContext, HttpSession, HttpServletRequest 차이점

- 이전페이지에서 수집했던 데이터를 다음 페이지에서 사용할수 없다, 다음페이지에서도 이전 페이지에서의 데이터를 유지해서 사용하기 위해선 어딘가에 저장해두고 유지시켜 놓아야함. * 저장소는 크게 3가지가 있음.(차이나는건, 메모리에서 유지되는 기간이 다르다.) 1) ServletContext 2) HttpSession 3) HttpServletRequest ServletContext HttpSession HttpServletRequest 생성: 서버시작시 제거: 서버 중지시 web application이 서비스중인 동안에는 계속 존재 생성: Client가 최초 접속시 제거: Client 접속 종료시 Client가 접속중인 동안에만 존재 생성: Client가 요청시 삭제: Server가 응답시 Request..