Web/Servlet && Spring
-
[Spring] 웹개발 모델의 종류Web/Servlet && Spring 2019. 8. 22. 09:36
웹개발모델 Model1 - 웹브라우저에서 JSP로 요청(Request)을 한다. JSP에서 로그인 요청을 처리 후 브라우저에 Response를 준다. - JSP에서 비즈니스로직, View를 모두 처리한다. - 그래서 구조가 단순하여 익히기 쉽다. - 구현이 익숙하고 작은 어플리케이션 단위에 적합하다. - 뷰와 자바코드가 섞여 있어 JSP코드 복잡성이 증가한다. (스파게티 코드) - 위와 같은 이유로 분업이 어렵다. Model2 - 웹브라우저에서 요청을 한다. - Controller라는 서블릿에서 요청 처리를 한다. (서블릿에 뷰가 포함되어 있다.) - Controller에서 JSP(뷰) 로 보내준다. - 브라우저로 응답. - 뷰와 자바코드가 분리되어 유지보수에 용이하다. - 모델 1에 비하여 설계가 어렵..
-
[Spring] 레거시 프로젝트 만들기 (Legercy Project)Web/Servlet && Spring 2019. 8. 21. 16:53
우선 메이븐에 관한 간단한 설명 jar파일들을 관리해 주는 것이 Maven이다. pom.xml에 dependency를 추가하면, 해당 jar파일을 내 로컬 PC에 저장한 후 프로젝트에 적용한다. C:\Users\Playdata\.m2 이 경로를 메이븐 폴더로 보면 된다. test패키지는 테스트 코드를 넣는 곳이다. 서비스가 아닌 테스트 전용 클래스를 이곳에 넣는다. 개발시에만 사용. main과 같은 패키지인데 분리만 해 놓았다. 서버에 디플로이 할 때에 test코드만 제외하고 등록된다. resoures폴더 안에 img, xml 등 추가하는 것이다. 프로젝트 생성시 에러가 발생하는 경우 Maven에서 스프링 관련 jar파일을 다운하는 중 문제가 발생하는 경우가 대부분이다. 만약 프로젝트가 정상 생성되지 않..
-
[Spring] 스프링 프레임 워크 개념Web/Servlet && Spring 2019. 8. 20. 18:31
EJB(Enterprise Java Bean) 개발자를 사용하다보니 비용이 너무 컸다. EJB는 무겁고 성공률이 낮다. 반면에 스프링은 유연하고 가볍다. 스프링이 추구하는 것은 첫번째, 쉽고 가벼운 프로그램을 만들 수 있다. 두번째, 기존 프로젝트들과 동일한 방법으로 사용가능하다. 프레임워크란? 개발자의 노하우다. 여러번 실행하다보니 반복되는 코드가 보였고, 기반이 되는 코드를 모듈화 하였다. 스프링은 기능이 모듈화 되어 있다. 그렇기 때문에 사용이 편리하다. 객체지향은 레고와 비슷하다. 객체간의 의존성을 따로 관리한다. 스프링 API에 의존하지 않는다. 스프링 용어 설명 IOC (Inversion Of Control) 제어의 역전 , 프로그래머가 아닌 스프링에서 제어 해주는 것 DI (Dependenc..
-
[Spring] 한글설정, UTF-8설정Web/Servlet && Spring 2019. 8. 13. 01:50
GET방식은 요즘 한글 처리가 잘된다. 하지만 post방식은 한글 처리를 따로 해줘야 한다. page 인코딩이 utf-8로 되어 있어도 post로 요청시 한글이 깨져서 들어온다. POST요청시 UTF-8로 넘기겠다는 설정은 1. Servers프로젝트의 server.xml에서 한다. 각각 해당하는 63, 108번 라인에 URIEncoding="UTF-8"를 추가해준다. 2. web.xml 리스너 위에 filter 추가 encodingFilter org.springframework.web.filter.CharacterEncodingFilter encoding utf-8 encodingFilter *.do @RequestParam 사용방법 @RequestMapping(value = "/tok.do", meth..
-
[Spring] The type org.springframework.core.io.Resource cannot be resolved 에러 해결Web/Servlet && Spring 2019. 8. 11. 23:11
The type org.springframework.core.io.Resource cannot be resolved. It is indirectly referenced from required .class files 에러 해결방법 프로젝트의 빌드가 무언가 문제가 있었다. maven install시에 콘솔창에 에러문구가 떴다. [ERROR] error reading C:\Users\sjcnote\.m2\repository\org\springframework\spring-aop\5.1.7.RELEASE\spring-aop-5.1.7.RELEASE.jar; invalid LOC header (bad signature) [ERROR] error reading C:\Users\sjcnote\.m2\reposito..
-
[Spring] Life CycleWeb/Servlet && Spring 2019. 8. 11. 12:51
Spring의 Life Cycle - 생명주기, 생애주기 - 시작부터 끝까지 - 스프링 컨테이너의 생명주기 - 스프링 컨테이너 생성, 설정, 사용, 종료 bean이라는게 자바에서 말하는 객체이다. 이것을 스프링컨테이너(IOC)가 빈을 만들어준다. 빈도 역시 라이프 사이클을 가지고 있다. Bean Life Cycle 관리방법 - 인터페이스 구현: 인터페이스 구현은 지정된 이름으로만 사용해야 한다. - Bean 정의시 메소드 지정: 내가 메소드 이름을 만들수 있다. =====================위 두가지는 스프링에서만 사용 가능하다.========================== - 어노테이션 지정: 스프링에 종속되지 않고, 다른 프레임워크에도 똑같은 방식으로 사용가능하다. 세가지 동시 사용시 순서..
-
[Spring] publicId와 systemId 사이에는 공백이 필요 에러 해결Web/Servlet && Spring 2019. 8. 11. 12:45
publicId와 systemId 사이에는 공백이 필요 해당 에러의 답을 한참 찾아헤멧다. 구글링을 해보니 xml선언시 공백이 빠져서 나는 경우가 있다고 했는데 나는 아니였다. 위의 부분에서 아래 부분이 문제였다. xsi:schemaLocation에서는 꼭 아래 순서로 적어 줘야 한다. 예를들면 schema/aop 뒤에 schema/context가 오면 에러가 난다. 무조건 schema/aop 뒤에는 schema/aop/spring-aop.xsd가 나와야 한다. 글자 하나 틀린것 없는 순서 때문에 일어난 오류였다. 1. http://www.springframework.org/schema/aop 2. https://www.springframework.org/schema/aop/spring-aop.xsd 1..