이제는 JSP 개발시 MVC 패턴으로 작업하는게 당연시 되고있다. MVC패턴이란 화면에 보여줄 view 에 대한 작업, DB에서 조회 혹은 DB에 저장할 내용을 중간에 가공, 처리하는 비즈니스로직, DB에 연결하는 DAO 작업까지 JSP에서 다 하던걸 패턴화 시켜 분리하여 개발하는것인데 각각의 역할에 따라 파일들을 분리해서 작업하는것이다.그렇게 하는 이유는 소스를 분리함으로서 각 소스의 목적이 명확해 지고 유지보수하는데 있어서 용이하기 때문이다. MVC 패턴으로 개발하고자하면 자연스레 한 페이지에 5개의 파일이 생성되는데 JSP, Controller, DTO, Service, DAO 이다. 오늘 포스팅할 내용은 이 파일들 중 Service에 관한것이다. 오랜시간 궁금했던 것Service 에 대해선 항상 ..
현재 널리 사용되고있는 자바 프레임워크인 Spring의 핵심 가치중 하나는 IoC라 할 수 있다. IoC는 Inversion of Control의 약자로 번역하면 제어의 역전이라는 뜻인데 스프링 컨테이너를 의미한다. 간단하게 말하면 개발자들이 직접 new 연산자를 통해 생성하던 객체제어를 스프링 컨테이너가 가져감으로서 애플리케이션 내에서 사용되는 객체의 생성과 소멸(LifeCycle)을 프레임워크가 담당하겠다는 것이다. 그리고 그런 IoC를 구현하기위해 도입된게 DI인데 IoC는 공부를 하면 할수록 너무 방대한 개념인것같아 아직 내가 다루기엔 무리가 있는듯해 DI에 대해서만 포스팅을 해보겠다.DI는 Dependency Injection의 약자로 의존성 주입이라는 말로 번역된다.여기서 의존성이란 간단하게 ..
Spring4, Maven 기준. pom.xml 에 의존성 추가 org.apache.tilestiles-jsp3.0.5org.apache.tilestiles-core3.0.5 스프링 빈 설정파일에 view resolever 수정(servlet-context.xml) /WEB-INF/views/layout/tiles-layout.xml 위 설정에서 짐작했겠지만 tiles-layout.xml 추가 DOCTYPE tiles-definitions PUBLIC "-//Apache Software Foundation//DTD Tiles Configuration 2.0//EN" "http://tiles.apache.org/dtds/tiles-config_2_0.dtd"> 설명을 하자면 default 로 설정되어있는 ..
이런저런사이트에서 이제막 자바를 배우기 시작한 분들이 많이 하는 실수중 하나가 문자열 비교이다. String 변수와 리터럴 문자열을 비교하는데 동일한 값인데 false가 떨어진다는 것이다. 이런 질문에 대한 답변은 주로 '문자열은 eqlaus()로 비교하세요.' 라는 답변이 주로 달리는데 이러다보니 equals()가 문자열 비교를 위해 존재하는 메서드인줄 아는 분들이 있는것같아 이번 포스팅을 작성하게 됐다. 일단 String 클래스의 특수성부터 확인해보자. 문자열은 무조건 equals()로 비교하라고 하지만 ==연산자가 항상 false를 반환하진 않는다. String str1 = "str"; System.out.println(str == "str"); String str2 = new String("str..
메서드를 호출할때 호출 하는 메서드가 인자를 필요로 하는경우 () 안에 인자를 넣어 호출한다. 이때 메서드에서 파라미터를 받아 사용할때 호출하는 방법이 2가지가 있는데 그것이 call by value, call by reference 이다. 우리말로하면 값호출, 참조호출 정도가 될것이다. 호출방법을 프로그래머가 지정할 수는 없다. 동일한 인자를 여기선 값으로, 저기선 참조로 호출할수는 없다는 얘기다. 기본적으로 자바는 8가지의 기본형 데이터에 대해선 call by value로 호출하며 그 외에 사용자지정타입. 즉 객체에 대해서만 call by reference로 호출하게된다. 두가지의 차이점은 소스로 확인해보자 class TestClass{ int num1; int num2; public TestClas..
Impersonator 자신의 정체를 속여서 요청을 보내는 기법 Upgrader 자신의 등급을 속이는 기법 Eavesdropper 요청을 중간에 훔쳐보는 기법 서블릿보안 4요소 인증(Authentication) 인가(Authorization) 비밀보장(Confidentiality) 데이터무결성(Data Integrity) 인증과 인가가 좀 알쏭달쏭한데 인증은 일단 로그인 자체라고 생각하고 인가는 로그인 후 사용자의 등급이라고 생각하면 될듯하다. 아이디와 패스워드를 입력후 로그인하는것은 인증. 로그인 후 관리자, 특별회원, 우수회원, 일반회원의 등급을 정하는것은 인가. 인증 인증은 4가지 방식을 지원하는데 BASIC, DIGEST, CLIENT-CERT, FORM 방식이 있다. BASIC HTTP 표준 D..
1.ServletContextListener -애플리케이션이 배포, 종료되는 순간 이벤트 발생 Spring을 사용하다보면 web.xml에 org.springframework.web.context.ContextLoaderListener 라고 작성된걸 많이들 봤을것이다. 저기에 명시된 ContextLoaderListener가 ServletContextListener를 확장한(구현한) 클래스이며 애플리케이션이 배포되는 순간 Spring Bean들을 생성하는것이다. 2. ServletContextAttributeListener -서블릿 컨텍스트에 속성을 추가, 수정, 삭제하는 순간 이벤트 발생 3. HttpSessionListener -세션이 생성, 소멸하는 순간 이벤트 발생 4. ServletRequestLi..
이클립스에서(굳이 IDE툴이 아니라도) 톰캣(더 정확히는 WAS)을 실행시키면 여러 서버설정 xml파일들이 읽힘. 이것저것 파일들이 있겠지만 사실 개발자에게 가장 중요한 web.xml도 이때 와스가 읽게됨. WAS가 구동되면서 프로젝트에 존재하는 서블릿들도 JVM에 로딩됨. *클래스가 로딩되는거지 서블릿 객체생성은 아님. *WAS에 따라서 이때 서블릿 객체를 생성하는 경우도있고 로딩만 해놓고있다가 첫 요청이 들어오면 그때 생성하는 경우도있음 WAS가 구동되면서 ServletContext 객체를 생성함. ServletContext 객체는 모든 서블릿이 공유하는 객체임. web.xml에 해당 context 객체에 저장할 파라미터를 정의할 수 있는데 web.xml에서는 기본형변수밖에 정의할 수 없음. 물론 굳..
- Total
- Today
- Yesterday
- java8
- servlet
- JPA
- toby
- MySQL
- code
- Jackson
- javascript
- db
- EffectiveJava
- JavaScript Core
- go-core
- TEST
- programming
- spring cloud
- Kotlin
- http
- DesignPattern
- frontend개발환경
- 정규표현식
- clean code
- Design Pattern
- Git
- mariadb
- frontcode
- generics
- java
- OOP
- Spring
- backend개발환경
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |