본문 바로가기

Language56

[ASP.NET] ASP.NET이란? ASP.NET이란? ASP.NET은 마이크로소프트사가 개발하여 판매하는 웹 애플리케이션 프레임워크입니다. 개발자들이 동적인 웹 사이트, 서비스들을 만들 수 있게 도와줍니다. ASP(Active Server Pages) 라는 웹 페이지 응용 프로그램 개발 기술이 선행하였고, 이후 마이크로소프트사에서 닷넷프레임워크와 ASP.NET을 함께 발표했습니다. 다시 말해 ASP.NET은 개발언어를 지칭하는 것이 아닌 닷넷 프레임워크 위에서 구동되는 웹 개발 기술입니다. ASP, JSP, PHP 등 웹 스크립트 언어는 그 명칭이 언어 자체입니다. 그러나 ASP.NET은 이와 비슷한 맥락이지만, 웹 개발 기술이라고 합니다. ASP.NET은 공용 언어 런타임을 기반으로 작성되어 C#, VB, J#, C++로 프로그래밍 하.. 2020. 5. 31.
[JSP] 에러페이지 만들기 + 웹 페이지 에러코드 에러페이지 처리 이유 사용자에게 기본 에러페이지가 노출될 경우, 에러의 내용 등 정보의 노출이 쉽게 이루어진다. 웹 페이지가 보안에 취약해질 수 있고 미관상에도 보기 좋지 않다. web.xml 파일에서 에러 페이지 설정하는 방법 404 /WEB-INF/views/error404.jsp 500 /WEB-INF/views/error500.jsp 에 해당하는 에러 발생 시 매핑된 페이지를 보여준다. 주요 웹 페이지 에러코드 에러코드 내용 400 Bad Request 잘못된 문법으로 서버가 요청을 이해할 수 없음 401 Unauthorized 비인증(미승인) 클라이언트/ 접근권한 없음 403 Forbidden 접근권한 없음 404 Not Found 서버가 요청받은 리소스를 찾을 수 없음 (jsp, html, c.. 2020. 3. 3.
[Spring] 인코딩 필터 적용하기 CharacterEncodingFilter CharacterEncodingFilter HTTP상에서 주고 받는 데이터 헤더값을 UTF-8로 인코딩하는 방법이다. web.xml encodingFilter org.springframework.web.filter.CharacterEncodingFilter encoding UTF-8 forceEncoding true encodingFilter /* forceEncoding - true : encoding값을 HttpServletRequest, HttpServletResponse 객체에 강제 세팅 forceEncoding - false : HttpServletRequest, HttpServletResponse 객체의 값이 null인 경우에만 encoding 값으로 세팅 2020. 3. 3.
[Spring] 어노테이션 Annotation 어노테이션 Annotation 자바 어노테이션은 자바 소스 코드에 추가하여 사용할 수 있는 메타데이터의 일종이다. 보통 @ 기호를 앞에 붙여서 사용한다. 스프링은 어노테이션을 이용하여 Bean과 관련된 정보를 설정할 수 있다. 어노테이션 사용 설정 방법 CommonsAnnotationBeanPostProcessor 클래스 설정파일에 bean객체로 등록하여 Annotation을 적용하는 방법 태그 사용 @Autowired, @Required, @PostConstructor, @PreDestory 등의 annotation을 자동 처리해준다. 태그 사용 @Component, @Controller, @Service, @Repository 등의 annotation을 자동 처리해준다. 태그 사용 @RequestMa.. 2020. 2. 19.
[Spring] 관점 지향 프로그래밍 AOP 관점 지향 프로그래밍 AOP 관점 지향 프로그래밍이란 횡단 관심사의 분리를 허용함으로써 모듈성을 증가시키는 것이 목적인 프로그래밍 패러다임이다. 공통된 관심사를 따로 분리해서 주 관심사(CC)와 공통 관심사(CCC)로 나누어 모듈화 시키는 방식이다. Advice (CCC) 공통적으로 빠져나온 관심사 Join Point (CC) Advice가 연결될 수 있는 모든 point들의 집합 Point Cut (CC) Advice가 연결될 결합점에 대한 상세한 정의 Advisor (Aspect) Adivice + Point Cut 흩어진 관심사들을 모듈화한 것 Weaving (CrossCutting) Advisor를 대상 객체에 결합하는 행위 AOP를 그림으로 이해하기 여기 비슷한 기능을 하는 메소드를 가지고 있는.. 2020. 2. 19.
[Spring] 의존성 주입 DI 의존성 주입 DI public class Dog { Animal animal = new Animal(); public void bark(){ animal.dog(); } } 의존이란 어떤 클래스의 처리 내용이 다른 클래스의 내용이 변경됨에 따라 달라지는 관계를 뜻한다. Dog 클래스에서는 Animal 클래스에 정의되어있는 메서드를 사용하기 위해 Animal의 객체를 생성(new)한 다음 Animal의 dog메서드를 호출하고 있다. 이를 Dog 클래스가 Animal에 의존한다고 표현한다. Animal의 dog 메서드의 내용이 달라지면 Dog 클래스의 bark 메서드의 내용 또한 달라지게 된다. 의존성 주입(DI)이란 프로그래밍에서 구성요소 간 의존관계가 소스코드 내부가 아닌 외부의 설정파일 등을 통해 정의.. 2020. 2. 19.
[Java] 추상클래스와 인터페이스의 차이점 추상클래스 (Abstract Class) extends 추상 메서드를 하나 이상 가질 수 있는 클래스 즉, 특정 몇몇 메서드만 추상(Abstract) 메서드 추상 메서드를 상속받아 기능을 사용하고 확장시키는 데 목적이 있다. 자바에서는 다중 상속이 불가능하다. 인터페이스 (Interface) implement 모든 메서드가 추상 메서드인 클래스 가이드라인과 같은 역할을 하며 메서드 구현을 강제하는 데 목적이 있다. 변수를 쓰면 static final이 붙으면서 자동 상수화 다중 구현이 가능하다. 추상메서드 (Abstarct Method) 상속받은 클래스가 반드시 구현해야 하는 메서드 추상 클래스나 인터페이스를 통해 자동 오버라이드 2020. 2. 19.
[Java] LIST/ SET/ MAP Collection 컬렉션 Array가 같은 타입의 여러 개의 값을 효과적으로 관리하기 위한 객체라면, Collection은 다른 타입이거나 같은 타입의 여러 개의 값을 효과적으로 관리하기 위한 객체이다. Array와 Collection 차이점 Array Collection 이름 배열 컬렉션 크기 고정된 길이 (정적 메모리 할당) 가변적인 길이 (동적 메모리 할당) 타입 같은 타입만 가능 다른 타입도 가능 Java Collection Framework (JCF) list set map 순서 O X X 중복 O X 키(Key) : X 값(Value) : O 구현 클래스 - ArrayList - LinkedList - Vector - Stack - HashSet - SortedSet - TreeSet - H.. 2020. 2. 19.
[Java] public static void main(String[] args) { } public static void main(String[] args) { } public static void main(String[] args) { } public static void main(String[] args) { } 는 자바의 메인 메서드이다. 자바 애플리케이션 실행 시 가장 먼저 시작되는 지점이다. 따라서 프로그램의 주 진입점이라고 한다. public 접근제한자 언제 어디서든 접근, 참조가 가능하다. static static 영역에 만들어져서 class.method로 호출한다. (non-static : new 객체, 객체.method) void 리턴 타입이 없다. String[] args 해당 파라미터 받아서 내부에서 사용하기 위한 변수이다. String 배열을 args 라는 이름의 변수.. 2020. 2. 19.