전체 글293 RequestDispatcher - 페이지 forward/include [ javax.servlet.RequestDispatcher 클래스 ] forward() : 액션태그의 를 구현한 메소드 include() : 액션태그의 를 구현한 메소드 두 액션태그의 개념을 구현한 메소드이기 때문에 액션태그를 이해하고 있으면 어렵지 않게 이해할 수 있는 메소드입니다. [ forward() ] JSP에서는 액션태그의 forward 사용을 통해 다른 페이지나 서블릿으로 제어 흐름을 이동시킬 수 있었습니다. Response 객체의 sendRedirect()와는 달리 사용자가 다시 페이지를 호출하는게 아니라 내부적으로 해당 URI에 매핑된 부분으로 흐름을 넘기는 방식입니다. 이 부분에 대한 자세한 내용은 아래 링크를 참조하시면 됩니다. 2020/02/14 - [· JSP & Servlet/-.. ▸JSP & Servlet/기본 문법 2020. 2. 21. JDBC를 이용한 DB작업_커넥션풀(Connection Pool) [3/3] [ DBCP (DataBse Connection Pool) ] 스레드 풀과 마찬가지로 커넥션 객체를 모아둔 개념 커넥션 객체 생성과 삭제에 드는 오버헤드를 방지하기 위한 객체 재활용 방식 커넥션풀은 스레드풀과 비슷한 개념입니다. DB도 외부 리소스이기 때문에 커넥션을 생성하고 삭제하는 것은 오버헤드가 발생합니다. 또한 DBMS 입장에서도 커넥션을 계속 맺고 끊어야하기 때문에 오버헤드가 발생합니다. 따라서 커넥션 객체를 일정량 모아둔 Pool을 생성해두고 계속 재활용하는 방식입니다. 요청을 처리하는 각 스레드에서 커넥션을 따로 생성해주지 않고 커넥션풀의 커넥션 객체를 할당받아 사용한 뒤 반납합니다. [ 커넥션풀(Connection Pool) 생성 ] javax.naming.Context 인터페이스 / In.. ▸JSP & Servlet/기본 문법 2020. 2. 20. JDBC를 이용한 DB작업_DB 연동 및 데이터 작업 [2/3] [ JDBC ] Java DataBase Connecivity 자바 프로그램 안에서 SQL을 실행하기 위해 데이터베이스를 연결해주는 기능 오라클 뿐만 아니라 대부분의 DB에서 JDBC 기능(드라이버)을 제공해줌 JDBC는 DB를 사용하기 위한 외부 라이브러리입니다. 오라클용 JDBC 설정은 아래 링크글을 참조하시면 됩니다. [· JSP & Servlet/- 개발 TIP] - 자바 외부 라이브러리 사용 방법 (JDBC 설정 방법 포함) [ DB 연결 ] 1. 드라이버 로드 java.lang.Class의 static forName() 메소드 사용 Class.forName("oracle.jdbc.driver.OracleDriver"); 'oracle.jdbc.driver.OracleDriver'는 외부 라이브.. ▸JSP & Servlet/기본 문법 2020. 2. 19. 자바 외부 라이브러리 사용 방법 (JDBC 설정 방법 포함) [ JDBC ] Java DataBase Connecivity 자바 프로그램 안에서 SQL을 실행하기 위해 데이터베이스를 연결해주는 기능 오라클 뿐만 아니라 대부분의 DB에서 JDBC 기능(드라이버)을 제공해줌 간단히 DB를 만든 업체에서 해당 DB를 Java에서 연결해서 사용할 수 있도록 짜둔 라이브러리라고 생각하면 됩니다. JDBC 라이브러리 안에 포함되어 있는 파일을 보면 모두 ".class" 파일로, 컴파일 되어 JVM에서 해석되고 실행될 수 있는 파일들의 모음집입니다. 우리가 특정 기능을 수행할 수 있는 클래스들을 짜서 하나의 모듈로 묶어두면 그게 라이브러리가 되고, 다른 사람들이 가져다가 사용할 수 있습니다. JDBC도 비슷한 개념이라고 생각하시면 됩니다. 자바에서 DB를 다루는 클래스들은 내.. ▸JSP & Servlet/개발 TIP 2020. 2. 19. JDBC를 이용한 DB작업_기초 SQL 문법 [1/3] [ DBMS ] DataBase Management System DB를 사용하기 위한 시스템 Oracle DB, MSSQL, MySQL 등이 있음 Oracle DB를 기반으로 정리했습니다. MSSQL이나 MySQL 등도 거의 오라클DB에서 시작됐으므로 쿼리문이나 구조는 거의 비슷하다고 보면 됩니다. 약간씩 다르긴 하지만 오라클DB를 이해하면 나중에 익히는데 크게 문제는 없을 것 같습니다. 사실 실무에서는 엄청 중요한 시스템이 아니면 웬만큼 오라클DB를 사용하지는 않는 편입니다. 일단 가격이나 유지보수요율이 다른 DB들에 비해 워낙 비쌉니다.. 안정성도 원래 OracleDB가 좋았다고 하는데 요즘은 MSSQL이 많이 좋아졌고 다른 무료 DB들도 쓸만하다고 합니다. (심지어 SAP에서 사용하던 오라클 DB들.. ▸JSP & Servlet/기본 문법 2020. 2. 18. 쿠키(Cookie) [ 쿠키(Cookie) ] HTTP 프로토콜에서 클라이언트-서버 간의 관계를 유지하기 위한 수단 서버에 정보를 저장하는 세션(Session)과 달리 클라이이언트측에 정보를 저장함 세션과 달리 브라우저가 종료되더라도 유효기간이 만료하기 전까지 데이터가 유지 하나의 쿠키 정보는 4kb까지 저장 가능하고 브라우저에 따라 갯수의 상한선이 존재 세션(session)에 관한 설명은 아래 링크글을 참조하시면 됩니다. JSP 내장 객체_session (쿠키와 세션) [4/4] 세션 글에서 차이점을 설명했듯이 클라이언트측(브라우저)에 정보를 저장해두고 서버에서 해당 값을 수정/변경/삭제 할 수 있는 기능을 가진 객체를 Cookie라고 합니다. 하나당 4kb짜리 텍스트 정보입니다. 보안에 취약하기 때문에 민감 정보와 관련.. ▸JSP & Servlet/기본 문법 2020. 2. 18. JSP 내장객체의 구조와 생명주기 (session / config / application ) 서블릿의 객체를 기반으로하는 JSP의 내장 객체들은 JSP에서 자동으로 생성될만큼 필수적인 객체들입니다. JSP/서블릿이 구동되기 위한 여러 정보들을 담고 있는데, 생성과 소멸 시점이 각기 다르고 공유되는 범위가 제각각이라 헷갈리는 것 같습니다. 순서대로 개념과 구조, 생명주기를 정리해보겠습니다. JSP 내장객체에 대한 자세한 설명은 아래 링크글들을 참조 부탁드립니다. 2020/02/14 - [· JSP & Servlet/- 기본 문법] - JSP 내장 객체_request, response, out [1/4] 2020/02/16 - [· JSP & Servlet/- 기본 문법] - JSP 내장 객체_page / config / application [2/4] 2020/02/16 - [· JSP & Ser.. ▸JSP & Servlet/기본 상식 2020. 2. 17. JSP 내장 객체_session (쿠키와 세션) [4/4] [ JSP 내장 객체 ] 개발자가 객체를 별도로 생성하지 않아도 JSP에서 바로 사용할 수 있는 객체 컨테이너가 JSP를 서블릿으로 변환할 때 자동으로 객체가 생성됨 request, response, out, page, config, application, pageContext, exception, session 내장 객체는 말 그대로 JSP가 기본적으로 내장하고 있어서 따로 선언하거나 만들어줄 필요 없이 바로 사용 가능한 객체를 말합니다. 당연한 말이지만 모두 Java의 클래스 객체이므로 서블릿에서도 동일하게 사용이 가능합니다. 서블릿에서는 자동으로 생성되는 내장 객체는 아니지만 대부분 get 메소드를 이용해 객체를 얻어낼 수 있습니다. 전반적인 구조에 대한 아래 링크글을 먼저 참조하시면 좀 더 이해가.. ▸JSP & Servlet/기본 문법 2020. 2. 17. JSP 내장 객체_pageContext / exception [3/4] [ JSP 내장 객체 ] 개발자가 객체를 별도로 생성하지 않아도 JSP에서 바로 사용할 수 있는 객체 컨테이너가 JSP를 서블릿으로 변환할 때 자동으로 객체가 생성됨 request, response, out, page, config, application, pageContext, exception, session 내장 객체는 말 그대로 JSP가 기본적으로 내장하고 있어서 따로 선언하거나 만들어줄 필요 없이 바로 사용 가능한 객체를 말합니다. 당연한 말이지만 모두 Java의 클래스 객체이므로 서블릿에서도 동일하게 사용이 가능합니다. 서블릿에서는 자동으로 생성되는 내장 객체는 아니지만 대부분 get 메소드를 이용해 객체를 얻어낼 수 있습니다. 전반적인 구조에 대한 아래 링크글을 먼저 참조하시면 좀 더 이해가.. ▸JSP & Servlet/기본 문법 2020. 2. 16. JSP 내장 객체_page / config / application [2/4] [ JSP 내장 객체 ] 개발자가 객체를 별도로 생성하지 않아도 JSP에서 바로 사용할 수 있는 객체 컨테이너가 JSP를 서블릿으로 변환할 때 자동으로 객체가 생성됨 request, response, out, page, config, application, pageContext, exception, session 내장 객체는 말 그대로 JSP가 기본적으로 내장하고 있어서 따로 선언하거나 만들어줄 필요 없이 바로 사용 가능한 객체를 말합니다. 당연한 말이지만 모두 Java의 클래스 객체이므로 서블릿에서도 동일하게 사용이 가능합니다. 서블릿에서는 자동으로 생성되는 내장 객체는 아니지만 대부분 get 메소드를 이용해 객체를 얻어낼 수 있습니다. 전반적인 구조에 대한 아래 링크글을 먼저 참조하시면 좀 더 이해가.. ▸JSP & Servlet/기본 문법 2020. 2. 16. JSP 내장 객체_request, response, out [1/4] [ JSP 내장 객체 ] 개발자가 객체를 별도로 생성하지 않아도 JSP에서 바로 사용할 수 있는 객체 컨테이너가 JSP를 서블릿으로 변환할 때 자동으로 객체가 생성됨 request, response, out, page, config, application, pageContext, exception, session 내장 객체는 말 그대로 JSP가 기본적으로 내장하고 있어서 따로 선언하거나 만들어줄 필요 없이 바로 사용 가능한 객체를 말합니다. 당연한 말이지만 모두 Java의 클래스 객체이므로 서블릿에서도 동일하게 사용이 가능합니다. 서블릿에서는 자동으로 생성되는 내장 객체는 아니지만 대부분 get 메소드를 이용해 객체를 얻어낼 수 있습니다. 전반적인 구조에 대한 아래 링크글을 먼저 참조하시면 좀 더 이해가.. ▸JSP & Servlet/기본 문법 2020. 2. 14. JSP 태그의 종류와 사용법 [ JSP 태그 ] HTML 기반의 JSP 코드 내에 JAVA 코드를 삽입할 수 있게 해주는 태그 JSP는 HTML 기반으로 되어 있기 때문에 JAVA 코드를 넣어서 동작시키려면 JSP 태그 사이에 삽입해야 합니다. HTML, CSS, Javascript 등으로 클라이언트단에서 보여지고 동작할 뼈대를 만든 후 JSP 태그로 JAVA 코드를 넣어 특정 로직을 수행할 수 있도록 합니다. JSP는 서블릿으로 변환된 후 사용자에게는 HTML 형태의 코드만 전송하므로 JSP 태그의 내용은 사용자에게 노출되지 않습니다. 구분 JSP 태그 용도 지시자 페이지 속성 지정 주석 주석 처리 선언 변수, 메소드의 선언 표현식 결과값 출력 스크립트릿 JAVA 코드 삽입 액션태그 페이지 삽입, 공유, 자바빈 사용 등 [ 지시자.. ▸JSP & Servlet/기본 문법 2020. 2. 14. 이클립스 / JSP / 서블릿의 인코딩(Encoding) 정리 [ 이클립스의 인코딩 타입 ] 이클립스에서 지정해주는 인코딩 타입은 파일의 저장 형식과, 저장된 파일을 읽어서 보여줄 때 사용합니다. 예를 들어 우리가 "test.java" 라는 파일을 하나 생성해서 코딩을 할 때 한글을 썼다고 해봅니다. 그럼 이클립스에서 java 파일을 저장하고 읽어올 때 설정이 "UTF-8"이라면 이 파일을 저장할 때도 UTF-8 코드로 저장하고, 읽어올 때도 UTF-8 코드로 읽어와서 문자로 변환한 뒤 우리에게 보여줍니다. 만약 지금 이클립스의 java 파일 인코딩 방식이 "EUC-KR"일 때 파일을 하나 저장한 뒤, 다시 인코딩 방식을 "UTF-8"로 변경하고 해당 파일을 읽어오면 공통 코드인 숫자나 영문은 멀쩡하지만 한글은 모두 깨져서 나옵니다. 따라서 A라는 사람이 이클립스 .. ▸JSP & Servlet/기본 상식 2020. 2. 14. JSP, Servlet(서블릿)의 URL 주소 매핑 [ Servlet - URL 매핑 ] 서블릿의 @WebServlet("/URL") 어노테이션을 사용한 매핑 web.xml을 통한 매핑 서블릿은 위의 두 가지 방법으로 URL 매핑이 가능합니다. 먼저 첫번 째 방법은 이클립스에서 서블릿 파일을 생성할 때 자동으로 붙어 있는 어노테이션을 사용하는 방식입니다. 서블릿 생성에서 바로 Finish를 누르지말고 Next를 눌러보면 URL을 어떻게 매핑할지 나오는데 여기서 수정해도 되고 코드에서 바로 수정해줘도 무방합니다. 이렇게 파일을 만들면 위에 붙어 있는 @WebServlet("/URL")의 URL 주소로 접속하면 톰켓 서버의 컨테이너가 매핑된 서블릿을 찾아 실행해 줍니다. @WebServlet("/ClassName") public class ClassName .. ▸JSP & Servlet/기본 문법 2020. 2. 13. 서블릿(Servlet) 생성과 생명주기 [ 서블릿 ] HttpServlet : Servlet 인터페이스를 구현한 GenericServlet 추상 클래스를 상속받은 클래스 Servlet : HttpServlet 클래스를 상속받은 자바 클래스 doGet(), doPost() 메소드를 필수적으로 오버라이딩 해야함 [ doGet() 메소드 ] GET 방식으로 요청이 들어올 경우 처리할 로직 작성 * GET 방식 URL 값으로 정보가 전송되는 방식 (URL의 끝에 요청 파라미터(쿼리스트링)을 실어서 보냄) URL 값에 요청하는 정보가 노출되기 때문에 보안에 약함 전송하는 내용의 길이 제한이 있음 웹브라우저의 주소창을 이용해 servlet을 요청한 경우 HTML 코드 내 form 태그의 method 속성이 get일 경우 doGet() 메소드는 GET 방.. ▸JSP & Servlet/기본 문법 2020. 2. 13. 이전 1 ··· 7 8 9 10 11 12 13 ··· 20 다음 💲 추천 글 반응형