(주)이트리즈시스템

이트리즈시스템 일경험 2일차

코딩만만세 2024. 5. 21. 12:01

오전에 개발환경 셋팅을 마무리했습니다.

 

공유해준 교육파일을 이클립스에 임포트했습니다.

 

프로젝트 구조는 
  1. Controller: HTTP 요청을 받고, 비즈니스 로직을 실행한 후 적절한 응답을 생성하는 부분입니다.
    • HomeController.java
      • home() 메서드: 현재는 홈페이지로 이동하는 GET 요청을 처리합니다. 이를 확장하여 다양한 홈페이지 기능을 추가할 수 있습니다. 예를 들어 최신 게시글 목록을 표시하거나 공지사항을 보여줄 수 있습니다.
    • BoardController.java
      • boardList() 메서드: 현재는 페이지별 게시글 목록을 가져오는 기능을 제공합니다. 페이징 처리 외에 검색 기능이나 정렬 기능을 추가할 수 있습니다.
      • boardView() 메서드: 특정 게시글의 상세 정보를 가져오는 기능입니다. 댓글 기능이나 게시글 수정 및 삭제 기능을 추가할 수 있습니다.
      • boardWrite() 메서드: 게시글 작성 페이지로 이동하는 기능입니다. 이를 확장하여 파일 첨부 기능이나 WYSIWYG 에디터를 추가할 수 있습니다.
      • boardWriteAction() 메서드: 게시글을 작성하는 기능입니다. 현재는 단순히 게시글을 DB에 삽입하고 성공 여부를 JSON으로 반환합니다. 이를 통해 작성한 게시글의 미리보기 기능을 추가할 수 있습니다.
  2. Service 및 DAO 클래스:
    현재는 각각 비즈니스 로직과 데이터베이스 액세스를 처리합니다. 향후에는 더 다양한 비즈니스 로직을 추가하고 성능을 최적화할 수 있습니다. 또한 트랜잭션 관리 및 예외 처리를 강화할 수 있습니다.
    • boardService.java
    • boardServiceImpl.java
  3. DAO: 데이터베이스와 상호작용하는 부분입니다.
    • BoardDao.java 
    • BoardDaoImpl.java
  4. VO 및 Mapper XML:
    • VO 클래스는 데이터 전달을 위한 객체로 사용됩니다. 필요한 경우 이를 확장하여 더 많은 속성을 추가할 수 있습니다.
    • Mapper XML 파일은 MyBatis를 사용하여 SQL 쿼리를 정의합니다. 쿼리를 최적화하고 보안을 강화하는 등의 작업을 수행할 수 있습니다.

    • BoardVo.java
    • PageVo.java
  5. Mapper XML: MyBatis를 사용하여 SQL 쿼리를 정의하는 XML 파일입니다.
    • board.xml (MyBatis XML 파일)
  6. JSP:
    • 각 JSP 파일은 사용자에게 보여지는 뷰를 담당합니다. 현재는 게시글 목록, 상세 정보, 작성 페이지를 제공합니다. 디자인을 개선하고 사용자 경험을 향상시키는 등의 작업을 수행할 수 있습니다.

    • boardList.jsp
    • boardView.jsp
    • boardWrite.jsp
  7. CommonUtil.java:
    • 유틸리티 클래스와 Spring 설정 파일은 보조 기능을 제공합니다. 필요에 따라 새로운 유틸리티 메서드를 추가하고 Spring 설정을 조정할 수 있습니다.
비즈니스 로직:

 

  • 게시글 목록 조회: BoardController의 boardList 메서드에서 페이지 번호를 받아와 해당 페이지에 대한 게시글 목록을 조회합니다. boardService를 통해 데이터베이스에서 게시글 목록을 가져오고, 이를 JSP 파일로 전달하여 사용자에게 보여줍니다.
  • 게시글 상세 조회: BoardController의 boardView 메서드에서 게시글의 타입과 번호를 받아와 해당 게시글의 상세 내용을 조회합니다. 마찬가지로 boardService를 통해 데이터베이스에서 게시글을 가져와 사용자에게 보여줍니다.
  • 게시글 작성: BoardController의 boardWriteAction 메서드에서 사용자로부터 입력받은 게시글 정보를 받아와 데이터베이스에 삽입합니다. 삽입 결과를 JSON 형태로 응답합니다.
  • 그 외: 게시글 수정, 삭제 등의 기능이 구현되어 있지 않지만, 유사하게 비즈니스 로직을 처리할 수 있을 것입니다.
주요 기술 스택:
    1. Spring MVC:
      • 웹 애플리케이션을 모델-뷰-컨트롤러(MVC) 아키텍처로 구성하여 요청을 처리하는 프레임워크입니다.
      • 예시: Controller 클래스들을 작성하여 HTTP 요청을 받고, 비즈니스 로직을 처리한 후 적절한 응답을 반환합니다.
    2. MyBatis:
      • SQL 매핑을 XML 파일로 정의하여 데이터베이스와의 상호작용을 쉽게 처리하는 데이터베이스 액세스 프레임워크입니다.
      • 예시: SQL 쿼리를 XML 파일에 정의하고, Java 코드에서는 MyBatis의 메서드를 호출하여 데이터베이스와 상호작용합니다.
    3. Jackson:
      • JSON 데이터를 처리하기 위한 라이브러리로, Java 객체를 JSON 문자열로 변환하거나 JSON 문자열을 Java 객체로 변환할 수 있습니다.
      • 예시: Controller에서는 Jackson을 사용하여 JSON 형식의 데이터를 생성하고, 이를 HTTP 응답으로 반환합니다.
    4. JSP:
      • JavaServer Pages의 약자로, 동적인 웹 페이지를 생성하기 위한 서버 사이드 스크립트 언어입니다.
      • 예시: JSP 파일 내에서는 HTML 코드와 함께 Java 코드를 사용하여 동적인 웹 페이지를 생성합니다.
  1.  

 서버를 실행했습니다.

하지만 화면에서 ' Origin 서버가 대상 리소스를 위한 현재의 representation을 찾지 못했거나, 그것이 존재하는지를 밝히려 하지 않습니다. ' 404오류가 떴습니다.

 

문제해결방법을 찾고 있습니다... 해결하지 못했습니다.

내일 교육팀장님의 피드백이 필요할것같습니다..

  1.