ALL Post 204

GET & POST

📚 자바 웹을 다루는 기술을 정리한 내용입니다. GET 방식 서블릿에 데이터를 전송할 때 데이터가 URL 뒤에 따라 붙는다. 여러 개의 데이터를 전송할 때는 '&'로 구분한다. 보안 취약 전송할 수 있는 데이터는 최대 255자 기본 전송 방식이며 사용이 쉽다. 웹 브라우저에 직접 입력해서 전송할 수도 있다. 서블릿에서는 doGet()으로 전송 받은 데이터를 처리한다. POST 방식 서블릿에 데이터를 전송할 때는 TCP/IP 프로토콜 데이터의 HEAD영역에 숨겨진 채 전송된다. 보안에 유리하다. 전송 데이터 용량이 무제한. 전송 시 서블릿에서 다시 가져오는 작업을 해야 하므로 속도가 GET보다 느리다. 서블릿에서는 doPost()를 이용해 처리한다. 아무튼 GET방식이든 POST방식이든. 어..

Servlet-JSP 2020.09.10

Request - Response

서블릿의 기본 기능 톰캣과 같은 Web Application Server(이하 WAS)가 처음 나왔을 때 웹 브라우저 요청을 쓰레드 방식으로 처리하는 기술이 서블릿이었다. 서블릿은 자바로 웹 프로그래밍을 하는 데 있어서 가장 기초가 되는 내용이다. 서블릿 기본 기능 수행 과정 클라이언트로 요청을 받는다. 데이터 베이스와 연동 하여 비즈니스 로직을 처리한다. 처리된 결과를 다시 클라이언트에게 돌려준다. HttpServletRequest & HttpServletReponse HttpServletRequest 요청을 돕기 위한 클래스 HttpServletResponse 응답을 돕기 위한 클래스 요청과 응답 login.html 아이디 : 비밀번호: 확인 LoginServlet.java package com.co..

Servlet-JSP 2020.09.10

Servlet

📚 자바 웹을 다루는 기술을 정리한 내용입니다. Servlet이란? 이전에 정적인 웹을 너머서 동적 웹 프로그래밍을 위한 자바 클래스다. 클라이언트 요청에 따라 서버에서 동적으로 서비스를 제공하는 클래스 서블릿은 일반적인 자바와 달리 톰캣과 같은 JSP/Servlet 컨테이너에서 실행된다. 서블릿의 동작 과정이다. 클라이언트가 요청하면 web server는 WAS에 위임한다. WAS는 각 요청에 해당하는 서블릿을 실행한 다음 결과를 반환하여 클라이언트에게 전송한다. 특징 서버 쪽에서 실행되면서 기능 수행 정적 웹 문제를 보완하여 동적 기능 제공 쓰레드 방식으로 실행 컨테이너에서 실행 Servlet API 계층 구조 두 인터페이스 Servlet, ServletConfig를 추상클래스 GenericServl..

Servlet-JSP 2020.09.10

Hassing & HashFunction

잘못된 내용이 있을 수 있습니다.해싱과 해시함수 해싱이란 해시함수를 이용해서 데이터를 헤시테이블에 저장하고 검색하는 기법이다. 해시함수는 데이터가 저장되어 있는 곳을 알려주므로 다량의 데이터 중에서도 원하는 데이터를 빠르게 찾을 수 있다. 해싱을 구현한 클래스로 HashSet, HashMap, Hashtable 등이 있다. Hashtable은 컬렉션프레임웍 도입(JDK1.8)이후 HashMap으로 대체 되었다. 해싱의 자료 구조 HashMap을 이용해 아주 복잡한 이름을 가진 모델명과 제조사를 묶어서 데이터를 보관해둔다고 하자. 나는 이 복잡한 이름의 모델명을 가진 제품의 제조사를 자주 구분해야 할 필요가 있다. 중복되지 않는 모델명을 key로 두고 언제든 key를 이용해 value에 접근할 수 있게 만..

Java 2020.09.10

예외처리

예외 Exception 이미지 출처 예외 클래스 다이어그램 자바에서 에러는 크게 두 갈래로 나눌 수 있다. error exception 예외exception는 처리할 수 있지만, 에러는 손 쓸 방법이 없다. Exception은 RunTimeException과 그 외 Exception 두 갈래로 다시 나뉜다. 다이어그램을 자세히 보면 RuntimeException은 Unckecked, 그 외 Exception은 Checked라고 표시되어 있다. checked - unchecked check : 컴파일러가 예외 체크 (Exception클래스) unchecked : 컴파일러가 예외 체크 x (RuntimeException) 언체크드 예외인 RuntimeException은 선택적으로 처리할 수 있다. 그러니까 ..

Java 2020.09.10

람다Lambda

📚 자바의 정석을 정리한 내용입니다. ▪ 람다식Lambda Expression 자바는 두 번의 큰 변화가 있었다. JDK1.5의 지네릭스. JDK1.8의 람다. 람다의 등장으로 객체지향언어를 너머 함수형 언어가 가진 기능까지 갖추게 되었다. 말하자면 비로소 호모 사피엔스의 길에 접어든 것일까? 람다식이란 간단히 메서드를 하나의 식으로 표현한 것이다. 함수를 간략하면서도 명확한 식으로 편할 수 있다. 메서드를 람다식으로 표현하면 반환 값이 없어진다. 그래서 익명 함수라고 부르기도 한다. 그래서 어떻게 쓰는 거냐면. int max(int a, int b) { return a > b ? a:b; } 두 값을 입력받고 큰 값을 반환하는 max라는 메서드가 있다. 이것을 람다로 변환하면 이렇게 쓸 수 있다. (i..

Java 2020.09.09

와일드카드

참고 : 자바의 정석 와일드 카드 기호 '?' 표현하는데, 와일드카드는 어떤 타입도 될 수 있다. 아래 코드를 보자. package com.javaex.generics; import java.util.ArrayList; import java.util.List; public class FruitsBoxEx3 { public static void main(String[] args) { FruitBox fruitBox = new FruitBox(); FruitBox appleBox = new FruitBox(); fruitBox.add(new Apple()); fruitBox.add(new Grape()); appleBox.add(new Apple()); System.out.println(Juicer.make..

Java 2020.09.09

제네릭 클래스Generics Class

자바의 정석을 참고했습니다. Generics 컬렉션 클래스 컴파일 시 타입 체크를 해주는 기능. 장점 타입 안정성을 높여서, 의도하지 않은 타입의 객체가 저장되는 것을 막는다. 지네릭 클래스 class Box { T item; void setItem(T item) { this.item = item; } T getItem() { return item } } Box에서 T를 타입 변수라고 한다. 타입변수는 꼭 T가 아니라도 상황에 맞는 다른 알파벳을 지정할 수 있다. 위에서 정의한 제네릭 클래스 Box의 객체를 생성한다고 했을 때, 가 무슨 타입인지 지정해야 한다. Box box = new Box(); new Box void add(Fruit item) fruitBox.add(new Fruit()); fru..

Java 2020.09.09