반응형

자바 20

자바 Servlet - 세션 이용 로그인/ 로그아웃 기능

세션(session) 세션은 쿠키와 달리 저장할 데이터를 서버에 저장 세션 시작(세선을 사용하기 위해 세션 정보 리턴) HttpSession session = request.getSesstion(); 세션 저장 session.setAttribute("이름", 값); 저장된 세션 데이터 가져오기 String id = (String)session.getAttribute("id"); 세션 삭제 session.removeAttribute("이름"); 세선 종료 session.invalidate(); 세션이용 로그인 기능 예제 loginAction.java(servlet 세션이용 예제) package com.knowhoon.web; import java.io.IOException; import javax.serv..

JAVA - Thread(스레드)

Thread(스레드) 하나의 프로세스 내부에서 독립적으로 실행되는 하나의 작업 단위 운영체제에 의해 관리되는 하나의 작업 혹은 태스크를 의미 스레드와 태스크(혹은 작업)는 바꾸어 사용해도 무관하다. JVM에 의해 하나의 프로세스가 발생하고 main( ) 안의 실행문들이 하나의 스레드 main( ) 이외의 또 다른 스레드를 만들려면 Thread 클래스를 상속하거나 Runnable 인터페이스를 구현 필요 스레드 생성 두 가지 방법 Thread 클래스를 상속받아 사용 Runnable 인터페이스를 사용 실행은 run()을 start()해서 사용 어떤 다른 클래스를 extends 해야 하는 상황인데 스레드로도 구현해야 할 때(자바에서 다중 상속은 지원 X) extends 할 부모 클래스도 스레드를 상속하고 있지 ..

자바_JSP 게시판 만들기(2) content, Login기능

게시판 content 출력 detail.jsp detail java -> db -> java - > jsp //DAO를 활용해서 보내기 //DAO에 detail(int) 이라는 메소드 만들어주기 //객체 생성해서 값 받아오기 BoardDAO dao = new BoardDAO(); BoardDTO dto = dao.detail(strInt); %> 전송된 bno = 1. getP~ = ?물음표 뒤에 오는 이름=값을 잡는다. detail.jsp?no=12 이름을 no, 값 12 여러개값이 동시에 올 때 dtail.jsp?no=12&num=100 제목 : () 리스트로 리스트로 login.jsp login LOGIN RESET LoginDTO.java package com.knowhoon.dto; //회원가입..

자바_JSP 게시판 만들기(1) DAO,DTO 분리

board.jsp board 번호 제목 글쓴이 날짜 조회수 DBConnection.java package com.knowhoon.web; import java.sql.Connection; import java.sql.DriverManager; public class DBConnection { public Connection dbConn() { Connection conn = null; try { Class.forName("org.mariadb.jdbc.Driver"); String url = "jdbc:mariadb://220.70.33.29:3306/knowhoon"; String id = "unknown"; String pw = "01234"; conn = DriverManager.getConnect..

MariaDB와 Java 연결하기

1. MariaDB 홈페이지 접속 - > Download 클릭 2. Connectors선택 3. Java 8 connector 선택 후 jar파일 다운로드 4. 이클립스 프로젝트 우클릭 -> Build Path -> Configure Build Path... 선택 5. Libraries탭 - > Classpath 선택 -> Add External JARs.. 선택 후 Java 8 connector 선택 후 jar파일 추가 6. mariadb-java-client-2.7.3.jar 파일 add 확인 후 Apply and Close 선택 7. Referenced Libraries 추가 확인 이클립스 자바에서 MariaDB 연결하기 import java.sql.Connection; import java.sql..

IDE/Eclipse 2021.06.17

자바 - 오버로딩(Overloading)과 오버라이딩(Overriding)

오버로딩(Overloading), 오버로드 오버로딩 = 동일한 이름의 함수(메소드)를 여러번 정의하고 사용 가능(파라미터의 수, 순서, 타입이 다르다.) 메소드는 클래스에서 특정기능을 담당하도록 설계되어있다. 컴파일러는 같은 메소드로 중복정의가 있는지 확인한다. 확인 기준 요소 메소드 이름 메소드 파라미터(다시 세가지로 구분) - 파라미터 갯수, 순서, 타입 파라미터 갯수, 순서, 타입 위 세가지 요소를 통칭하여 메소드 시그니처라고 한다. 만약 정의된 메소드 이름과 시그니처까지 같다면 같은 메소드로 인식 에러 발생 (만약 시그니처중 하나라도 틀리면 다른 메소드로 인식) 이렇게 같은 이름의 메소드를 시그니처만 다르게 해서 정의하는 것을 오버로딩(오버로드)라고한다. 호출시에는 반드시 호출하려는 메소드의 시그..

객체지향프로그래밍_OOP, 자바 파라미터에 클래스 전달

객체지향 프로그래밍 OOP 특징 캡슐화 = 보안 = 보호 관련된 데이터(필드)와 기능(메소드)가 하나의 묶음으로 관리 상속 이미 작성된 클래스(부모)를 이어받아서 새롭게 만드는 것 자식 클래스는 부모클래스의 모든 속성(필드)과 동작(메소드) 를 사용할 수 있다. 필요한 기능은 자식 클래스에서 추가해서 사용한다. 추상화 불필요한 것을 제외하고 필요한 것만 유지 실제 객체를 인스턴스화 할때 필요한 내용만 남기고 나머지는 제외하는 것 다형성 객체의 동작이 변경되는 것 파라미터나 상황에 따라 동작이 변경되는 것 자바 파라미터에 클래스 호출 예제 자바8부터 파라미터로 함수를 넣어줄 수가 있다. David 클래스 내에서 Sujan 클래스 내부 함수 호출 class David{ void ask(Sunja s) {//..

자바 배열을 복사하는 방법 (깊은 복사, 얕은 복사)

배열 복사하는 방식 얕은 복사, 깊은 복사 2가지 방식으로 구분 얕은 복사(shallow copy) 한 쪽에서 수정이 발생되면 다른쪽에도 영향을 끼쳐 같아지게 된다. 얕은 복사는 주소값을 복사하기 때문에 주소로 값을 참조하여 값이 변경되면 해당 값을 참조하고 있는 배열들의 값이 변경된다. 복사된 배열이나 원본 배열이 변경될 때 함께 변경(연산자는 얕은 복사 수행) int[] arr01 = {10, 20, 30}; int[] arr02 = new int[3]; arr02 = arr01; arr01[0] = 100; System.out.println(Arrays.toString(arr01));//[100, 20, 30] System.out.println(Arrays.toString(arr02));//[100..

데이터 포맷, 텍스트 포맷, 동적가변배열, 배열 복사

데이터 포맷 Date, Calendar import java.util.Calendar; import java.util.Date; import java.util.Scanner; public class DateFormat01 { public static void main(String[] args) { Date date = new Date(); System.out.println(date);//Mon May 31 09:43:24 KST 2021 Calendar cal = Calendar.getInstance(); System.out.println(cal); System.out.println(cal.get(Calendar.YEAR));//2021 System.out.println(cal.get(Calendar.M..

가~위 바위~ 보!

코딩도장 - 가~위 바위~ 보! package may31; import java.util.Arrays; import java.util.Scanner; public class Test01 { public static void main(String[] args) { Scanner sc = new Scanner(System.in); System.out.println("몇판 하시겠습니까?");//게임 횟수 int input = sc.nextInt(); int[] result = new int[3];// 승무패 횟수 카운트 char[] result2 = new char[input];//승 무 패 결과값 저장 for(int i = 0; i < input; i++) { int input2; do { System.ou..

반응형