전체 글

자바스크립트는 따로 JVM 이 없기 때문에 웹브라우저와만 연계된다 그러므로 따로 함수를 지정해줘서 유효성 검사를 해준다. request.getParameter() 는 항상 문자로 받아온다 유효성 검사 : 사용자가 폼페이지에서 입력한 데이터 값이 서버로 전송되기 전에 특정 규칙에 맞게 입력되었는지 검증 ex) 코드) 실행화면) 데이터 유무 확인 document.폼 이름.입력양식 이름.value=" " 코드) 실행화면) 데이터 길이 확인 document.폼 이름.입력양식 이름.value.length ex) 숫자 여부 확인 isNaN(document.폼 이름.입력양식 이름.value) ex) 정규 표현식 : 특정한 규칙을 가진 문자열의 집합을 표현하는 데 사용하는 형식 언어 OS,DB,JAVA,PYTHON,R..
request 내장 객체는 웹 브라우저의 요청 및 서버 관련 정보를 얻을 수 있는 메소드를 제공 response 내장 객체 : 사용자의 요청을 처리한 결과를 서버에서 웹 브라우저로 전달하는 정보를 저장 리다이렉션 : 페이지를 강제로 이동 sendRedirect(String url) ; 설정한 URL 페이지로 강제 이동 응답 HTTP 헤더 관련 메소드 getHeader(String name) : 설정한 헤더 이름 name 값을 가져온다 setIntHeader(String name,int value) : 설정한 헤더 이름 name에 value를 추가한다. ex)response 내장 객체로 5초마다 JSP 페이지를 갱신 응답 콘텐츠 관련 메소드 setCharacterEncoding(String charset)..
JAVA와 HTTP는 상관이 없다 디렉티브 태그 : JSP 페이지를 어떻게 처리할 것인지 설정 디렉티브 태그의 종류 page : JSP 페이지에 대한 정보를 설정 include : JSP 페이지의 특정 영역에 다른 문서를 포함 taglib : JSP 페이지에서 사용할 태그 라이브러리를 설정 액션태그 (=스탠다드 태그) : 서버나 클라이언트에게 어떤 행동을 하도록 명령 *액션태그는 자바빈즈 기능을 제공한다 *액션태그는 와 같은 형식을 따르지 않고 XML형식 를 사용한다 액션 태그를 사용하는 이유 : 직접 자바 코드를 작성하는 것을 피하기 위함 forward 액션 태그 : 다른 페이지로 이동 forward 액션 태그 페이지 흐름 처리 과정 웹브라우저 에서 .jsp에게 HTTP요청 -> .jsp파일을 읽다가 ..
JSP 스크립트 태그 스크립트 태그 디렉티브 태그 액션 태그 스크립트 태그의 종류 선언문 : 변수나 메소드를 정의 스크립틀릿 : 로직 코드를 작성하는 데 사용 표현문 : 변수,계산식,메소드 호출 결과를 문자열 형태로 출력 정적,동적 웹 페이지의 차이점 정적 웹 페이지 : 컴퓨터에 저장된 텍스트 파일을 그대로 보는 것 ex)HTML 동적 웹 페이지 : 저장된 내용을 다른 변수로 가공 처리하여 보는 것 ex)PHP,ASP,JSP JSP의 특징 서블릿 기술의 확장 유지 관리가 용이 빠른 개발이 가능 코드 길이를 줄일수 있음 JSP 페이지의 처리 과정 Hello.jsp -> JSP요청 -> Hello_jsp.java 서블릿 프로그램 생성 -> 컴파일 -> Hello_jsp.class 위에서 서블릿 프로그램과 c..
여러 서브클래스들의 템플릿을 정의할때 추상클래스를 사용한다. 다른 클래스가 작동할수있는 룰을 정의할때 인터페이스를 사용한다. SOLID 원칙 :객체지향 설계에서 지켜줘야 할 5개의 원칙을 말한다. 1. SRP(Single Responsibility Principle) 단일 책임 원칙 :객체는 단 하나의 책임만 가져야 한다는 원칙 흔히 함수는 하나의 기능만 수행하도록 구현되어야 하는데, 여기서 예를들면 Calculator() 함수가 덧셈,뺄셈,곱셈,나눗셈을 모두 한다면 이는 좋은 설계가 아니다. 덧셈,뺄셈,곱셈,나눗셈이 각각 함수로 정의되어 있어야 유지보수가 쉬울 것이다. 마찬가지로 Calculator 객체가 있을 때, Calculator 객체는 덧셈,뺄셈,곱셈,나눗셈만 할 수 있어야 한다. 즉, 사칙연산..
생성자 public Class Book { String title; String author; int price; public Book() { } } 생성자는 클래스와 이름이 같은데 코드를 가지고 있다. 보통 우리는 앞선 예제를 할 때 위와 같이 따로 코딩을 해주지 않았다. 이럴시에 JVM이 자동으로 생성해준다. 생성자는 클래스와 이름이 같고 리턴타입이 없다. 생성자의 목적은 객체를 만들고 주로 필드의 값을 초기화 할때 사용한다. 위와 같이 오버로딩을 이용하여 생성자를 이용한다. 여기서 setter와 무슨 차이가 있냐고 물어볼수 있는데 생성자는 초기값을 설정하는 것이며 setter는 해당 변수에 접근해 변수를 바꿔주는 의미이므로 서로 다르다고 볼 수 있다. 위에서 생성자를 따로 만들지 않았을 때, JVM..
인스턴스변수는 오버라이딩 대상이 아니다 다형성 먼저, Head First Java 책의 예제를 이용한다. 위의 사진처럼 상속을 이용하여 코딩을 했다고 가정하자. Animal 클래스 하위 클래스들 맨위의 예제와 같이 위와 같은 클래스들을 구성해보았다. 이제 다형성을 증명하기 위해 메인클래스에서 다음과 같이 실행해준다. 최상위 클래스에서 이미 정의한 메소드를 하위 클래스에서 재정의하여 사용했다. (오버라이딩) 그후 Animal은 자식클래스에서 재정의된 메소드를 호출했다. 아래의 코드를 살펴보자. Animal w = new Lion(); Animal타입으로 Lion객체를 생성했다. 그후 실행결과로 보면 Lion 클래스에 있는 메소드를 직접가져와 사용했다. 예를들어, Animal w = new Hippo(); ..
인스턴스 변수는 초기값을 따로 정하지 않아도 정해져있다. 로컬변수는 초기값을 주고 사용해야 한다. for-each 구문 for(int i=0; i 옵션 -> 폴더 및 검색옵션 변경 -> 보기 탭 -> 알려진 파일 형식의 파일 확장명 숨기기 체크해제 이후에 jarfix 프로그램을 다운해준다. johann.loefflmann.net/en/software/jarfix/index.html Jarfix Jarfix 3.0.0 fix the jar association on Windows Description If you doubleclick on a jar file, and your Java application does not start, your .jar association has been hijacked...
HDev
기억이 아닌 기록과 반복