본문 바로가기

웹개발70

Lecture 37 - Java(16) UDP소켓프로그래밍, Enums(열거형), 제네릭스(Generics) UDP 소켓 프로그래밍 TCP소켓 프로그래밍에서는 Socket과 ServerSocket을 사용하지만, UDP소켓 프로그래밍에서는 DatagramSocket과 DatagramPacket을 사용한다. UDP는 연결지향적인 프로토콜이 아니기 때문에 ServerSocket이 필요하지 않다. UDP통신에서 사용하는 소켓은 DatagramSocket이며 데이터를 DatagramPacket에 담아서 전송한다. DatagramPacket은 헤더와 데이터로 구성되어 있으며, 헤더에는 DatagramPacket을 수신할 호스트의 정보(호스트의 주소와 포트)가 저장되어 있다. 소포(packet)에 수신할 상대편의 주소를 적어서 보내는 거소가 같다고 이해하면 된다. 그래서 DatagramPacket을 전송하면 Datagram.. 2023. 6. 20.
Lecture 36 - Java(15) 채팅프로그램 SearchZipcodeEx01.SearchZipcodeServerEx01 package SearchZipcodeEx01; import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.IOException; import java.io.InputStreamReader; import java.io.OutputStreamWriter; import java.io.UnsupportedEncodingException; import java.net.ServerSocket; import java.net.Socket; import java.sql.Connection; import java.sql.DriverManager; import java... 2023. 6. 20.
Lecture 35 - Java(14) URLEncode, Decode, JSON Library, socket, tcpserver, tcpclient URLEncodeEx01 - Encoding, Decoding import java.io.UnsupportedEncodingException; import java.net.URLDecoder; import java.net.URLEncoder; public class URLEncodeEx01 { public static void main(String[] args) { //String original = "[Java Solution : 홍길동]"; String original = "홍길동"; String encodeStr; String decodeStr; try { encodeStr = URLEncoder.encode(original, "utf-8"); decodeStr = URLDecoder.decode(.. 2023. 6. 20.
Lecture 33 - JSP(2) 우편번호검색, DatabaseMetadata, Callable SearchZipcode 동이름(2글자 이상의 부분) 입력받아서 => 우편번호 리스트 출력 select ~ from zipcode where dong like '입력%' import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Statement; import java.util.Scanner; public class SearchZipcode { public static void main(String[] args) { // 입력 한번만 // 1자 이하로 입력 에러 ... // 동만 ... 리 포함해서 검색 Scanner scan =.. 2023. 6. 20.
Lecture 32 - JSP(1) JDBC API 사용법(Java와 SQL 연동) Managed Language - 자바, C#, python Unmanaged Language - C, C++, asm managed의 뜻은 메모리 관리를 자동으로 하냐 직접 해주냐임 두 영역별 언어 1개씩은 할 줄 아는게 중요 JDBC JDBC 드라이버 가져오는 법 JDBC URL, 드라이브로딩, 커넥션 DML 처리 JDBCEx01 - 드라이버 로딩 법 public class JDBCEx01 { public static void main(String[] args) { // 드라이버 - 라이브러리 내의 클래스 try { Class.forName("oracle.jdbc.driver.OracleDriver"); System.out.println("드라이버 로딩 성공"); } catch (ClassNotFou.. 2023. 6. 20.
Lecture 30 - Java(11) File, InputStream, OutputStream, 보조스트림, FileReader, ZipCode 검색 FileEx01 continued import java.io.File; import java.io.IOException; public class FileEx01 { public static void main(String[] args) { // File 생성 // 파일이나 디렉토리 경로를 통해서 생성 // 파일이나 디렉토리가 반드시 존재하지 않아도 객체 생성 가능하다 File f1 = new File("c:\\Java");// windows File f2 = new File("c:/Java");// linux / mac File f3 = new File("c:/Java/test.txt");// 파일명 File f4 = new File("c:/Java", "test.txt");// 경로, 파일명 // 경로명.. 2023. 6. 20.
Lecture 29 - Java(10) ArrayList, LinkedList, HashSet, TreeSet, HashMap, File ArrayList 계속 ArrayListEx05 - 2차원 데이터를 저장 2차원 데이터를 저장(행과 열) = 테이블 2차원 배열 ArrayList 2개 : ArrayList안에 ArrayList를 넣는다 ArrayList + 클래스 1 홍길동 010-111-1111 20 서울시 2 박문수 010-222-2222 22 경기도 3 이몽룡 010-333-3333 23 강원도 위 데이터를 2차원 배열 넣고 싶은데 어떻게 하면 될까요? public class ArrayListEx05 { public static void main(String[] args) { // 2차원 데이터를 저장(행과 열) = 테이블 // 2차원 배열 // ArrayList 2개 : ArrayList안에 ArrayList를 넣는다 // Ar.. 2023. 6. 20.
Lecture 28 - Java(9) 로또발생기, StringTokenizer, StringJoiner, Scanner, Arraylist 1. 왜 자바를 써요? - 객체지향성 때문에요 2. 자바프로그램의 분류 - SE(core) / EE(Enterprise) / ME(망함) 3. JDK, JRE(JVM : Java Virtual Machine) - jdk(jdk + jre(jvm)) * jvm이 얼마나 빨라 질 것인가 -> chip ----------------------------------------------------------------------------------------------------------------------- 프로그램 개론(Ch.02~04) 데이터 처리(자료 구조) + 객체 -> 객체 선언 / 사용(Ch.6) -> 객체 지향 프로그램 기법(Ch.7) 은닉(캡슐화 : incapsulation) - 데이터 보.. 2023. 6. 20.