Back-End/Spring 12

[Spring] 검색 처리 구현하기(Mybatis 동적 태그)

1) 검색처리 제목 / 내용 / 작성자 ---> 단일 항목 검색 제목 or 내용 / 제목 or 작성자 / 내용 or 작성자 / 제목 or 내용 or 작성자 ---> 다중 항목 검색 2) Mybaits의 동적 태그들 if WHERE --('T') 제목으로 키워드 검색 BOARDTITLE LIKE '%'||#{keyword}||'%' --('C') 내용으로 키워드 검색 BOARDCONTENTS LIKE '%'||#{keyword}||'%' --('W') 제목으로 키워드 검색 BOARDWRITER LIKE '%'||#{keyword}||'%' choose(when, otherwise) WHERE --('T') 제목으로 키워드 검색 BOARDTITLE LIKE '%'||#{keyword}||'%' --('C')..

Back-End/Spring 2021.09.10

[Spring] 게시판 만들어보기(기획, 구성)

1) 게시판 기획하기 Task URI Method Parameter From 전체 목록 /board/list GET ???? 등록 /board/regist POST 모든 항목 입력 화면 필요 조회 /board/get GET boardnum 리스트 삭제 /board/remove GET OR POST boardnum 조회 수정 /board/modify POST 모든 항목 입력 화면 필요 2) 페이지 구성하기 list.jsp > 글 등록 버튼 클릭 > regist.jsp > 등록 버튼 클릭 > list.jsp > 글 제목 클릭 > get.jsp > 수정 버튼 클릭 > modify.jsp > 수정 완료 버튼 클릭 > list.jsp or 삭제 버튼 클릭 > list.jsp 3) 페이징 처리하기 - ORDER B..

Back-End/Spring 2021.09.03

[Spring] 스프링 MVC 프로젝트의 기본 구성

1) 스프링 MVC 프로젝트의 기본 구성 - 스프링 MVC에서 어떤 단계를 거쳐서 실행되는지를 이해해야 문제 발생시 빠른 대처와 대안을 찾을 수 있다. - 웹 프로젝트는 3-tier(티어) 방식으로 구성한다. Presentation tier(쉽게 말해서 view를 뜻함) ↔ Business tier(controller) ↔ Persistence tier(model) 2) 각 계층(tier) 설명 1. Presentation Tier(화면 계층) - 화면에 보여주는 기술을 사용하는 영역을 의미한다. - JSP/Servlet 혹은 스프링 MVC가 담당하는 영역이며 화면 구성이 이에 속한다. 2. Business Tier(비즈니스 계층) - 순수한 비즈니스 로직을 담고 있는 영역을 의미한다. - 고객이 원하는..

Back-End/Spring 2021.09.02

[Spring] Exception 처리

1) Exception 처리 알아보기 @ExceptionHandler와 @ControllerAdvice를 이용한 처리 @ControllerAdvice - 예외 사항을 전부 핸들링해야 한다면 중복적이고 많은 양의 코드를 작성해야 한다. - 따라서 공통적인 예외사항에 대해서는 별도로 @ControllerAdvice를 이용해서 분리한다. - 따로 예외들만 분리해서 관리할 수 있게 되고 이것이 AOP를 이용하는 방식이다. - @ReponseEntity를 이용해서 예외 메시지를 구성할 수 있다.

Back-End/Spring 2021.08.31

[Spring] Controller 패턴과 MVC 구조 알아보기

1) Front-Controller 패턴 알아보기 Spring 기반 웹 구동 원리 순서 알아보기 1. 사용자의 Request 는 Front-Controller인 DispatcherServlet을 통해 처리한다. 2. HandlerMapping은 Request의 처리를 담당하는 컨트롤러를 찾기 위해 존재한다. 3. HandlerMapping 인터페이스를 구현한 여러 객체 중 @RequestMapping이라는 어노테이션이 적용된 것을 기준으로 판단하며, 적절한 컨트롤러를 찾았다면 HandlerAdapter를 이용해서 해당 컨트롤러를 동작시킨다. 4. Controller의 처리가 완료되었다면 어디로, 어떻게 갈것인지 라는 결과가 나오고 그 결과를 ViewResolver가 리턴을 통해 받아서 어떤 View에서 ..

Back-End/Spring 2021.08.30

[Spring] 스프링 MVC 기본 구조

1) 스프링 MVC 란? - 하나의 기능을 위해서만 만들어진 프레임워크가 아닌 '코어'라고 할 수 있는 여러 서브 프로젝트를 결합해서 다양한 상황에 대처할 수 있도록 개발되었다. 이 중 하나가 스프링 MVC구조이다. 2) 스프링 MVC 기본 구조 [Spring MVC] - 웹 관련 영역 [Spring Core] - 일반 JAVA 영역(POJO) [Spring-Mybatis] [Mybaits] [DB] 3) 스프링을 시작했을 때 일어나는 과정 순서대로 알아보기 프로젝트 구동은 web.xml 에서 시작한다. web.xml 상단에는 가장 먼저 구동되는 Context Listener가 등록되어있다. 1. ContextLoaderListener는 해당 웹 어플리케이션을 구동하게 되면 같이 작동이 시작되므로 해당 ..

Back-End/Spring 2021.08.27

[Spring] Spring - Mybatis, 로그레벨 설정하기

1) Spring - Mybatis - SQL이 복잡하거나 길어지는 경우에는 어노테이션보다 XML을 이용하는 것이 좋다. - Mybatis-Spring 의 경우 Mapper인터페이스와 XML을 연동해서 동시에 이용할 수 있다. - 인터페이스객체.메소드( ) 를 사용하는 순간 해당하는 인터페이스의 경로를 그대로 namespace로 가지고 있는 xml파일로 찾아가서 메소드명과 동일한 id의 쿼리문을 수행하여 결과를 돌려준다. ✔️ 결론!! - Mybatis는 내부적으로 JDBC의 PreparedStatement를 이용해서 SQL을 처리한다. - 따라서 SQL에 전달되는 파라미터는 JDBC에서와 같이 ?로 치환되어서 처리된다. - 복잡한 SQL의 경우 ?로 나오는 값이 제대로 전달 되었는지 확인하기가 쉽지않고..

Back-End/Spring 2021.08.27

[Spring] 스프링 프로젝트 의존성 주입 테스트, 오라클 연동하기

1) 기본 구성 요소 알아보기 src/main/java - 작성되는 코드의 경로 src/main/resources - 실행할 때 참고하는 기본 경로(설정 파일) src/test/java - 작성된 코드를 테스트 할 테스트 코드의 경로 src/test/resources - 테스트 관련 설정 파일의 보관 경로 src/main/webapp/WEB-INF/spring/appServlet/sevlet-context.xml - 웹과 관련된 스프링 설정 파일 src/main/webapp/WEB-INF/spring/root-context.xml - Bean 관리용 스프링 설정 파일 src/main/webapp/WEB-INF/web.xml - Tomcat의 web.xml src/main/webapp/WEB-INF/vie..

Back-End/Spring 2021.08.25

[Spring] Lombok 설치하기

1) Lombok 을 사용하는 이유 - 이클립스와 스프링 플러그인 만으로도 스프링 개발이 가능하지만, Lombok(롬복)을 이용하면 Java 개발시 getter/setter, toString( ), 생성자 등을 자동으로 생성해주므로 설치하여 사용하는 것이 좋다. 2) Lombok 다운로드하기 1. 아래 링크 접속하기 https://projectlombok.org/download Download projectlombok.org 2. 다운로드 버튼 클릭하기 3. 다운받은 Jar파일 resource 폴더에 옮겨놓기 4. 아이콘 모양이 ☕커피모양이라면 더블클릭하여 실행하기 5. 아래 창이 뜬다면 Specify location 버튼 클릭하기 6. 이클립스 실행파일이 있는 상위폴더에서 경로잡고 Select 클릭해주..

Back-End/Spring 2021.08.25

[Spring] 프로젝트 생성하기(Maven)

1) 프로젝트 생성하기(Maven) - Maven은 필요한 라이브러리를 특정 문서(pom.xml)에 정의해 놓으면 사용할 라이브러리 뿐만 아니라 해당 라이브러리가 작동하는 데에 필요한 다른 라이브러리들까지 관리하여 네트워크를 통해 자동으로 다운받아준다. 1. 이클립스에 서버, 인코딩(UTF-8) 잡아주기 2. Spring Legacy Project 로 새 프로젝트 생성하기 3. Spring MVC Project 로 선택하여 Next 클릭하기 4. 아래 창이 뜬다면 Yes 클릭하기 5. controller 경로 입력해주고 Finish 버튼 클릭하기 6. pom.xml에 하단 파일 메모장으로 열어서 내용 붙여넣기 ✔ 붙여넣기 후, 오류가뜬다면 프로젝트 우클릭 후 Maven 내 Update Project 클릭..

Back-End/Spring 2021.08.25
반응형