27살 비전공자로 개발자 공부를 시작한지 4개월이 지났다. 처음 꿈을 갖게된 것은 작년 말이고 그때부터 학원을 알아봤으나 다니기 시작했던 건 2021년 5월이었다. 그런데 그때는 내가 제대로 알아보지 못한 것도 있고 굳이 강남권 학원을 가지 않아도 된다는 생각이었다. 그래서 집 근처에 있는 학원을 다녔는데 4개월 과정을 마치고 나니까 이 학원은 국비 과정이 아닌 직장인 대상 입문반이라 팀플이나 포폴 같은 결과물이 따로 없었다. 그래서 정말 많은 고민 끝에 취업을 조금 미루고 체계적인 국비 교육을 1번 더 들으면서 경험을 쌓아보기로 했다. 같은 내용을 또 듣는 것이지만 복습한다고 생각하고 여기서 열심히 공부해서 팀프로젝트나 과제도 열심히 하고 취업을 위한 결과물을 열심히 만들어보려고 한다. 어쩌다 보니 6..
EL(Expression Language) - JSP의 표현식 을 대체 - 표현식보다 간단한 방법으로 특정 데이터의 값을 웹 페이지에 출력할 수 있게 해준다. - EL이 없어도 JSP 프로그래밍이 불가능한 것은 아니다. - 하지만 JSP의 표현식에 비해 간결한 코드 사용이 가능하고 효율적이기 때문에 자주 사용되는 방식이다. 사용법 : ${식} 위의 예제는 EL을 사용하지 않았고 아래는 EL을 사용한 예제이다. EL을 사용하면 null이 생략되고 []만 출력되는 차이가 있다. EL 문법 page->request->session->application EL에서는 출력을 위한 데이터를 지칭하기 위해 데이터 이름을 사용할 수 있는데 동일한 데이터의 이름이 여러 내장객체에 존재할 경우 데이터의 이름은 사용 범위가..
JDBC 프로그래밍 작성 순서 JDBC 드라이버 로딩 -> 데이터베이스 연결 수립 -> 데이터베이스 관련 작업 수행 -> 데이터베이스 연결 종료 1. JDBC 드라이버 로딩 -데이터베이스 작업에 필요한 JDBC 드라이버 로딩 -Class.forName() 사용하여 JDBC 드라이버 로딩 2. 데이터베이스 연결 수립 -자바 애플리케이션을 데이터베이스에 연결 -JDBC URL과 접속 계정 정보를 지정하여 Connection 객체 생성 3. 데이터베이스 관련 작업 수행 -연결된 데이터베이스에 SQL 실행 -SQL 실행을 위한 Statement 객체 생성, SQL 실행 -SQL 실행 결과 사용 -ResultSet 객체를 통해 SQL 실행 결과 저장 후 사용 4. 데이터베이스 연결 종료 -자바 애플리케이션과 데이..
액션 태그 액션 태그는? JSP 페이지 내에서 사용할 수 있는 Java 기능을 어느 정도 대체해주는 별도의 태그이다. (HTML tag 아니다!!) 액션 태그 형태는 이렇게 이루어져 있다. 액션 태그 분류 1. 페이지 흐름 제어 (★★★★★) -forward : 페이지 포워딩 -include : 페이지 인클루드 -param : 파라미터 전송 2. 자바 빈 사용 (★★★★★) -useBean : 자바 빈 객체 생성 -setProperty : 자바 빈 변수값 저장 -getProperty : 자바 빈 멤버 변수값 불러오기 3. 애플릿/빈 객체 포함 (잘 안 쓴다.) -plugin : 자바 애플릿, 빈을 JSP 페이지 내에 포함 4. 스크립팅 요소 사용 (이게 더 편하기 때문에 잘 안 쓴다.) -scriptle..
HttpSession 웹 클라이언트 자원만 이용하는 쿠키와는 달리 세션 관리를 위한 정보를 웹 서버가 생성하고 보관하여 관리한다는 점에서 차이를 보인다. - HttpSession의 동작 1. 웹 클라이언트 최초 서비스 요청(접속) 2. 웹 컨테이너는 세션 아이디를 생성하여 부여 3. 생성된 세션 아이디는 웹 클라리언트와 웹 서버 양측 모두 임시 저장 4. 웹 클라이언트는 다시 서비스 요청(접속) 시 보유하고 있던 세션 아이디를 함께 전송 5. 웹 서버는 세션 아이디가 저장된 메모리를 검색하여 유효한 세션 아이디인지 구분 6. 웹 컨테이너에 보관된 세션 아이디는 유효 기간 만료 시 소멸, 웹 브라우저가 부여받은 세션 아이디를 전송해도 웹 컨테이너가 보유한 세션 아이디와 매칭되는 아이디가 없으므로 세션 종료..
쿠키(Cookie) URL Rewriting 방식, Hidden Field 방식처럼 매 페이지마다 서비스에 필요한 데이터를 처리하지 X, 웹 클라이언트 측 자원만을 사용하여 웹 서비스 요청 시 데이터를 첨부하여 전송. 쿠키 = 카페 스탬프 쿠폰!! 클라이언트가 만들고 싶으면 만들고 싫으면 안만들어도 된다. (카페 스탬프 쿠폰과 동일) 추가적인 서비스의 질적 향상, 나에게 최적화된 서비스를 더 받고 싶다면 만들어두는 게 유리. ★ -웹 서버가 제시해서 웹 클라이언트에 저장 -웹 서버는 쿠키를 따로 관리하지 않는다. (카페에서 쿠폰 관리 따로 X, 내 지갑에만 있음) -웹 클라이언트는 해당 쿠키를 만들어줄 서버에 요청을 보낼 때 이 쿠키를 첨부하여 요청을 전송 (다시 카페에 방문할 때 쿠폰을 들고 올 것이다..
HTTP 프로토콜 연결 방식 HTTP 프로토콜을 사용한 웹 클라이언트 & 웹 서버의 연결은 일회성 연결이다. ->웹 클라이언트로부터 전송되는 요청을 웹 서버에서 처리한 후 응답을 전달받는 순간 끊어지게 된다. ->사용자가(고객이) 누구인지 기억하지 않는다. (단골 가게에 자주 가도 단골 가게에서 나를 기억하지 않는다.) ->세션의 목표는 사용자가 누구인지를 기억하는 것!! ->로그인&로그아웃 URL Rewriting 웹 서버와 웹 클라이언트 연결 여부를 확인하기 위해 웹 페이지 이동 시 URL 주소에 세션 관련 정보를 추가하여 세션을 관리하는 방식. GET 방식을 이용 -> URL 길이에 제한이 있다. -> 보안성이 떨어진다. 예제 URLRewritingLogin.jsp 페이지 제작 URLRewritin..
JSP 에러 응답 상태 코드 : 웹 서버가 요청에 대한 응답을 전송할 때 HTTP 응답 메시지에 포함되는 요소, 현재 전송하려는 응답에 대응되는 요청의 처리 결과를 나타내는 코드. ->웹 클라이언트의 요청이 잘 처리되었는지, 어떤 문제가 발생했는지에 대한 내용을 의미하는 약속된 코드. -200(★★★★★) 요청이 정상적으로 처리됨. -301 URL이 옮겨짐 -307 임시로 리다이렉트됨 -400 잘못된 요청 -401 허용되지 않은 접근 -403 요청에 대한 수행 거절 -404(★) 요청한 페이지(파일)가 존재하지 않음 -405 허용되지 않은 메서드 -500(★) 서버 처리 오류 -503 서버 부하로 인해 요청에 대한 응답 불가 -> 400번 대 번호 : 요청이 잘못됨, 500번 대 번호 : 서버 문제(자바..