전체 글287 Git 으로 로컬 저장소에 프로젝트 업로드 및 되돌리기 [ Git Bash ] 리눅스 기반의 명령어 수행을 위한 콘솔 프로그램 리눅스 쉘(shell)과 같음 (MAC에서도 리눅스 쉘 기반으로 사용함) 윈도우 명령어 기반의 Git CMD도 제공되긴 하지만 대부분 Bash를 사용하기 때문에 정보가 많습니다. 아래와 같이 생긴 콘솔(쉘)입니다. [사용자]@[컴퓨터이름] [Bash이름] ~ [현재위치] [ 기본 명령어 ] cd : 폴더 이동 mkdir : 폴더 생성 touch 파일이름 : 파일 생성 (빈 파일 생성) ls : 현재 위치의 파일 및 폴더 보기 clear : 콘솔 창의 내용을 클리어해줌 git status : 현재 저장소 현황 보기 [Shift + Insert] : 붙여넣기 (Ctrl + v 안됨) [ Git 사용자 등록 ] 이메일 등록 : git co.. ▸인프라/Git & Github 2020. 2. 24. Git과 Github(깃허브)의 차이 [ Git ] 로컬에서 관리되는 버전 관리 시스템 (VCS : Version Control System) 소스코드 수정에 따른 버전을 관리해주는 시스템 [ Github ] 클라우드 방식으로 관리되는 버전 관리 시스템(VCS) 자체 구축이 아닌 빌려쓰는 클라우드 개념 오픈소스는 일정 부분 무료로 저장 가능, 아닐 경우 유료 사용 간단히 Git은 로컬에서 버전 관리 시스템을 운영하는 방식이고 Github는 저장소를 깃허브에서 제공해주는 클라우드 서버를 이용한다는 것의 차이입니다. 따라서 다른 사람들과 협업할 경우, 오픈소스를 공유하고 다른 사람들의 의견을 듣고 싶은 경우 등은 Github를 써서 편리하게 기능을 사용할 수 있습니다. 만약 혼자 작업하거나 폐쇄적인 범위 내에서의 협업이라면 Git만 사용해도 무.. ▸인프라/Git & Github 2020. 2. 24. MCV 패턴의 자동 로그인, 회원가입 만들기 [3/3] JSP와 서블릿을 이용한 간단한 로그인, 자동로그인 및 회원가입, 회원 정보조회 기능이 있는 웹페이지 만들기입니다. 이번글은 Command를 구현하는 클래스들에 대한 코드입니다. 뷰와 컨트롤러, DAO, DTO는 이전글들을 참조 부탁드립니다. [· JSP & Servlet/- 기본 문법] - MCV 패턴의 자동 로그인, 회원가입 만들기 [1/3] [· JSP & Servlet/- 기본 문법] - MCV 패턴의 자동 로그인, 회원가입 만들기 [2/3] 전체 코드는 깃허브에 올려놨습니다. 게시판 로직을 추가할 예정이라 commit 코멘트가 "First commit"인 부분으로 되돌리면 현재 코드로 돌아옵니다. https://github.com/codevang/hssweb.git [ Ctrl.Commad.ja.. ▸JSP & Servlet/기본 문법 2020. 2. 24. MCV 패턴의 자동 로그인, 회원가입 만들기 [2/3] JSP와 서블릿을 이용한 간단한 로그인, 자동로그인 및 회원가입, 회원 정보조회 기능이 있는 웹페이지 만들기입니다. 이번글은 DAO, DTO에 대한 코드입니다. 뷰와 컨트롤러는 이전글을, Command 역할의 클스는 다음글을 참조 부탁드립니다. [· JSP & Servlet/- 기본 문법] - MCV 패턴의 자동 로그인, 회원가입 만들기 [1/3] [· JSP & Servlet/- 기본 문법] - MCV 패턴의 자동 로그인, 회원가입 만들기 [3/3] 전체 코드는 깃허브에 올려놨습니다. 게시판 로직을 추가할 예정이라 commit 코멘트가 "First commit"인 부분으로 되돌리면 현재 코드로 돌아옵니다. https://github.com/codevang/hssweb.git [ db.userInfoDT.. ▸JSP & Servlet/기본 문법 2020. 2. 24. MCV 패턴의 자동 로그인, 회원가입 만들기 [1/3] JSP와 서블릿을 이용한 간단한 로그인, 자동로그인 및 회원가입, 회원 정보조회 기능이 있는 웹페이지 만들기입니다. 컨트롤러와 뷰에 대한 코드입니다. DAO, DTO와 Command 역할의 클래스들은 다음글들을 참조하시면 됩니다. [· JSP & Servlet/- 기본 문법] - MCV 패턴의 자동 로그인, 회원가입 만들기 [2/3] [· JSP & Servlet/- 기본 문법] - MCV 패턴의 자동 로그인, 회원가입 만들기 [3/3] 전체 코드는 깃허브에 올려놨습니다. 게시판 로직을 추가할 예정이라 commit 코멘트가 "First commit"인 부분으로 되돌리면 현재 코드로 돌아옵니다. https://github.com/codevang/hssweb.git [ /layout/headLayout.js.. ▸JSP & Servlet/기본 문법 2020. 2. 24. 쿠키 이용 시 유의 사항 (자동로그인 로직 구현 등) 실제로 자동 로그인을 구현하는 과정에서 문제가 생겨서 꽤나 헤맸습니다. 간단히 같은 루트 내에 뷰(JSP)파일들을 다 넣고 해보면 별로 느끼지 못할 수 있는데 실제로 패키지 및 폴더 구조를 복잡하게 구성해보면 쿠키 사용에서 생각지 못한 문제가 발생했습니다. 쿠키의 기본 개념과 사용법은 아래 링크에서 보시면 됩니다. 2020/02/18 - [· JSP & Servlet/- 기본 문법] - 쿠키(Cookie) 로그인 페이지에서 로그인을 할 때 자동로그인을 체크하면 쿠키를 생성하고, 메인화면에서 계속 쿠키 또는 세션을 확인하다가 로그아웃 버튼을 누르면 쿠키를 찾아서 제거해주는 간단한 로직입니다. 문제는 쿠키의 '저장 위치'에서 나왔습니다. 대략 로그인은 아래 로직과 같습니다. 로그인 정보를 담아서 전달해주는 .. ▸JSP & Servlet/기본 문법 2020. 2. 23. sendRedirect 작동 방식 및 예외 처리에서의 사용 response 객체에서 제공하는 sendRedirect() 메소드는 응답 객체가 가진 헤더 정보에 클라이언트가 다음번에 어디로 갈지를 지정해주는 것이지 포워딩처럼 제어 흐름을 다른 곳으로 넘기는 방식이 아닙니다. 따라서 sendRedirect() 메소드가 실행된 이후의 코드 또한 계속 실행시키게 됩니다. 아래 코드를 한 번 보겠습니다. 리다이렉트 실행 후 일반적인 텍스트를 출력할 때는 아무 이상이 없습니다. 텍스트는 실제로 출력되지만 사용자가 인지하기도 전에 다른 페이지로 넘어가기 때문입니다. 출력출력 하지만 아래와 같이 입력받은 값으로 뭔가 로직을 수행하는데 null 값이 될 경우 리다이렉트가 돼 있더라도 예외가 발생하게 됩니다. sendRedirect() 에서 클라이언트가 이동할 페이지 정보를 re.. ▸JSP & Servlet/기본 문법 2020. 2. 23. 메소드 내 예외처리(try-catch-finally)에서의 리턴 처리 1. try 구문 내에서 리턴에 도달했을 경우 try 내에서 리턴에 정상적으로 도달하였으므로, 리턴시킬 값을 임시 저장한 뒤 바로 finally 문을 최종 실행시키고 메소드를 종료합니다. 실제 리턴은 finally문이 종료된 이후에 실행됩니다. 이경우에는 try-catch-finally 이후에 지정된 리턴문이 있어도 무시됩니다. 2. try 구문 내에서 return에 도달하지 못하고 예외 발생했을 경우 이경우에는 catch-finally문이 작동한 뒤, 이후 코드를 계속 실행해 나가다가 리턴값을 만나면 리턴해줍니다. 따라서 예외 발생 시에 리턴시킬 값을 지정할 때는 try-catch-finally문 바깥에 리턴문을 작성해주면 됩니다. finally안에서 리턴시키는 것은 경고가 뜨는데, 이는 만약 try문.. ▸JAVA/기본 문법 2020. 2. 23. URL 매핑_'/' 와 '/*' 의 차이점 MVC 패턴의 구조를 짜기 위해 해당 개념을 이해해야 할 것 같습니다. [ / ] 직접 URL 매핑을 한 경우를 제외하고 모두 / 로 매핑된 서블릿(또는 JSP)에서 나머지 모든 요청을 받겠다는 의미입니다. 이 방식으로 URL 매핑된 서블릿을 디폴트 서블릿이라고 합니다. 디폴트 서블릿을 지정하더라도 JSP 파일의 경우 해당 파일로 바로 접속이 됩니다. 그 이유는 JSP가 'web.xml' 파일에서 자동으로 URL 매핑이 되어 있기 때문입니다. 'web.xml'에서 찾아보면 아래 코드에서 이미 jsp와 jspx 확장자에 대한 매핑을 해주고 있는 것을 볼 수 있습니다. 따라서 사용자가 JSP를 제외한 어떤 URL(정확히는 URI)주소로 입력을 하건간에 모두 디폴트 페이지로 가게 되지만, JSP 파일 위치를 .. ▸JSP & Servlet/기본 문법 2020. 2. 22. 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. 이전 1 ··· 6 7 8 9 10 11 12 ··· 20 다음 💲 추천 글 반응형