본문 바로가기

CLASS123

#2-4 / double form 👀 한 페이지에 form 두가지 형태로 구성되었을 경우 1.각 form 안에 input type hidden으로 넣어 구분하는 방법(파라미터 x) 2. action에 파라미터값을 이용하여 구분하는 방법 (get + post 방식)action="./userinfo.do?part=1"action="./userinfo.do?part=2" => java에 doGet,doPost 둘다 사용 (Service) Service doGet,doPost 모두 통신ㅇ르 받을 수 있는 전용 메소드 Front에서 form과 action에 모두 값을 적용하여 보낼 경우 get,post 모두 필요하므로 해당 상황에 활용단, 한글이 깨질 수 있으므로 encoding 필수  3. action에 각각의 다른java 파일을 별도로 분리.. 2024. 5. 29.
#2-3 / html 태그별 데이터 전송 ⚡ select, date, color 통신사 : 통신사를 선택하세요 SKT KT LGT 알뜰폰 예약 일자 및 시간 : 색상 선택 :  public class htmlcode_ok extends HttpServlet { private static final long serialVersionUID = 1L; protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { response.setContentType("text/html;charset=utf-8"); request.se.. 2024. 5. 29.
#2-2 / 검색에 따른 get 전송방식 ⚡ get방식- 2가지 방식!form에 method에 get 입력 후 전송하는 방식form 전송 없이 location.href - 파라미터명,data값 이용하여 전송 검색어를 입력하세요 : --> 검색어를 입력하세요 :  public class searchok extends HttpServlet { private static final long serialVersionUID = 1L; PrintWriter pw = null; protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { response.setContentType("te.. 2024. 5. 29.
#2-1 / checkbox 및 라디오 핸들링 ❗ checkbox 는 기본적으로 value값을 적용하게 되어있음해당 값이 없을 경우 - null로 적용되며 해당 파라미터를 처음부터 변수선언 시 조건문에 error가 발생함또한 equals라는 메소드 사용면 문제 발생함=> 체크박스(checked 안되어있고) 체크 안할시 null값 들어옴 - 핸들링 불가 (checkbox만 !)     프론트에서 아무리 input type checkbox value값을 변경해줘도 체크가 되어잇지 않으면 뭐가됐는 걍 null로 들어옴      equals 도 절대 X ❗ radio 처리방식 : 무조건 데이터가 전송됨 (on / off 형태로 출력 - 중복 name값 사용하므로 value 무조건 사용)   - intert() 사용시 연산기호 가능 ⚡ checkbox 자.. 2024. 5. 29.
#1-2 / Front form태그 + servlet ✅ servlet -  데이터를 주고 받는 방식user 사용자가 url 입력🔽web Abache web.xml🔽html or jsp or .do 사용자가 정보 입력🔽form or afjax (with front)1. Form or ajax 데이터 전송 방식2. Post,Get,Put,Delete,...  3. name값 통일화 or 파라미터명 조율4. javascript 전송🔽web.xml 작동🔽java 핸들링(Servlet + Class + Abascact...등)  ◀-▶  Database🔽결과출력  doPost : 프론트에서 request로 날라옴 (문자로)⚡ html + javaweb.xml.html 명칭과는 무관 /프론트가 html- form action에 url-pattern만 잘 .. 2024. 5. 28.
#1-1 / Servlet start,setting JAVA -> OOP -> I/O -> Network -> Network(Servlet) Network(Servlet)에디터에 Java Web Develper가 있어야 돌아감  👀 servlet sts setting (기존 workspace가 잇엇다면 new workspace 변경) 1. preferences 세팅encoding 먼저 변경 - content types 의 text 안에있는거 싹다 바꿔줘야함intall/update updates - Autometic updates 체크박스 해제java copiler,installed jres 버전 맞추기  2. 서버 생성Apache Tomcat v8.5 , jre jdk-11 3. dinamic web project 생성target rundime :  A.. 2024. 5. 28.
#18-2 / Thread를 이용한 멀티 서버 ⚡ TCP 멀티서버public class multi_server { public static void main(String[] args) { new server_port(); }}//멀티 포트 설정class server_port { /* -싱글포트로 한다면? int port = 9001; server_open so = new server_open(port); //배열의 포트번호 so.start(); */ /*멀티포트*/ public server_port() { int port[] = {9001,9002,9003}; //원시배열 사용 - 해당 포트를 다 열어버리겠다 int w=0; while(w ⚡ Thread를 이용한 clientpublic class.. 2024. 5. 27.
#18-1 / 서버 - UDP UDP : 내부 포트 UDP와 TCP는 따로 놈❗ 서버 관련 변수는 모두 private 으로 선언 하는게 좋음 : 중간에 채갈 수 있음 ex) UDP Server(UDP 5000) Client(UDP 5000) -> 그다음 접속자는 UDP 5001, UDP 5002.... (가상포트)만약 client가 UDP 5000번을 이미 사용하고 있는경우 접속이 되지 않음- 포트 하나개로 여러개를 사용 할 수있음- 한개의 포트를 열어서 여러개의 가상포트와 통신을 할 수 있는 구조- 보안상 연결을 체크 할 수 있음- 자신의 포트가 열려있는지 아닌지를 체크해서 서버로 넘겨야함(보안 good)- 가상포트는 자동생성- 역추적 가능- packet 필요 TCP ( https://dev-eunse.tistory.com/94 .. 2024. 5. 27.
#17 / remind3 ⚡ abstract/* [응용문제 1] 추상클래스 응용 - ex_ab.java 해당 프로세서를 실행시 현재 날짜와 시간이 출력되는 코드를 작성하시오. 단, 해당 날짜와 시간은 abstract에서 return 받아서 출력되도록 합니다. 결과 : 2024-05-24 09:45:22 */public class exam20 { public static void main(String[] args) { new ex20_box(); }}class ex20_box extends ex_ab{ public ex20_box() { System.out.println(this.ex20_abs("yyyy-MM-dd hh:mm:ss")); System.out.println(this.ex20_abs("yyyy-MM-dd"));.. 2024. 5. 24.
#16-2 / 서버 - TCP 해당 기능 제작시 무조건 서버 먼저 제작 -> 클라이언트 제작해야함 1. s : 내 서버 구축(port번호 정해서 socket open -> cmd로 열렸나 확인)2. c :  client에서 접근 : Socket sk = new Socket(ip,port);3. c : OutputStream os = sk.getOutputStream : 클라이언트 -> 서버로 전송하는 역할 4. s : InputStream is = sk.getInputStream : 클라이언트에서 적용된 메세지를 받는 역할   ⚡ 네트워크 url 정보 현황해당 페이지 크롤링 되어서 html파일 생성public static void main(String[] args) { String url = "https://nain.co.. 2024. 5. 23.
#16-1 / network 🔥 [ 알아야함 ]ip or 도메인주소Port 정보 포트 중복사용 불가 - 단, TCP와 UDP가 구분될 경우 가능(cmd로 열려있는지 닫혀있는지 확인 netstat -an)TCP : 외부 연결 프로토콜 (전송속도 빠름)UDP : 내부 연결 프로토콜 (전송속도 느리나 1:1일 경우 TCP보다 빠름)[ network ]예외처리 필수Inet4Address,Inet6Address : ipv4,ipv6 ( InetAddress : 부모 , 무조건 엄마먼저 써야함) -> new 안씀⚡ ip 확인//getByName : 접속할 도메인 또는 ip 주소명 출력 InetAddress ia = Inet4Address.getByName("localhost");System.out.println(ia); //localhost/12.. 2024. 5. 23.
#15-3 / csv 데이터 저장 ❗ csv 파일은 UTF-8 언어셋을 사용하지 않음 : EUC-KR로 변환 필요   txt 파일 문서파일 외에 한글 깨짐이 발생할 경우 FileWriter(파일경로,언어셋,이어쓰기여부)❗ csv 특성  : , 로 구분함 ⚡ csv 데이터 추가//csv 데이터 저장public class file20 { public static void main(String[] args) { new file_csv("member.csv"); //,쉼표 형태 csv여야 함 }}//writer로 csv파일에 사용자 추가class file_csv{ String file_src = ""; //파일 위치 및 파일명 File f = null; FileWriter fw = null; BufferedWriter bw = null; p.. 2024. 5. 22.
#15-2 / StreamWriter,StreamReader Stream의 기본은 byte , Reader의 기본은 stringread를 사용하면 buffered에는 1개 loss데이터 발생⚡ InputStreamReader  InputStreamReader : Stream + Reader,변환 가능한 라이브러리public static void main(String[] args) { try { //InputStreamReader : Stream + Reader,변환 가능한 라이브러리 System.out.println("입력값 : "); InputStreamReader isr = new InputStreamReader(System.in); //int data = isr.read();//read를 사용하면 buf.. 2024. 5. 22.
#15-1 / 이미지(binary) * 이미지(binary) - stream으로만 가능 * stream 사용시 유의사항  1. byte[] 변환 필요 2. InputStream 사용시 read 필수   3. write를 이용할 경우 flush 사용하면 에러가 적다 : 한번 초기화해줌⚡ 이미지 복사-반복문 없이 처리public static void main(String[] args) { try { String img = "D:\\webpage\\agree\\src\\main\\java\\io\\img.jpg"; //원본이미지 FileInputStream fs = new FileInputStream(img); //파일을 로드 byte[] by = new byte[fs.available()]; //이미.. 2024. 5. 22.
#14-3 / Stream 활용법 Reader ,Writer,File -> ASCII 전용 Stream -> 바이너리(이미지 , 동영상, 오디오, pdf,zip 등..) Stream은 byte단위로 변환 후 집어넣어야 함! byte[] data = ag.getBytes();  InputStream(입력) 부모 - 하위: FileInputStream , AudioInputStream, ObjectInputStream..등 자식 OutputStream(출력) 부모 - 하위: FileOutputStream..등 자식 ⚡ FileInputStream FileInputStream : io - buffer 필수대상 파일을 로드 한 후 해당 내용을 byte로 변환하여 결과 출력 (입력 X) - 걍 출력만 함available() : 파일 용량 (byt.. 2024. 5. 21.
#14-2 / nio ⚡ Files(nio 형태) 이용한 파일 내용을 배열에 저장 File : io  / Files : nio(Buffer 장착)   => (https://dev-eunse.tistory.com/3) 참고io,nio 둘중 하나만 사용 ! - 알아서 선택Files : new 작성할필요 x - 어차피 메모리에 저장되기때문에- nio 방식 public static void main(String[] args) { String url = "D:\\webpage\\agree\\src\\main\\java\\io\\agree.txt"; try { //List interface 구성 형태로 nio 배열 저장 List data = new ArrayList(); //List로만 사용 가능 .. 2024. 5. 21.
#14-1 / FileReader => Buffer Buffer : 메모리를 활용하여 데이터를 출력 또는 입력(temp : 임시저장소)buffer는 기억하는애FileReader fr = new FileReader(url);System.out.println((char)fr.read());//파일을 읽을때 해당 방식은 텍스트 파일의 한글자만 출력됨..▶  이걸 개선한게 Buffer ⚡ BufferFileReader fr = new FileReader(url);BufferedReaderbr = new BufferedReader(fr); ( 이걸 맞춰주면 에러날일 X  , buffer가 먼저 나올 순 없음)👀주의- reader(or write) 선언 후 buffer 선언- Buffer는 임시 저장된 공간의 데이터이므로 read 또는 readLine() 사용시 .. 2024. 5. 21.
#13-4 / I/O 🔥 👀 선생님 전체 정리 내용https://dev-eunse.tistory.com/99 👀 내가 해본 전체 정리 내용https://dev-eunse.tistory.com/92 I/O : input/output input - 키보드,마우스,Hdd,File ..등output - 모니터,프린터.. 등 java.io > java.nio 👀I/O는 무조건 예외처리를 사용해야한다  - 넣지 않으면 작동불능!load할 파일명과 경로가 올바른 상황이면 try/그 반대 상황은 catch 🔽 파일 첨부 기능 제작시 주로 사용public static void main(String[] args) { try {//io는 예외처리 필수 //해당 로드할 파일 properties -> 경로 입력 //서버에 올라가있으.. 2024. 5. 20.
#13-3 / Map클래스배열(Key배열) ArrayList,LinkedList는 key배열 아님Map => key : 데이터값, valueMap-가장 큰단위 , 그 안에 자식 Hashmap,Hashtable,TreeMap (List와 같다고 생각하면 됨)Interface임 ( ArrayList,LinkedList  얘네는 class) - List처럼 엄마만 Interface,하위는 class 👀{product=모니터} 이런 형식으로 출력됨int사용 불가 - Integer사용 (List와 동일)중복된 key 사용 불가 Hashmap -> ArrayList -> LinkdedList 로 변환해서 프론트에게 전달! (실무에선 이렇게 사용함) 👀Hashtable : 데이터 병렬처리 및 ThreadHashMap : 단일 처리 및 Single Thre.. 2024. 5. 20.
#13-2 / Thread ✅ 웹개발자는 스레드 다룰 일이 크게 없다-> web 개발자가 유일하게 스레드를 활용 하는 경우 : API Server    Javascript에서 멀티 스레드(많이 써봣자 4개) : web worker을 쓰게 되면 멀티 스레드를 사용하게됨⚡ 단일스레드(기존 알던방식)단일스레드 : 순차적으로 실행되기 때문에 위에서 에러나면 아래도 실행안됨public static void main(String[] args) { th1_box th = new th1_box(); th.aaa(); th.bbb(); //대기 int w=0; do { th1_box thb = new th1_box(); thb.ccc(w); //애두 단일스레드 w++; }wh.. 2024. 5. 20.