분류 전체보기(137)
-
[Web] 서블릿 속성과 스코프
서블릿 속성은 ServletContext, HttpSession, HttpServletRequest 세 가지 서블릿 API 클래스에 저장되는 객체(정보)이다. 서블릿의 스코프는 서블릿 API에 바인딩된 속성에 대한 접근 범위를 의미한다. 스코프 종류해당 서블릿 API속성 스코프애플리케이션 스코프ServletContext애플리케이션 전체에 접근세션 스코프HttpServlet브라우저에만 접근리퀘스트 스코프HttpServletRequest해당 요청/응답 사이클에서만 접근 예제를 통해 이를 확인해볼 수 있다. setAttribute 메서드를 이용해서 각 속성을 바인딩하였다. @WebServlet("/set")public class SetAttribute extends HttpServlet{ @Override ..
2024.08.21 -
[Web] DataSource를 이용해 데이터베이스 연동하기
데이터베이스 연동은 시간이 많이 걸린다는 단점이 있다. 특히 매번 수많은 접속자들이 기능을 사용할 때마다 데이터베이스와 연동해야한다는 점에서 매우 비효율적이다. 그래서 데이터베이스와 연결시킨 상태를 유지하는 커넥션풀(ConnectionPool)을 이용한다. 어플리케이션이 실행되면 커넥션풀 객체를 생성하여 연결을 맺고, 이 객체를 이용해 작업을 한다. 커넥션풀 객체를 구현할 때에는 Javax.sql.DataSource 클래스를 이용한다. 톰캣이 만들어놓은 커넥션풀 객체에 접근할 때에는 JNDI(Java Naming and Directory Interface)를 이용한다. JNDI는 필요한 자원을 키/값 쌍으로 저장한 후 키를 이용해 값을 얻는 방법을 사용한다. 톰캣 DataSource 설정 및 사용법C..
2024.08.20 -
[Web] 데이터베이스 연동
오라클 데이터베이스 연동오라클 데이터베이스와 연동하기 위해서는 드라이버가 필요하다. 다음 경로에 설치한다. 클래스 생성VO는 데이터를 담은 객체이다. 데이터베이스와 직접 상호작용을 합니다. DAO는 데이터베이스와 직접 상호작용하는 객체이다. 아래는 DAO의 특성이다. 데이터베이스 연결 및 해제데이터 CRUD(Create, Read, Update, Delete) 작업 수행SQL 쿼리 실행 및 결과 반환 VO 예시)데이터에서 조회한 레코드의 컬럼 값을 속성에 저장해야하니 컬럼 이름과 동일한 자료형과 이름으로 소성을 선언하고 겟터, 셋터를 생성한다.public class MemberVO { private String id; private String pwd; private String name; priva..
2024.08.19 -
[MySQL] 제어흐름함수
IF(수식, 참, 거짓) 수식이 참 또는 거짓인지 결과에 따라서 2중 분기한다. SELECT IF (100>200, '참이다', '거짓이다'); IFNULL(수식1, 수식2)수식1이 NULL이 아니면 수식1이 반환되고, 수식1이 NULL이면 수식2가 반환된다. SELECT IFNULL(NULL, '널이군요'), IFNULL(100, '널이군요'); NULLIF(수식1, 수식2)수식1과 수식2가 같으면 NULL을 반환하고, 다르면 수식1을 반환한다. SELECT NULLIF(100, 100), NULLIF(200, 100);CASE ~ WHEN ~ ELSE ~ END다중 분기에 사용될 수 있다. CASE 뒤의 값을 WHEN 조건에 맞는지 확인하고 아니면 ELSE로 반환한다. END AS는 출력될 열의 별..
2024.08.19 -
[Web] encodeURL 사용
브라우저에서 쿠키 기능을 사용할 수 없게 설정했으면 encodeURL 메서드를 이용해야한다. \@WebServlet("/login")public class SessionTest5 extends HttpServlet{ @Override protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { doHandle(req, resp); } @Override protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { doHandle(re..
2024.08.19 -
[Web] 세션을 이용한 로그인 정보 바인딩하기
톰캣이 종료되어도 세션이 메모리에서 삭제되지 않는 경우가 있어서 다음과 같이 설정을 해주어야 한다. 주석을 해제한다. login2.html 파일을 작성한다. 아이디 : 비밀번호 : setAttribute() 메서드를 이용해 user_id로 사용자 ID를 바인딩하도록 구현한다. 톰캣을 껐다가 다시 키지 않는한 session이 저장된 user_id대로 로그인 정보가 남아있다. @WebServlet("/login")public class SessionTest4 extends HttpServlet{ @Override protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IO..
2024.08.19