본문 바로가기

spring7

Spring DI(2) 1. java Reflection API 클래스 정보를 얻을 수 있는 기능을 제공 실행 중에 객체 생성, 메서드 호출 등을 가능하게 한다. 정적: 컴파일때 결정 new Car() 동적: 실행 중에 결정 Class animalClass = Animal.class // Animal 클래스 객체 얻기(클래스 자체의 객체) Animal animal = (Animal)animalClass.newInstance();// 해당 Animal 클래스의 객체 생성 //즉, Class 객체를 얻어 newInstance()를 통해 실제 해당 클래스의 객체를 생성할 수 있다. Method[] methodArr = animalClass.getDeclaredMethods(); // 클래스에 선언된 메서드 얻기 Field[] mvA.. 2023. 7. 4.
Spring DI(1) 다형성 방법 1 조상으로 정의된 변수의 값은 해당 자식 클래스들이 모두 올 수 있다. 그래서 다형성을 사용하면 코드의 변경을 줄일 수 있다. 예를 들어, Animal을 상속 받은 Cat과 Dog 클래스가 있다고 해보자 그럼 Animal animal = 값에는 Cat도 올 수도 있고 Dog도 올 수 있다. 즉, 조상의 클래스를 변수로 정의하면 해당 값에는 자식 클래스만 수정하면 된다. 만약 위와 같이 Animal이 아닌 직접 Cat으로 설정을 했을때 변경하고자 한다면 참조변수와 생성자 모두 바꿔야한다. 아래의 코드는 위의 설명을 적용한 예시이다. 다형성을 적용하지 않으면 직접 바꿔주어야한다. * 변경 전 Cat animal1 = new Cat(); Cat animal2 = new Cat(); * 변경 후 .. 2023. 7. 2.
URL 인코딩 URL에 포함된 non-ASCII문자를 문자 코드(16진수) 문자열로 변환 non-ASCII문자 ---->ASCII코드(문자코드: 16진수의 문자열) non-ASCII문자를 ASCII 문자로 바꾼다. 그 이유는 해당 서버가 어떤 OS, 언어를 사용하는지 모르기 때문이다. ASCII 문자(0-9,A-Z,a-z,*,- 등) 국가별 인코딩 중 공통으로 가지고 있다. 그래서 모든 언어에 공통적으로 들어 있는 ASCII문자로 바꿔준다. 따라서, URL에 포함된 non-ASCII문자를 문자 코드(16진수) 문자열로 변환한다. 구민수 ----> URLEncoder.encode() --> %EA%B5%AC%EB%AF%BC 구민수 2023. 5. 11.
HttpServletRequest 요청 값 받는 다양한 방법 클라이언트에서 해당 정보를 얻고자 서버에 요청했을때, 서버에서 해당 값을 받는 2가지 방법에 대해서 설명하겠습니다. 예를 들어, 쿼리스트링 ?name=heejea&age=11&gender=female 정보가 왔을때 첫번째 방법은 HttpServletRequest 변수를 생성하여 해당 값을 받는 방법입니다. 아래와 같이 내가 알고자하는 변수이름을 getParameter값에 넣으면 해당 값을 얻을 수 있다. String name = request.getParameter("변수이름"); 추가적으로, getParameter의 값은 String형식으로 오기 때문에 만약 int로 변환하고 싶으면 항변환을 해주어야된다. 코드의 예시는 아래와 같다. 두번째 방법은 직접 해당 변수를 매개변수로 받는 것이 있습니다. Ht.. 2023. 2. 1.