ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 0.스프링 구조 설명.
    스프링 웹 개발 하기/스프링 개발 초기 설정. 2020. 1. 27. 16:31

    실제 프로젝트에 사용할 JAVA 1.8,Tomcat 7 ,DB PostgresSql(설정은 오라클 Mysql 포함.) 

    1. 스프링 구조.

    스프링 구조는 기본적으로 MVC 디자인 패턴 구조로 되어 있다.

    (M)odel(객체) (V)iew(화면) (C)ontroller(조작) 으로 나누는 방식이다.

    하지만 같은 MVC 지만 다양한 방식으로 구조를 잡기 때문에 어떤 분은 controller 대신 servlet ,VO 대신 Bean으로 잡으시는 분 들고 있고 다양하다.

    그러기 때문에 이건 제가 자주쓰는 구조일 뿐 자기한태 맞는 구조를 찾는 것도 좋은 방식으로 생각하고 있습니다.

     

    .jsp 는 화면에 보여주는 역할을 한다.

    .xml 은 주로 설정 관련된 역할을 한다.

    .java 는 데이터를 가공하고 DB와 연결을 주로 담당한다.

    1)pom.xml : 라이브러리를 다운로드하는 부분. (resources 밑에 lib폴더를 생성후 밑에 jar파일 을 넣어 준후 Properties 밑에 Java Build Path에 해당 라이브러리 등록 후 사용해도 된다.)

    2)web.xml : web.xml은 <web-app>태그로 시작하고 종료하는 문서로서 web.xml이 정의된 Web Application의 동작과 관련된 다양한 환경 정보를 태그기반으로 설정하는 파일입니다.

    톰켓이 최초 구동될 때 web.xml을 읽고 그에 해당하는 설정을 구성한다.

    (3번의 경로 설정이 기본적으로 설정 되어 있습니다.)

    (해당 문법을 전부 외우는 건 개인적으로 비추천 합니다.)

    ※주로 작성 되는 내용.

    -ServletContext의 초기 파라미터

    -Session의 유효시간 설정

    -Servlet/JSP에 대한 정의
    -Servlet/JSP 매핑
    -Mime Type 매핑
    -Welcome File list
    -Error Pages 처리
    -리스너/필터 설정
    -보안

    3)root-context.xml : 곳은 공통빈을 설정하는 곳으로 주로 View 지원을 제외한 bean을 설정한다고 한다.

    ex) Service / Repository(DAO) / DB/ log 등

    servlet-context.xml : 정답은 아니지만 주로 View 지원 bean을 설정한다고 한다. ex) Controller 등

    그래서 그런지 어노테이션, 리소스 디렉토리, ViewResolver에 관한 설정들이 있다.

    servlet-context.xml주석으로 상세 설명을 해놨다.

    2. DB 구조.

    DB 설정을 하는 구간.(상세 내용은 mybatis설정 쪽에.)

    설정전
    설정 후

    2. 자바구조.

     

    M패키지 종류 및 역할.

    1.domain(vo,bean) : 객체를 만들어 주는 구간(객체이기 때문에 주로 DB의 컬럼 이름과 맞춰주는게 좋다. Map과 유사)

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
     
    public class TestVO {
    private int tno;
    private String Test;
    public int getTno() {
        return tno;
    }
    //get set
    public void setTno(int tno) {
        this.tno = tno;
    }
    public String getTest() {
        return Test;
    }
    public void setTest(String test) {
        Test = test;
    }
    //toString
    @Override
    public String toString() {
        return "TestVO [tno=" + tno + ", Test=" + Test + "]";
    }
    }
     
     
    getter, setter, toString 쉽게 하는 법

    art+shift +s 누르면 된다.

    getter은 해당 정보를 가져올때 setter은 해당 정보를 변경할 때를 위해 설정.

    toString은 디버깅 할때 주소값이 아니라 문자열로 해당 내용을 보여주기 때문에 설정한다.  

    2.dao(persistence) : DB와 연결을 담당하는 부분. 

    mapper의 namespace + id 값을 넣어주면 해당 쿼리를 불러온다.

    3.service : DAO와 Controller 의 중간에서 데이터를 가공하는 역할을 함.

    4.controller : JSP와 매핑을 하는 역할을 하는 메소드를 모아둔 패키지.

    5.util  :  외부에서 기능을 만들어서 사용할 java파일. 

    6.interceptor : 로그인 처리 시 사용하는 패키지.

     

     

    처음에 Hellow World가 뜨는 이유는 HomeHomeController에 연결 되어있다.

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
        @RequestMapping(value = "/", method = RequestMethod.GET) //기본 경로가 /
        public String home(Locale locale, Model model) {
            logger.info("Welcome home! The client locale is {}.", locale);
            
            Date date = new Date();
            DateFormat dateFormat = DateFormat.getDateTimeInstance(DateFormat.LONG, DateFormat.LONG, locale);
            
            String formattedDate = dateFormat.format(date);
            
            model.addAttribute("serverTime", formattedDate ); //map과 비슷한 개념 키값을 jsp에 사용해서 값을 가져올수 있다.      
            return "home"; //views home.jsp와 연결. (jsp를 빼줘야 한다.)
        }
     
     
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
    <%@ page session="false" %>
    <html>
    <head>
        <title>Home</title>
    </head>
    <body>
    <h1>
        Hello world!  
    </h1>
     
    <P>  The time on the server is ${serverTime}. </P>// 키값을 이용해서 현재 시간을 가져 왔다.
    </body>
    </html>
     
     
     

     

    '스프링 웹 개발 하기 > 스프링 개발 초기 설정.' 카테고리의 다른 글

    6. 마이바티스 연결.  (0) 2020.01.05
    5.DB커넥션 풀  (0) 2020.01.05
    4.DB설정. -- postgresql,mysql,oracle  (0) 2020.01.05
    3.스프링 기본 설정.  (0) 2020.01.01
    2.서버 톰캣 설정.  (0) 2020.01.01
Designed by Tistory.