Java (18) 썸네일형 리스트형 [jsp&servlet] 인코딩 방식을 통한 한글 깨짐 처리, 정상 출력 인코딩 방식이란, 문자열을 바이트로 전환하거나 반대의 과정에서 사용하는 규칙 같은 것이다.영어는 1바이트, 한글은 2바이트를 기본으로 사용하는데, 인코딩 처리 방식을 설정안하면 비영어 언어는 html이나 get, post 전송 과정에서 깨질 수 있다. 일반적으로 요즘에는 UTF-8을 사용하는데, 거의 모든 언어의 인코딩 가능하기 때문이다. 방법1: 개별 파일 인코딩 처리HTML 파일(JSP) 인코딩참고로, include하는 파일의 인코딩 타입이 원래 파일과 다르면, 에러가 발생함. 주의사항servlet에서 비영어 문자열을 처리하기 위해 UTF-8을 사용할 것이다.그러기 위해서는 HTML파일이 제출하는 form도 UTF-8을 사용해야 한다.따라서 html 파일은 인코딩 방식을 이것으로 설정하는 게 일반적이.. [jsp&servlet] error page 설정 방법 에러페이지는 런타임 단계에서 에러 발생 시 이동하는 페이지다.이는 리다이렉트가 아니라 서버단에서 클라이언트 요청에 보여줘야 할 페이지를 에러 페이지로 임시 교체하는 것이다. 방법페이지 상단에 지시어 설정 주의사항에러페이지는 스크립트릿 태그에서 발생한 에러, 즉 service 메소드가 돌아가는 라이프 사이클에서의 에러가 발생할 때만 작동한다. 선언 태그에서 발생한 에러에는 반응하지 않으니, try 문을 사용해서 에러 처리하거나 다른 방법을 써야 한다. 참고로 에러 페이지 자체도 url 접근 가능하다. 그러니 누가 url로 접근 할시 예외처리가 필요하다. 만약 에러 페이지에서 에러 객체를 확인하기 위해서는 설정이 필요하다.교체할 에러 페이지 상단에 지시어 설정 참고자료https://velog.io/@jipa.. [jsp& servlet] jsp 스크립트, 내장 객체, 요청 응답 jsp 스크립트jsp 스크립트는 jsp파일 내에서 자바 코드를 삽입하는 방법이다.삽입된 스크립트는 웹 컨테이너에서 jsp파일이 servlet으로 컴파일될 때 service 메소드로 삽입된다.그리고 파싱된 html의 소스코드에서는 소스 코드에서 배제되므로 보안 상으로 안전하다. 선언 태그멤버 변수 혹은 메서드를 선언할 수 있는 태그다.여기서 선언된 변수는 라이프 사이클 내내 유지된다. 즉, service 메소드의 매 호출 마다 초기화되지 않고 유지된다.형식 | 코드 %> 주석 태그html 주석 태그클라이언트 소스 코드 쪽에 남는 일반적인 html 주석이다.형식 | 주석 -->단축키 | ctrl shift c JSP 주석 태그서버 단에서만 볼 수 있는 주석 태그다.형식 | 주석 --%> ( 스크립트릿 태.. [java/기본] 입력과 출력 자바에서는 파일이나 콘솔의 입력과 출력을 stream이라는 개념을 통해 다룬다. 먼저 stream에 대해 알아보자. stream 스트림은 완성된 데이터가 아니라 데이터의 흐름을 의미한다. 상당히 추상적인데, 예시를 들어보자. "hello world"라는 데이터가 있다. 우리는 이 문자열 전체를 하나의 데이터로 간주하며 문장의 글자 하나하나, 혹은 바이트코드 한 단위 한 단위로 인식하지 않는다. 이는 배열이든 영상이든 마찬가지다. 하지만, 때때로 이런 데이터를 분해하여 연속적으로 받는 경우가 있다. 스트림은 이처럼 미완성 상태인 데이터를 연속으로 받는 과정을 의미한다. 스트림을 사용하는 이유는 다음과 같다. 첫 째, 스트림은 데이터의 순차적인 처리를 할 수 있는 내장 메소드를 제공한다. 마치 iterato.. [java/기본] 예외 처리 프로그램을 실행하다보면 정상적 작동에서 벗어나 발생하는 오류로 인해 프로그램이 중단될 수 있고 이를 막아야 한다. 에러는 크게 두가지다. exception 프로그램 코드의 컴파일 혹은 런타임에서 발생하는 소프트웨어 에러이다. 이는 예외 처리를 통해 프로그램 중단을 막을 수 있다. error 코드 외적인 에러로 하드웨어 에러나 환경 에러를 의미한다. (ex: 파워 불량, jvm 문제 등) 이는 예외 처리가 불가능하다. 우리가 다룰 건 Exception이다. Exception 종류 checked exception 코드에서 예상할 수 있으며 컴파일 단계에서 예외 처리가 강제된다. IOException, SQLException 과 같은 외부 리소스 처리가 주로 해당된다. uncheckd exception 프로그.. [java/기본] 문자열 클래스(String, StringBuffer, StringBuilder) String의 작동 방식 문제 String은 특수한 객체형 타입이다. 원시 타입처럼 변수에 문자열을 수정하거나 재할당할 수 있지만, 객체 자체를 수정하는 대신 새 객체를 만들어 할당한다. 이는 성능적으로 좋지 못하다. 예시 import com.cake.Lam1; public class Main { public static void main(String[] args) { String a = "hello"; System.out.println(a); System.out.println(System.identityHashCode(a)); a += " world"; System.out.println(a); System.out.println(System.identityHashCode(a)); } } //출력 //he.. [java] Scanner로 유저의 입력 받기 용도 유저의 입력을 받는 내장 함수 방법 Scanner inputString = null; try { System.out.println("이름을 입력해주세요"); inputString = new Scanner(System.in); // system.in: 일종의 필드 정의. 구조자 역할? this.name = inputString.nextLine(); // 사용자의 입력을 받음 // 입력 받은 값을 데이터로 반환 // 그 외에도 다양한 타입 변경 가능한 메소드 존재 } catch (Exception e) { System.out.println(e); } finally { System.out.println(this.name); inputString.close(); // 리소스 해제 } new Scanner(.. [java] 람다식 기초 사용법 객체 지향 언어인 자바에서 일반 함수를 생성할 수 있는 방법이다. 원래 자바는 일반 함수 생성이 안되며 메서드로만 만들어 써야 한다. 그래서 단발적인 함수는 익명 함수로 가능하지만 고차 함수처럼 함수형 프로그래밍을 하지 못했다. 람다식은 그 대안으로서 사용된다. 자바는 함수를 일급 객체로 다루지 않는다. 함수를 일급 객체로 다루면, 변수에 할당, 매개 변수로 전달, 리턴 및 객체 내 저장이 자유로워서 유연하게 고차함수를 만들거나 변형 가능하다. 문법 람다식의 모태가 될 인터페이스를 선언한다. 사용 위치에서 인터페이스를 타입 선언하고 내용부를 정의하여 사용한다. 매개변수가 한 개이거나 매개변수 간 타입이 동일할 때, 타입 명시를 생략할 수 있다. 실행문장이 1개이면 중괄호 생략가능하다. 매개 변수가 한 개.. 이전 1 2 3 다음