Iterator 인터페이스 자바의 컬렉션 프레임워크는 컬렉션에 저장된 요소를 읽어오는 방법을 Iterator 인터페이스로 표준화하고 있다. Collection 인터페이스를 상속받은 List와 Set 인터페이스에서 iterator() 메소드를 사용할 수 있다. Iterator 인터페이스 메소드 boolean hasNext() : 해당 iteration이 다음 요소를 가지고 있으면 true를 반환하고, 더 이상 다음 요소를 가지고 있지 않으면 false를 반환한다. E next() : iteration의 다음 요소를 반환한다. default void remove() : 해당 iterator로 반환되는 요소를 현재 컬렉션에서 제거한다. ArrayList arrList = new ArrayList(); arrL..
Arrays 주요 메소드 Arrays.asList(array) : List 타입으로 변환 Arrays.equals(array1, array2) : 두 배열이 일치하는지 검사 Arrays.sort(array) : arr을 오름차순으로 정렬 String[] arr1 = {"A", "B", "C"}; String[] arr2 = {"D", "E", "F"}; System.out.println(Arrays.toString(arr1));//[A, B, C] //Arrays.asList(array) List arrlist = Arrays.asList(arr1); System.out.println(arrlist);//[A, B, C] //Arrays.equals(array1, array2) System.out.pri..
1. pom.xml에서 JDK와 Servlet의 버전을 각각 1.8과 3.1.0으로 변경 후 저장한 다음 "프로젝트 우클릭 → Maven → Update Project..." UTF-8 1.8 1.8 javax.servlet javax.servlet-api 3.1.0 provided 2. web.xml에 DTD를 3.1로 변경한다. Archetype Created Web Application index.html index.jsp 3. 이클립스 Navigator 뷰에서 프로젝트/.settings/org.elclipse.wst.common.project.facet.core.xml 파일을 수정한다. 4. 이클립스 restart
try - with - resources문 자바7 버전에서 추가됨. 입출력 처리시 예외가 발생하는 경우 JVM이 자동으로 close()를 호출하여 자원을 반납시켜준다. try - catch문을 이용한 예외 처리 public List getRoles(){ List list = new ArrayList(); Connection conn = null; PreparedStatement ps = null; ResultSet rs = null; try { Class.forName("org.mariadb.jdbc.Driver"); conn = DriverManager.getConnection(dburl, dbUser, dbPasswd); String sql = "SELECT description, role_id FR..
JDBC(Java Database Connectivity) 자바 프로그램 내에서 SQL문을 실행하기 위한 자바 API pom.xml에 JDBC 의존성 추가 org.mariadb.jdbc mariadb-java-client 2.7.0 JDBC 사용 설명 package kr.or.connect.jdbcexam.dao; // 1. import java.sql.* import java.sql.Connection; import java.sql.DriverManager; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; import java.util.ArrayList; import java.util.L..
Maven 자바용 프로젝트 관리 도구. 이 외에 Ant, Gradle이 있음. 설정 파일에서 의존성 라이브러리를 관리함으로써 직접 다운로드하지 않아도 라이브러리를 사용할 수 있다. 이클립스에 내장된 Maven을 이용해 프로젝트를 생성할 수 있다. 파일구조 project home ㄴsrc ㄴmain ㄴjava : 자바 패키지 폴더와 소스 코드가 위치함. ㄴresources : *.properties, *.xml 등 설정파일들이 위치함. ㄴwebapp : WEB-INF와 웹 관련 리소스(html, jsp)들이 위치함. ㄴtest ㄴjava : 테스트와 관련된 자바 패키지와 소스코드가 위치함. ㄴresources : 테스트와 관련된 설정파일이 위치함. ㄴtarget : 컴파일, 패키징된 결과물이 위치함. ㄴp..
redirect 서버는 클라이언트의 요청에 대해 특정 URL로 이동을 요청하는 것. 웹브라우저 -> 서버 -> 302코드, location값 -> 웹브라우저 -> location값으로 재요청 -> 웹브라우저 브라우저의 주소창은 새 URL로 바뀐다. 예) 게시글 작성 버튼 클릭시 서버에 글 작성 요청 후 글 목록으로 이동하는 경우 소스코드 redirect01.jsp redirect02.jsp redirect된 페이지 입니다. 결과 forward 웹브라우저에서 Servlet1에게 요청 Servlet1은 요청을 처리한 후, 그 결과를 HttpServletRequest에 저장 Servlet1은 결과가 저장된 HttpServletRequest와 응답을 위한 HttpServletResponse를 같은 웹 어플리케이..
JSP JSP는 JSP 자체가 동작하는 것이 아니라 모든 JSP는 서블릿으로 바뀌어서 동작한다. WAS가 지시문의 명령을 받는다. 문법 // 지시문 // import // 선언문; 전역변수 선언 및 메소드 선언에 사용 // scriptlet; 자바코드를 입력할 수 있는 부분 Servlet(Java 파일) Servlet 코드를 컴파일해서 실행가능한 bytecode로 변환한다. -Servlet(Java 파일) -> class class를 로딩하고 인스턴스를 생성한다. servlet이 실행되어 요청을 처리하고 응답 정보를 생성한다. java, class 파일 생성 경로 workspace\.metadata\.plugins\org.eclipse.wst.server.core\tmp0\work\Catalina\loc..
서블릿 생명주기 WAS는 서블릿 요청을 받으면 해당 서블릿이 메모리에 있는지 확인한다. 메모리에 없다면, 해당 서블릿을 메모리에 올린다. init() 실행. 메모리에 있다면, service() 실행. WAS가 종료되거나, 웹 어플리케이션이 새롭게 갱신될 경우 destroy() 실행. 소스코드 package examples; import java.io.IOException; import java.io.PrintWriter; import javax.servlet.ServletConfig; import javax.servlet.ServletException; import javax.servlet.annotation.WebServlet; import javax.servlet.http.HttpServlet; im..