본문 바로가기

분류 전체보기

JSP 페이지의 page 디렉티브의 contentType 속성과 캐릭터 셋 기본값은.. 여기서 text/html 을 대신할 수 있는 목록.. http://www.iana.org/assignments/media-types/index.html 캐릭터 셋의 목록은.. http://www.iana.org/assignments/character-sets 확인 할 수 있다. 더보기
JSP란 무엇인가? JSP는 JavaServer Pages의 약자이며 스크립트 언어이다. JSP의 특징 자바를 기반으로 하는 스크립트 언어로 자바가 제공하는 기능을 그대로 사용할 수 있다. HTTP와 같은 프로토콜에 따라 클라이언트의 요청을 처리하고 응답한다. HTML, XML 등 클라이언트가 요청한 문서를 생성하는데 주로 사용된다. 서블릿/EJB 등의 엔터프라이즈 기술들과 잘 융합된다. 표현 언어, 표현식, 스크립트릿 등 다양한 스크립트 요소와 액션 태그 등을 제공함으로써 보다 쉽게 웹 어플리케이션을 프로그래밍 할 수 있도록 도와준다. JSP는 HTTP 프로토콜을 알맞게 처리할 수 있도록 설계되었다. 예를 들어, JSP는 웹 브라우저가 전송한 데이터를 읽어오고 생성한 데이터를 웹 브라우저에 전송하는 것처럼 웹 어플리케이션.. 더보기
스프링 MVC의 주요 구성 요소 및 처리 흐름 스프링 프레임워크는 DI나 AOP와 같은 기능뿐만 아니라 기본적으로 웹 개발을 위한 MVC 프레임워크도 함께 제공하고 있다. 스프링MVC는 스프링을 기반으로 하고 있기 때문에 스프링에서 제공하는 기능을등을 손쉽게 사용할 수있다는 장점을 갖는다.또 다른 종류의 프레임워크와 연동하는 수고를 하지 않아도 되는것도 장점중 하나다. * 스프링 MVC의 주요 구성 요소 DispatcherServlet 클라이언트의 요청을 전달 받는다. 컨트롤러에게 클라이언트의 요청을 전달하고 컨트롤러가 리턴한 결과 값 View에 전달하여 알맞은 응답을 생성하도록 한다. HandlerMapping 클라이언트의 요청 URL을 어떤 컨트롤러가 처리할지를 결정한다. Controller 클라이언트의 요청을 처리한 뒤, 그 결과를 Dispat.. 더보기
스프링과 스트럿츠의 차이점 스프링은 경량 프레임워크입니다. 스프링에 EJB를 엮어서 쓸수는 있지만 스프링이 스트럿츠에 EJB를 구현할 수 있는 기능이 추가된것이라고 보기는 힘듭니다. 오히려 무거운 EJB를 대체하는 프레임워크라고 볼 수 있을것 같습니다. 스프링은 UI, Persistence단에 스트럿츠나 하이버네이트등 다른 프레임워크를 적용해도 되고 스프링의 MVC를 사용해도 됩니다. 다시말하면 스프링은 프레임워크를 위한 프레임워크라고 생각하면 될것 같습니다. 단독으로도, 다른 프레임워크와 복합적으로도 사용할 수 있는 프레임워크입니다. (스트럿츠는 UI레벨의 프레임워크입니다.) 스프링이나 스트럿츠나 기본 MVC개념과 컨트롤러에서 Action을 처리하는 방식은 똑같습니다. 더보기
트랜잭션(Transaction)이란? 트랜잭션이란 데이터 베이스 작업의 단위를 말합니다. 이는 작업의 일관성과 관계가 있습니다. 트랜잭션의 처리과정을 한마디로 표현하자면 All or Nothing이라고 하지요. 간단하게 말하자면, 일련의 작업들이 모두 제대로 수행이 되었다면 Commit 시키고, 만약 중간에 어떠한 에러가 발생하였다면 그 일련의 작업들을 모두 없었던 것으로 하는 것을 말합니다. * 트랜잭션이 갖추어야할 4가지 조건(ACID) 1. 원자성(Atomic): 트랜잭션은 더 이상 분류할 수 없는 작업 단위여야 하며 모든 데이터 수정 작업이 수행되거나 하나도 수행되지 말아야 합니다. 2. 일관성(Consistency): 완료된 트랜잭션의 모든 데이터는 일관적이어야 합니다. 관계형 데이터베이스에서는 트랜잭션 수정에 모든 규칙을 적용하.. 더보기
면접시 회사에 물어봐야 할 것.. 입사할 경우 바로 투입되거나 해야할 프로젝트가 있다면 무엇인가요? 개발자는 몇명이고, 또 Java/JSP 개발자는 몇명인가요? 회사 자본금이 얼마인가요? 연봉 체계가 어떻게 되나요? (퇴직금 별도인지..) 인센티브 제도가 있나요? 출/퇴근 시간과 복장은 어떻게 되나요? 등등등... 더보기
트리거(TRIGGER)란? 테이블에 대하여 INSERT, UPDATE, DELETE문이 수행될때 묵시적으로 수행되는 프로시져(Procedure)이다. 트리거는 테이블에 저장되는것이 아니라 별도의 오라클 데이터베이스 자체에 저장된다. 트리거는 View에 대해서는 동작하지 않고 테이블 자체에 대해서만 정의 될 수 있다. 참고: http://opensourceforge.tistory.com/272 더보기
조인(Join)이란? Join이란? 논리적 관계를 기준으로 두개 이상의 테이블에서 데이터를 검색해내기 위한 방법. 정규화로 나누어진 테이블, 혹은 컬럼들을 다시 모아 오는 것. InnerJoin 가장 일반적인 Join으로 Join문에 접두사를 붙이지 않게 되면 자동적으로 InnerJoin이 된다. 서로 연관된 내용만을 검색하는 Join방법 서로의 연결값이 일치하는 데이터만 가져오는 Join 방법 OuterJoin 서로의 연결값이 일치하는 데이터를 가져오는것은 물론 그렇지 않은것들의 데이터도 가져오는 Join 방법으로 OuterJoin에 접두사를 붙이지 않게 되면 자동으로 LeftOuterJoin이 된다. LeftOuterJoin 서로의 연결값이 일치하는 데이터를 가져오고 왼쪽 테이블의 내용은 모두 가져온다. RightOute.. 더보기
오버로드(Overload)와 오버라이드(Override)의 차이점 오버로드(Overload)메서드의 이름은 같고 파라메터의 갯수나 타입이 다른 함수를 정의하는 것을 의미한다.(리턴값만을 다르게 갖는 오버로드는 작성 할 수 없다.)오버라이드(Override)상위 클래스의 메서드를 재정의 하는 것이다.메서드의 이름은 물론 파라메터의 갯수나 타입도 동일해야 하며, 주로 상위 클래스의 동작을 상속받은 하위 클래스에서 변경하기 위해 사용된다.한줄정리 오버로딩(Overloading)은 기존에 없던 새로운 메서드를 정의하는 것이고, 오버라이딩(Overriding)은 상속 받은 메서드의 내용만 변경 하는 것이다. 더보기
String 과 String Buffer, String Builder의 차이점 String: 변경 되지 않는 Character 문자열 자체 문자열이 변경되지 않을 경우에는 String 사용 String Buffer: 값이 변경 가능, 동기화 가능 - 다중 스레드 일 경우에 사용 문자열이 변경되고 다중 스레드에서 사용될 경우 사용 String Builder: 값이 변경 가능, 동기화 되지 않음 - 단일 스레드 일 경우에 사용 문자열이 변경되고, 단일 스레드에서 사용될 경우 사용 참고: http://cacky.tistory.com/36 http://hongsgo.egloos.com/2033998 http://java.ihoney.pe.kr/75 더보기