반응형 JSP20 JSP, Oracle을 사용한 회원제 게시판(페이징 X) Preface 이번 장에선 JSP, Tomcat, Oracle, OracleDeveloper를 사용해 간단한 회원제 게시판을 구현해봤다. (Docker를 통해 다운로드한 oracle-xe-11g image를 터미널에서 사용하자 한글 인코딩 문제가 계속해서 발생하여 결국 OracleDeveloper를 사용했는데, UI가 구려도 너무 구리다. 최신 버전을 다운로드한 것 같은데 어쩜 이리 촌스러운지...) 구현 내용은 이전에 제작했던 php, MySQL을 사용한 게시판과 완전히 동일하여 다시 언급하지 않겠다. (php와 MySQL을 연동하는 방법이 JSP와 Oracle을 연동하는 방법보다 간단한 듯? 또, MySQL 책만 공부한 탓인지 두 RDBMS를 사용해본 결과 개인적으로 Oracle보단 MySQL이 사용.. 2023. 6. 16. 액션 태그(Action Tag) Preface 이번 장에선 액션 태그의 사용 방법을 공부했다. 지금껏 JSP 코드는 다른 언어들에 비해 굉장히 지저분하다고 생각했었는데, 액션 태그를 사용하니 직관성과 가독성이 조금은 좋아진 것 같다. 대부분 이전 장에서 다뤘던 내용들이라 특별히 어렵고 헷갈리는 부분은 없었다. 또, 월요일 기말고사를 끝으로 이번 학기를 모두 마쳤다. 별다른 문제가 없다면 8월에 졸업할 예정이다. 1. 액션 태그란? - 액션 태그(Action Tag): JSP의 표준 태그로, 페이지 사이에서 이동을 제어하거나 자바빈을 생성할 때 주로 사용 1) 특별한 선언 없이 형태로 사용한다. 2) 웹 브라우저에서 소스 보기를 해도 보이지 않는다. - 액션 태그의 특징 1) XML 문법을 따른다. 2) 반드시 종료 태그를 사용해야 한다.. 2023. 6. 13. 세션(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. 쿠키(Cookie) Preface 이번 장에선 쿠키를 생성하고 사용하는 방법을 공부했다. 나는 지금껏 서버에서 자체적으로 쿠키를 생성하여 저장한 후 클라이언트에 따라 정보를 제공하는 것으로 알고 있었다. 서버는 클라이언트의 요청에 따라 쿠키를 생성하며, 클라이언트가 재접속하여 HTTP 요청 헤더를 통해 쿠키 정보를 제공하지 않으면 서버에서 쿠키를 읽을 수 없다는 것이 이번 장의 키 포인트인 것 같다. 1. 쿠키란? - 쿠키(Cookie): 클라이언트의 상태 정보를 유지하기 위한 기술 → 상태 정보를 클라이언트에 키와 값 형태로 저장했다가 다음 요청 시 저장된 쿠키를 함께 전송한다. - 쿠키 표준 1) 3000개까지 만들 수 있다. 2) 쿠키 하나의 최대 크기는 4096바이트이다. 3) 하나의 호스트나 도메인에서 최대 50개.. 2023. 6. 4. 내장 객체의 영역(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. 이전 1 2 다음