본문 바로가기
반응형

전체 글305

세션(Session) Preface 이번 장에선 JSP와 OracleDB를 사용해 간단한 로그인 폼을 만들었다. 지난번 Python과 php, MySQL을 이용해 게시판을 제작했을 땐 솔직히 php 코드를 이해하지 못한 체 다른 블로그에 있는 코드를 복사해서 사용했을 뿐이었다. 그러나 DB의 연동부터 서버 사이드 스크립트 언어인 JSP의 코드까지 모두 직접 작성하며 제작을 하다보니 작동 방식과 연결 방식을 쉽게 이해할 수 있었다. 물론 이해만 했을 뿐이지, 혼자 힘으로 모든 코드를 작성할 수 있으려면 작성해둔 코드를 여러 번 읽어보며 복습하는 시간이 꼭 필요할 것 같다. 1. 세션이란? - 세션(Session): 클라이언트가 웹 브라우저를 통해 서버에 접속한 후 용무를 처리하고 웹 브라우저를 닫아 서버와의 접속을 종료하는 하.. 2023. 6. 8.
데이터베이스(DB) Preface 이번 장에서는 JSP와 DB를 연결하는 방법을 공부했다. 나는 지금껏 MySQL DB를 이용했었는데, 책에선 Oracle을 다뤄 어쩔 수 없이 OracleDB를 다운로드받았다. 다만, 맥에선 Oracle을 지원하지 않아 Docker을 이용해 다운로드 받는 방법을 이용했다. 추후 개인적으로 JSP와 DB를 연동할 수 있으려면 커넥션 풀 등과 같은 다양한 기능의 연결 및 사용 방법을 잘 숙지해두어야 할 듯하다. 또, 현재 OracleDB에서 한글이 깨지는 현상이 발생해 해결 중인데, 해결 방법을 찾으면 따로 글을 업로드 할 계획이다. 1. 데이터베이스란? - DB와 관련된 정보는 DB & SQL 카테고리에 있다. - JSP에선 JDBC(Java Database Connectivity)를 통해 .. 2023. 6. 7.
GET 방식과 POST 방식 Preface JSP를 통해 웹 애플리케이션을 공부하다보니 GET 방식과 POST 방식의 차이점을 확실히 이해하고 있어야 할 것 같아 두 방식의 특징과 장단점을 간략히 정리해둔다. GET 방식과 POST 방식: HTTP 프로토콜을 통해 클라이언트와 서버 간 데이터를 주고받는 데 사용되는 두 가지 주요한 방식 1. GET 방식 - GET 방식의 특징 1) 데이터 전송 방식: GET 방식은 데이터를 URL의 쿼리 문자열에 포함하여 전송한다. → 쿼리스트링을 사용한다. 2) 데이터 노출: 전송되는 데이터가 URL에 노출되므로 보안에 취약하다. 3) 데이터 길이 제한: URL에는 최대 길이 제한이 있으므로 전송할 수 있는 데이터의 크기에 제한이 있다. 4) 캐싱 가능: 동일한 GET 요청은 캐시에 저장되어 재사.. 2023. 6. 4.
쿠키(Cookie) Preface 이번 장에선 쿠키를 생성하고 사용하는 방법을 공부했다. 나는 지금껏 서버에서 자체적으로 쿠키를 생성하여 저장한 후 클라이언트에 따라 정보를 제공하는 것으로 알고 있었다. 서버는 클라이언트의 요청에 따라 쿠키를 생성하며, 클라이언트가 재접속하여 HTTP 요청 헤더를 통해 쿠키 정보를 제공하지 않으면 서버에서 쿠키를 읽을 수 없다는 것이 이번 장의 키 포인트인 것 같다. 1. 쿠키란? - 쿠키(Cookie): 클라이언트의 상태 정보를 유지하기 위한 기술 → 상태 정보를 클라이언트에 키와 값 형태로 저장했다가 다음 요청 시 저장된 쿠키를 함께 전송한다. - 쿠키 표준 1) 3000개까지 만들 수 있다. 2) 쿠키 하나의 최대 크기는 4096바이트이다. 3) 하나의 호스트나 도메인에서 최대 50개.. 2023. 6. 4.
jQuery Ajax Preface jQuery를 통한 Ajax 사용과 관련된 자세한 내용을 담고 있는 동영상은 없는 것 같아 생활코딩에 있는 글과 Chat-GPT의 내용만을 바탕으로 간단하게 글을 업로드한다. - jQuery의 Ajax API 링크: https://api.jquery.com/jQuery.ajax/ jQuery.ajax() | jQuery API Documentation Description: Perform an asynchronous HTTP (Ajax) request. The $.ajax() function underlies all Ajax requests sent by jQuery. It is often unnecessary to directly call this function, as several h.. 2023. 6. 4.
동기 방식과 비동기 방식 Preface 최근 공부한 대부분의 언어에서 동기 방식과 비동기 방식에 관한 이해를 요구하는 것 같아 두 방식의 개념과 장단점, 차이점에 대해 간단히 정리해둔다. 본문 내용은 그동안 공부했던 책들과 생활코딩 강의, 그리고 Chat-GPT의 대답 내용을 참고해서 작성했다. 1. 동기 방식(Synchronous) - 동기 방식: 작업을 순차적으로 진행하고, 각 작업이 완료될 때까지 다음 작업을 기다리는 방식 → 작업의 진행과 응답을 기다리는 방식으로 동작한다. - 작동 방법 1) 작업을 요청하면 해당 작업이 시작된다. 2) 시작한 작업이 완료될 때까지 다음 작업을 기다린다. (블로킹) 3) 작업이 완료되면 결과를 반환하고 다음 작업을 수행한다. - 장점 1) 결과의 완전성과 일관성을 유지할 수 있다. 2) .. 2023. 6. 3.
Ajax Preface 어제는 JSP 공부 도중 jQuery에 관한 내용이 나와 jQuery를 간단히 살펴봤었는데, 이번엔 코드에서 jQuery에서 제공하는 Ajax와 관련된 부분이 나왔다. 해당 내용만을 공부할까 하다가 기왕 공부하는거 Ajax의 개념에 대해 확실히 짚고 넘어가는 것이 좋을 것 같다는 생각이 들어 생활코딩의 Ajax 강의를 봤다. 이번 글을 업로드한 후엔 jQuery의 Ajax 강의를 보고 간단히 정리할 생각이다. JSP 공부를 시작하기 전엔 HTML, CSS, JS, Java 관련 지식만 있으면 아무 문제 없이 책을 이해할 수 있을 것이라 생각했지만, 막상 공부를 시작하니 요구되는 사전 지식이 꽤 많다. - Ajax(Asynchronous JavaScript and XML): 웹 애플리케이션에.. 2023. 6. 3.
Can I Use? 다양한 브라우저에서 특정 기능의 사용 가능 여부를 알려주는 사이트 https://caniuse.com/ Can I use... Support tables for HTML5, CSS3, etc caniuse.com 2023. 6. 3.
jQuery 찍먹 Preface JSP 공부를 하던 중 jQuery에 대한 지식을 요구하는 부분이 있어 생활코딩에서 제공하는 jQuery 강의를 찾아봤다. 기본적인 사용 방법 부분만을 시청했고, 추후 jQuery를 제대로 사용해야 할 필요성이 느껴지면 그때 공부할 계획이다. - jQuery의 기본 문법 1) $ 대신 jQuery를 입력할 수 있다. 2) 제어대상엔 클래스, ID 선택자 등이 위치한다. 3) 메소드 뒤에 도트 연산자로 여러개의 메소드를 연결할 수 있다. $(제어대상).method1().method2(); - jQuery 사용 방법 1) jquery 사이트의 소스코드를 사용 → https://releases.jquery.com/ jQuery CDN The integrity and crossorigin attr.. 2023. 6. 2.
내장 객체의 영역(Scope) Preface 이번 장에선 내장 객체의 4가지 영역을 공부했다. JSP 개념과 더불어 사용하는 자바 코드도 딱히 어려울만한 부분이 없어서 쉽게 이해하고 넘어갈 수 있었다. 1. 내장 객체의 영역이란? - 내장 객체의 영역 1) page 영역: 동일한 페이지에서만 공유 2) request 영역: 하나의 요청에 의해 호출된 페이지와 포워드된 페이지까지 공유 3) session 영역: 클라이언트가 처음 접속한 후 웹 브라우저를 닫을 때까지 공유 4) application 영역: 한 번 저장되면 웹 애플리케이션이 종료될 때까지 유지 - 애플리케이션 구조에 따라 더 큰 범위의 영역은 더 작은 범위의 영역을 하나 이상 포함할 수 있다. - 영역이 제공하는 주요 메서드 1. void setAttribute(Strin.. 2023. 5. 30.
내장 객체(Implicit Object) Preface 이번 장에선 JSP 내장 객체의 종류와 사용법을 공부했다. 각각의 내장 객체마다 메소드 종류도 다양하고 사용법도 다른데, 이렇게 한 번 훑어보는 것만으로 충분할지, 자주 사용되는 메소드들을 따로 정리해가며 공부해야할지 아직 잘 모르겠다. 초보자를 위한 책이라고 하니 일단은 책의 구성 순서대로 차근차근 공부할 생각이다. 1. 내장 객체란? - 내장 객체(Implicit Object): 기본적인 요청과 응답, 화면 출력 등의 기능을 내장해 둔 객체 1) JSP 페이지가 실행될 때 컨테이너가 자동으로 생성해준다. 2) 컨테이너가 미리 선언해 둔 참조 변수를 이용해 사용한다. 3) 별도의 객체 생성 없이 각 내장 객체의 메서드를 사용할 수 있다. 4) JSP 문서 안의 스크립틀릿과 표현식에서만 사.. 2023. 5. 29.
JSP 기본 Preface 이번 장에선 JSP 파일의 기본 구조와 간단한 문법을 알아봤다. 지시어의 종류와 속성, 스크립트 요소의 사용법만 익숙해지면 딱히 어려울만한 부분은 없을 것 같다. - JSP: 동적인 웹 페이지를 개발하기 위한 웹 프로그래밍 기술 → 자바를 사용하여 서버 측에서 웹 페이지들을 생성해 웹 브라우저로 전송한다. - 서버(Server): 웹에서 서비스를 제공하는 컴퓨터 시스템 - 웹 서버(Web Server): 사용자로부터 HTTP를 통해 요청을 받거나, 웹 컨테이너가 전달해준 결과물을 정적인 페이지로 생성하여 사용자에게 응답해주는 소프트웨어 - 웹 컨테이너(Web Container): 웹 서버가 전송해준 요청을 기초로 동적인 페이지를 생성하여 웹 서버로 돌려주는 소프트웨어 - WAS(Web Ap.. 2023. 5. 27.
이클립스 JSP 404 에러 해결 방법 Preface 맥북을 사용하고 있어서 어느정도 익숙한 일이지만, 개발 환경을 세팅하는 일은 항상 복잡하다. 이번엔 이클립스에서 톰캣을 이용한 JSP 실행 환경을 구축하는 데 꽤나 고생을 했다. 물론 윈도우 기준이긴 해도 책에서 알려주는 순서대로 설치를 진행했지만, 아니나 다를까 파일을 실행하자 404가 에러가 발생했다. 우선 내가 사용하던 Eclipse IDE for Java Developers 버전에선 JSP를 지원하지 않는 듯 해서 Eclipse IDE for Enterprise and Java Developers 버전을 새로 다운받았다. 이후 톰캣을 다운받고 Dynamic Web Project를 생성했는데, 이때부터 문제였던 것 같다. 나는 주로 새로운 파일을 별도의 디렉토리에 저장하는 편이라 톰캣.. 2023. 5. 26.
성낙현의 JSP 자바 웹 프로그래밍 출처 성낙현의 JSP 자바 웹 프로그래밍 카테고리에 있는 모든 글들은 성낙현 교수님의 『성낙현의 JSP 자바 웹 프로그래밍』 (GOLDEN RABBIT)에서 정리·요약 및 간접인용한 내용임을 밝힙니다. 2023. 5. 25.