본문 바로가기

Java | spring/JSP | MVC 패턴8

모든 요청을 파악하는 front Controller Front Controller 웹 어플리케이션의 정문 앞에 서서 모든 요청을 파악하는 controller 사용자의 요청을 파악하여 요청에 따른 일처리를 위한 일처리 담당자(action, service, controller) 에게 일을 맡기고 처리된 결과를 상태유지 시킨 다음 결과를 보여주기 위한 viewpage를 결정한 다음 viewpage로 이동한다. front controller 만드는 방법 서블릿을 만든다. 서블릿 맵핑에 *.do라고 쓴다(모든 .do 파일로 접속하는 경우 해당 서블릿으로 온다) get과 post인 경우 동일하게 처리를 하기 위해서는 서블릿에 메소드를 하나 만들어야 한다. proRequest(이름은 아무거나 상관 없음) 라는 메소드를 만들어서 doGet과 doPost에서 불러준다. .. 2019. 5. 18.
JSP, MVC 패턴이 무엇인가? 보통 JSP, Spring 등을 배우다 보면 MVC 패턴을 사용하게 된다. 헌데, MVC가 무엇인지 물어보면 명확히 대답하기 어려운 경우가 있다. 간혹 면접에서도 물어보는 경우가 있으니 명확히 이해를 하고 있으면 좋다. MVC 패턴 전통적인 JSP는 jsp 문서 안에 자바문법과 html태그와, 사용자 요청에 대한 정보가 하나의 jsp문서 안에서 모두 처리 되었다. 이런 방식은 jsp 문서에 너무 많은 정보가 혼합되어 있고, 프로그램 개발자와 웹디자이너가 같은 페이지에서 작업을 하게 되다 보니 협업이나 유지보수 등이 어려웠다. 이것을 해결하기 위하여 기능을 하기 위한 자바 문법과 보여주는 HTML을 분리하는 개념을 MVC 패턴이라고 한다. M : Model 어떤 일처리를 위한 자바클래스들 V : View .. 2019. 5. 18.
JSP 서블릿 한글 세팅(한글 깨짐 해결 하기) 프로그래밍을 하다 보면 영어로 만드는 경우는 문제가 없는데, 한글로 데이터가 전송 되거나 하는 과정에서 한글이 자주 깨지는 현상이 발생한다. 이런 경우에는 아래와 같이 처리하면 된다. 1. 파일의 인코딩 속성을 "UTF-8"으로 변경 2. response.setContentType("text/html;charset=UTF-8"); 예시를 통해 세팅하는 방법을 보면 쉽게 한글 깨짐을 해결 할 수 있다. 영어로 hello 서블릿으로 출력( 한글 깨짐 ) - 만약 아래 코드 hello 라는 문자열을 한글 안녕으로 바꾸면 아래와 같이 깨져서 보여진다. package com.servlet; import java.io.IOException; import java.io.PrintWriter; import javax... 2019. 5. 18.
JSP filter 흐름제어( + 로그인 유지 ex ) filter 흐름을 제어하기 위한 것 클라이언트와 서버 사이에 필터가 존재해서 들어오는 request와 response를 필터가 먼저 받아 사전 작업/사후 작업 등 공통적으로 수행되는 부분 작업할 수 있는 기능 사용자의 특정 요청 가로채어 먼저 어떤 기능을 수행시키기 위한 기술 필터 파일 사용 법 필터를 사용할 때 특정 페이지에서만 필터를 적용해야 동작이 제대로 된다. 그렇기 때문에 분류가 필요한데, 폴더를 분류해서 지정 가능 @WebFilter("*.jsp") 이렇게 쓰면 모든 jsp파일에 적용하겠다는 것 @WebFilter("/member/*") 이렇게 쓰면, member 폴더에 있는 모든 jsp에 필터를 적용하겠다고 하는것 @WebFilter(urlPatterns= {"/member2/*","/me.. 2019. 5. 18.
JSP session, 사용자 상태유지( 로그인 유지 ) 상태유지를 확인하기 위한 session 사용자의 현재 상태를 유지시키기 위하여 JSP가 제공하는 내장 객체 쿠키 방식과 달리 정보를 모두 저장하지 않고 id만을 웹 브라우저에 저장하고 서버측의 id와 브라우저의 id를 비교해 같은 값이면 서버측의 정보를 실행 예를 들어 진짜 로그인을 하고 있는지 판단하고 싶은 경우 사용 session 사용 법 사용하는 방법은 마치 map과 유사 session 객체의 값을 담는 법 setAttribute(key, value); session 객체에 담긴 값을 읽어 오는 법 Object 변수명 = session.getAttribute(key); 반환을 오브젝트로 하기 때문에 변수에 담는 경우 해당 객체로 캐스팅이 필요하다. 로그인 기능 ( session ) - DB연동 체크.. 2019. 5. 18.
JSP 문장 구성요소( 지시자, 스크립트릿, 표현식 등) jsp 문장 구성요소 jsp에서 HTML / CSS / JavaScript 이외에도 자바 문법을 사용할 수 있다. 자바 문법을 사용하면, jsp에서 컨트롤러나 서블릿 통해 전달 받은 리스트(정보배열)을 for(반복문)을 통해 정보를 뿌릴수도 있다. 지시자 jsp를 수행하기 전에 선행 처리 되어야 할 내용을 기술 지시자 page : 자바처럼 임폴트 할 때 사용 include : 이미 있는 다른 jsp를 현재의 문서에 포함 시킬 때 사용 지시자 include로 문서를 포함해서 불러오는 경우 별도의 servlet 페이지가 생성되지 않는다. 액션태그 로 쓰면 포함된 문서가 별도의 servlet 페이지가 생성된다. 스크립트릿 온갖 자바 문장이 올 수 있고, jsp 안에 여러 번 올 수 있음 하지만, jsp에서 쓰.. 2019. 5. 18.
JSP에서 중요한 get / post 방식 요청 프로그램을 만들다 보면 데이터를 어떻게 전달하는지를 명확히 알고 있어야 프로그램 개발이 가능하다. 특히 그 중에서도 가장 기본적인 부분 중 하나가 클라이언트 요청 방식인 get 과 post 방식! JSP 뿐만 아니라 파이썬, node.js 등으로 프로그래밍을 하는 경우에도 get과 post 방식을 잘 알고 있어야 프로그램을 수월하게 만들 수 있다. 일반적인 프로그램의 경우 DB와 연동하여 사용하기 때문에 적절한 데이터를 넘겨서 원하는 정보를 찾고, 사용자의 입력 정보를 DB에 저장하는 등 데이터 전송, 요청에 대한 부분은 명확히 정리를 해 놓아야 한다. 웹 어플리케이션 동작 방식 클라이언트가 서버에 요청을 하고 응답을 받는 형태로 동작 된다 요청을 하는 객체가 request 요청을 하는 방식은 2개가 있.. 2019. 5. 18.
JSP란 무엇인가? 서블릿은? 서블릿과 JSP 웹 프로그래밍 언어 jsp/서블릿 : 자바 언어를 기반으로 웹에서 동작하는 프로그래밍 기술 서블릿이 먼저 나온 기술 서블릿으로는 웹 문서 만들기가 어려워서 jsp는 나중에 쉽게 웹문서를 만들도록 만들어진 기술 동적인 HTML을 생성 사용자 요구에 따른 HTML을 프로그램에 의해서 생성 동적인 HTML 가능 종류 : jsp, asp, php, python(flask, django…) 서블릿 servlet server와 Applet의 합성어, 서버에서 실행되는 Applet, 자바를 이용하여 웹에서 실행되는 프로그램을 작성하는 기술 서블릿은 자바 클래스 형태의 웹 어플리케이션, HttpServlet 클래스를 상속받은 클래스가 서블릿 HttpServlet은 웹 서비스가 가능한 웹 어플리케이션을 .. 2019. 5. 18.
반응형