Back-end/JSP 16

JSP) 모델2 방식 - FrontController 컨트롤러 서블릿 만들기

model2 방식에서 FrontController는 요청을 받아서 DB연결이 필요없으면 → 바로 View로 포워딩하고 DB연결이 필요하면 → Action클래스(Controller)를 호출하여 DAO가 호출되고 DB로직을 처리한다. 1. 서블릿 파일 만들기 서블릿은 자바 + HTTP객체다. 따라서 HttpServlet을 상속받아야한다. public class FrontController extends HttpServlet { } HttpServlet에서 doGet, doPost를 오버라이딩 한다. (ctrl + alt + s + v) @Override protected void doGet(HttpServletRequest req, HttpServletResponse res) throws ServletExc..

Back-end/JSP 2022.03.16

JSP) DB 커넥션 풀(Connection Pool)

1. 커넥션 풀 JDBC를 통해 DB와 연결할때 DriveManager클래스의 getConnection()메서드를 통해 연결 정보 객체(Conection)을 가져와서 사용한다. 이 Connection을 매번 가져오는게 아니고, 미리 가져와서 저장하여 필요할때 가져가서 쓰고 작업이 끝아면 반환하며 사용할때 사용하는게 커넥션 풀이다. 즉, 커넥션 풀은 커넥션 정보를 저장하는 것을 의미한다. DB환경설정과 연결정보 등을 xml이나 속성관리 파일에 정의해두고 그 정보를 사용한다. 웹을 만들때 커넥션 풀 사용은 필수다. 안쓰면 서버 무조건 나간다..ㅎㅎ 2. 커넥션 풀 사용 이유 사용자가 웹 사이트를 요청할때마다 Connection객체를 새로 만들면 메모리 소모가 많아 매우 비효율적이다. 커넥션 풀을 생성해서 그..

Back-end/JSP 2022.03.14

JSP) JDBC 설치하여 JSP와 DB연결 및 SQL문 실행하기

JDBC 자바와 DBMS를 연결시켜주는 API. SQL프롬프트를 사용하지 않고 자바 프로그램에서 SQL문을 써서 DB작업을 할 수 있도록 한다. DBMS종류에 맞는 JDBC드라이버를 설치해서 사용한다. 1. JDBC 드라이버 다운받아 설치하기. 나는 MySQL을 사용하므로 MySQL JDBC인 Connector j 를 설치해야한다. (자바프로그램에서 MySQL을 사용하려면 Connector j 필요) 전체 설치가 아닌 jar파일만 필요하므로 Microsoft Window가 아닌, Platform Independent 를 선택한다. 윈도우 환경이면 .zip을 다운받고, 그 외에는 .tar를 다운받는다. https://dev.mysql.com/downloads/connector/j/ 다운받은 폴더안의 .ja..

Back-end/JSP 2022.03.03

JSP) 쿠기(Cookie)의미와 사용하기

쿠키는 클라이언트 측에서 관리되는 정보. 웹 브라우저가 사라져도 사용할 수 있다. 쿠키의 예시는 로그인할때 "아이디 저장" 기능이다. 세션은 브라우저를 종료하면 사라지고, 아이디는 클라이언트에게만 필요한 정보이므로 쿠키에 저장한다. 세션 vs 쿠기 세션 쿠키 저장 위치 서버 클라이언트의 하드디스크에 파일 형태로 저장 종료 및 삭제 브라우저를 종료하거나 세션 만료 시간이 다 됐을때 쿠키 만료날짜까지 보안 쿠키보다 안전 보안에 취약 쿠키 관련 메소드 쿠키 객체 메서드 setValue(String value) 쿠키 값 설정 setMaxAge(int 초) 쿠키 만료 기간 설정 getValue() 쿠키 값 가져오기 getMaxAge() 쿠키 만료 기간 가져오기 getName() 쿠키 이름 가져오기 내장 객체의 쿠..

Back-end/JSP 2022.03.01

JSP) Session 생성, 삭제, 초기화 예제

* JSP의 실행순서는 JSP > HTML > JavaScript 순서로 진행된다. * 세션에 저장된 값은 String객체로 다운캐스팅해야 사용할 수 있다. mainPage.jsp 세션 생성 버튼을 누르면 sessionSet.jsp페이지로 이동하여 세션값을 생성하고 돌아온다. 세션 삭제 버튼을 누르면 sessionDel.jsp페이지로 이동해서 세션값을 삭제하고 돌아온다. 세션 초기화를 누르면 sessionInval.jsp페이지로 이동해서 초기화하고 돌아온다. 세션값 : 세션값(id) : sessionSet.jsp 값을 생성했으니 다시 sessionTest페이지로 돌아가 sessionDel.jsp sessionInval.jsp

Back-end/JSP 2022.03.01

JSP) 영역(Scope) 객체와 속성(Attribute), 페이지 이동 방법 4가지

JSP가 제공하는 9가지의 내장객체 중 4가지(pageContext, session, request, application)는 각각 특정 범위(scope)와 그 범위 안에서 공유할 수 있는 객체(데이터)(Attribute)를 가진다. 속성(Attribute): 공유되는 데이터 영역(Scope): 속성을 공유할 수 있는 유효범위 영역객체: 해당 영역에서 속성을 사용할 수 있는 내장 객체. ex) page영역에 데이터를 저장하려면 pageContext라는 영역객체를 사용해야하고, session 영역에 데이터를 저장하려면 session 영역객체를 사용해야한다. 영역객체 사용방법 영역객체에 속성 저장: setAttribute(속성명, 값) 영역객체의 속성 출력: getAttribute(속성명) 영역객체의 속성 ..

Back-end/JSP 2022.03.01

JSP) 내장 객체(4) - Application, out, config, page, exception

Application Application내장객체에 저장된 값은 프로그램 전체 영역에서 다룰 수 있다. 웹 어플리케이션당 딱 하나만 생성할 수 있다. 주로 서버의 정보, 이벤트 로그 등을 다루는 메서드를 제공한다. 서버 정보: 서버의 물리적 정보: out JSP/Servlet 컨테이너가 응답 페이지를 만들기 위해 사용하는 출력 스트림 객체. 핵심 기능: 응답 페이지 만들기 버퍼 사이즈: byte 버퍼 사용 후: byte config JSP페이지가 서블릿 클래스로 변환되어 서블릿 인스턴스가 생성될때 참조해야 할 초기 설정 정보가 저장된 곳. page 객체 서블릿 인스턴스 그 자체. exception 객체 예외 처리 객체 page 지시어에 isErrorPage="true"로 지정되어있어야만 사용할 수 있다.

Back-end/JSP 2022.03.01

JSP) 내장 객체(3) - session 의미와 특징

session 이란? session을 이해하기 전에 먼저, http프로토콜의 동작 방식을 알아야한다. HTTP 프로토콜은 요청에 대한 응답을 하면 바로 연결을 끊는다. => 연결 상태 유지X 연결상태가 유지되지 않으면 로그인처럼 정보가 유지되어야 할때 유지할 방법이 없다. 이런 HTTP의 특징을 보완하기 위해 session, cookie가 사용된다. cookie는 클라이언트에 저장되는거고, session은 서버에 저장되는 값이다. 즉, 세션은 연결 상태를 유지하기위해 서버측에서 저장하는 값. 세션의 동작 방식 1) 클라이언트가 서버에 처음으로 요청한다.(request) 2) 서버는 응답정보와 세션아이디를 같이 보낸다(response + 고유한 session 아이디) 3) 클라이언트는 받은 세션 정보를 자..

Back-end/JSP 2022.03.01

JSP) 내장 객체(2) - response

클라이언트 요청에 대한 응답을 나타내는 객체. 웹 컨테이너에서 javax.servlet.http.HttpServletResponse 인터페이스를 사용해서 response객체를 만든다. response객체로 HTTP 응답 헤더 정보 설정, 쿠키 추가, 페이지 리다이렉트 등의 기능을 한다. 주요 메소드 addHeader 예제 // 3초에 한번씩 페이지 새로고침 // ex) 지도에서 실시간 버스 남은 시간표시 response.addHeader("Refresh", 3); // 3초 후 페이지 이동 // ex) 결제 후 몇 초 후 페이지 자동 이동 response.addHeader("Refresh", "3;url=http://www.naver.com"); // 실행하자마자 바로 페이지 이동 response.sen..

Back-end/JSP 2022.03.01

JSP) 내장 객체(1) - request

1. request 객체 request객체는 HTTP요청정보를 담고있다. 동작 순서 웹 브라우저가 HTTP메시지(헤더 + 바디)를 웹 서버에 보냄. → 서버가 받은 HTTP요청이 서블릿/JSP요청이면? → 해당 컨테이너는 HTTP메시지를 통해 HttpServletRequest객체를 생성하고 서블릿 인스턴스에 넘김. → 서블릿이 요청데이터를 얻을 수 있음. → JSP페이지는 HttpServletRequest객체를 request이름으로 사용한다. 2. request객체 메소드 http헤더 (user-agent) : http헤더 (accept-language) : http헤더 (host) : http헤더 (connection) : 3. Form과 연결해서 파라미터 값 가져오기 주의!! form 태그로 파라미터..

Back-end/JSP 2022.03.01
반응형