본문 바로가기

개발노트/Spring19

Maven 과 기본설정 JSP 와 달리 Spring 은 Maven 이라는 Repository에서 모든 필요한 것들을 담아온다. maven Repositroy에서 다운받아진 것은 C:/Users/user/.m2 =>라는 경로에 모드 다운받아진다 . *Maven 이란? 기존의 라이브러리 삽입은(의존성 주입) WEB-INF 속 lib 폴더에 직접 삽입해서 함. 빌드, 문서화, 리포팅, 의존관계관리, 소스코드관리, 릴리즈, 배포 등의 기능까지 수행함 전자정부 프레임 워크 == Spring java-version : 자바 다운로드 하는 버전 4.3.25 Release : 스프링 버전 appServlet 에 먼저 매핑된다 -> dispatch servlet 는 myapp 이라는 주소를 보낸다. servlet context.xml 폴더에 .. 2020. 10. 19.
spring 프로젝트 생성시 왜 경로를 적을까? 매번 Legacy 를 생성할때 의문이 든다 왜 경로는 a.b.c 로 할까? 왜 3가지 경로로 진행이 될까? 그건 바로 하나의 약속이자 패키지 경로를 의미하는 것이다. 그래서 반드시 com.abc.net 과 같은 경로를 입력해 주어야 한다. 사실 별거 아닐 수 있지만,, 스프링 마스터는 갈길이 멀당... 2020. 10. 19.
jsp 파일에 폰트 추가하기 시트 안에 css 를 입력하고 하단에 폰트 링크를 걸어주면 됩니다. 2020. 10. 8.
404, 500, 505 에러 페이지 처리하기 " 잘못된 접근으로 페이지가 에러가 발생시 띄워주는 에러페이지를 만들어보겠습니다. " 1. [ web.xml ] 상단은, 404, 505, 500 에도 다 사용할 수 있는 default 에러 페이지 상단 사진은 404 페이지 에서만 사용할 수 있는 경로를 입력해줍니다. 2. [ errorController.java ] 컨트롤러 페이지를 만들어 경로를 만들어줍니다. 경로가 있어야 에러 발생시 매핑 될 수 있습니다. 3. [ error.jsp ] 에러 페이지를 띄울 jsp 파일을 만듭니다. 2020. 10. 7.
어떻게 HelloWorld 가 띄워졌을까? [ home.jsp ] 1. 해당 태그립을 사용하겠다. 8. 제목 [ Home Controller . java ] 31. logger.info : welcome home ~~ 내용을 출력한다. 33~34. data포멧을 통해 날짜, 시간의 포맷을 바꿔준다. 39. session.setAttribute // request.setAttribute : date에서 포멧팅된 formattedDate를 addAttribute 에 넣어준다 41. return 값이 home => home.jsp 파일로 이동 @ [ servelt-context.xml ] prefix, suffix 는 return의 경로를 설정해주는 역할을 한다. - 컨트롤러가 리턴한 view 문자열을 해석하여 경로를 만들어서 파일을 찾아 응답하는 V.. 2020. 10. 1.
MVC2 모델 1. view 클라이언트 2. controller (두뇌) 모든 요청들을 하나의 컨트롤러가 다 받아서 처리한다. 3. service 롤러가 필요한 내용을 서비스에 전달 4. DAO Model, dao에서 데이터접근 작업을 어떻게 할지 알려주는 역할 각 계층별로 어떤일을 할지 분할해서 Model에게 전달해준다. 5. Model 모델은 해당 전달받은 데이터를 데이터베이스에 저장하기 전에 6.데이터베이스 데이터 베이스는 내용을 저장하는 역할 스프링 프레임워크 이용시 이클립스에서 마켓을 통해 설치해줘야 한다. 또한, 해당 내용을 root-context.xml 에 경로 및 설정을 넣어줘야한다. 관련내용은 다른 포스팅으로 자세히 적어 놨다. [ web.xml ] web.xml은 하단과 같이 사용하는 xml 경로를 .. 2020. 10. 1.
@Autowired, @Resource, @Inject @Autowired 란? 각 상황의 타입에 맞는 IoC 컨테이너 안에 존재하는 Bean을 자동으로 주입하게 해준다. - 객체를 자동 주입할 때 사용하는 어노테이션 - 스캔 명령을 통해 객체를 찾아 주입하는데 타입이름으로 검색한다. - 타입을 찾아내지 못하면 (id 속성값)을 통해 검색한다 - 생성자, 필드, 메서드에 적용 가능하다. - 필드에 자동주입 설정을 수행할 때는 기본 생성자가 반드시 있어야 한다. @Inject @Autowired 어노테이션과 같다 => JavaSE 어노테이션 @Autowired 단점 [ .xml ] 파일에 동일타입의 빈이 2개가 등록되어 있을때 에러가 발생한다. " defined in class path resources " @Qualifier("bean id") - Autow.. 2020. 10. 1.
prefix 에러 " The prefix "context" for element "context:component-scan" is not bound. " 1. controller빈 생성에러 [ servlet - context.xml ] 바로 확인 프로젝트의 패키지명 정확하게 작성할 것. 또한 상단에 해당 spring 경로가 등록되어 있어야 상단의 context:component 가 작동할 수 있다. 상단의 링크가 명확하게 명시되어 있지 않으면 작동이 되지 않을 수 있다. 2. 'sqlSession' 에서 계속된 에러.. BeansGraph 에는 잘 등록되어 있으나 경로의 문제라고 계속 에러가 발생해서 value값 뒤에 classpath 에 * 한개를 붙였다 => 의미 : 해당 경로의 mapper 모두를 읽어들이겠다 .. 2020. 9. 27.
DI ( Dependency Injection ) @ DI 란 ? - 스프링 Container 에 만들어 둔 각종 클래스 ( bean ) 들은 서로 의존적이다. - A 객체는 B 객체 없이 동작이 불가능하다. 1. Hotel 클래스 호텔은 레스토랑 없이 운영이 될 수 없다 . 만약, 레스토랑이 없다면 reserveRestaurant 기능을 사용할 수 없다. reserveRestaurant 이 필드 private Restaurant res를 참조하고 있다. res 객체를 참조하지 않았다면 " null point Exception " 발생할 것이다. 2. Restaurant 클래스 호텔은 레스토랑에 의존적이다. => DI 를 갖고 있다. 레스토랑은 쉐프 없이 운영을 할 수 없다. => Chef 에 의존적이다. 3. Chef 클래스 출력 용도 HOTEL 2020. 9. 27.
프레임워크 개요 @프레임 워크? - 뼈대를 이루는 코드들의 묶음 - 책상을 만들때 뼈대를 구현한 다음 만든다. - 모듈 ? 라이브러리 프레임워크 안에 미리 만들어져 있는 기능 @ 주요 기능 ( 스프링 프레임 워크 특징 ) 1 ) POJO ( Plain Old Java Object ) 기반의 프레임워크 자바 객체의 라이프 사이클(전체)을 스프링 컨테이너가 직접 관리하며, 스프링 컨테이너로부터 필요한 객체를 얻어 올 수 있다. 2 ) DI ( Dependency Injection ) 을 지원 각 계층, 서비스 사이에 의존성이 존재할 경우 스프링 프레임 워크가 연결시켜준다. 즉, 클래스 사이의 결합을 가능하게 해준다 @Autowired 3) AOP ( Aspect Oriented Programming ) 을 지원 트랜잭션, .. 2020. 9. 27.
XML 사용시 필수 넣어줘야 하는 코드 spring DAO 클래스의 역할을 분하해 mapper 을 생성 합니다. mapper 은 sql 쿼리의 역할을 하며 DB에 직접적으로 접근할 수 있게 하는 역할을 합니다. 상단의 mapper 코드를 넣어줘야 xml 이 작동할 수 있습니다. 또한, mapper 사이에 sql 문을 넣어주면 mapper 로서 역할을 할 수 있습니다. 2020. 9. 25.
JSON 의 개념 JSON ( Java Script Object Notation ) - 자바 스크립트 객체 표기법 : 자바스크립트의 표현법을 빌린 표현법 @백엔드 - WAS 서버 - Oracle DB 서버 @ 프론트 엔드 클라이언트 (Web Browser - chorme) 을 통해 was 서버와 통신함. Http 프로토콜 사용해 request, response 통해 백엔드 WAS 와 통신함. 다양한 방식의 클라이언트가 하나의 서버와 통신이 가능해지기 위해 여러 언어의 동일한 규격, 언어적 표준을 맞춰야함. 서버의 형태 자바 : 배열, 리스트 --- > JSON List int --- > [ "A","B","C"] Map, 객체 --- > ["name" : "가", "age" : 24] 제네릭방식 List int --- >.. 2020. 9. 15.
REST API 의 개념 @Rest 의 정의 " Representational State Transfer " 의 약자 자원을 이름(자원의 표현)으로 구분하여 해당 자원의 상태(정보)를 주고 받는 모든 것을 의미한다. 즉, 자원의 표현에 의한 전달 @ 이전 방식 GET 방식 : 게시판, 게시글, 회원정보를 가져올 때만 사용하는 용도 POST 방식 : 특정한 게시물을 등록할 때 사용하는 용도 ex)insert, select .... @ REST FULL URI - GET ▶ SELECT CRUD 에서 R ( READ) - POST ▶ INSERT - PUT, PATCH ▶ UPDATE - DELETE ▶ DELETE => 같은 URI 로 다른행동을 하게 만들 수 있다. - GET/movies ▶ 영화 전체 목록들을 조회 - GET/.. 2020. 9. 15.
Oracle 계정 생성하기 Using CMD 창 1. cmd 창을 켜고, 오라클에 접속한다. " > slqplus system/oracle " 2. 계정에 해당하는 tablespace 를 만든다. tablespace 를 만들기 위해 파일들이 어디에 저장되는지 알아봐야 한다. 그럴려면 기존에 만들어진 tablespace 의 정보를 알아보자 SQL> select tablespace_name, bytes, file_name FROM dba_data_files; SQL> create tablespace javaoracle datafile ‘ C:\app\mun51\product\18.0.0\oradata\XE\javaoracle.dbf ' size 200M; **기존에 이미 테이블 스페이스를 생성했다면 구지 해당 상단의 과정을 거치지 않아도 된다. 3. 계정.. 2020. 9. 15.
[미완성]자바스크립트 & JQuery & Ajax #JavaScript - 자바스크림트는 웹 페이지를 동적으로 표현해 주는 언어이다. ex) 경고창 & 확인창 등등... #JQuery - 자바 스크립트를 더 간편하게 사용해주는 자바스크립트 라이브러리이다. 따라서 라이브러리 추가를 해줘야한다. - JQuery 를 사용하면 순수 자바 스크립트로 코딩하는 것보다 더 높은 생산성을 기대할 수 있다. #Ajax - 자바스크립트를 이용해서 비동기식으로 서버와 통신 - 비동기식 : 여러가지 일이 동시에 발생한다. - 즉, 화면 이동없이 해당 페이지 내에서 서버와의 통신을 처리한다. **JQuery 추가 1. 사용하려는 파일에 넣어주기 2.라이브러리 파일 자체를 다운받아서 사용하기 - http://jquery.com/download/ 에서 제이쿼리 소스코드를 다운로드.. 2020. 9. 14.