애옹이

[Day 01] 매우 기본 게시판 따라잡기_(1)설정 본문

프로젝트/백문이불여일타 !

[Day 01] 매우 기본 게시판 따라잡기_(1)설정

cat1005 2016. 8. 23. 21:36

목표 : 아주 아주 초보 게시판 따라 설정하고 서버 구동까지.

보고 배우는 site : http://forest71.tistory.com/29

보고 가져오는 source : https://github.com/gujc71/board_sample

게시판 구동 환경 Spring 4 + MyBatis 3 + mysql (Maven) 기반


◈ 이슈 : 설정 부분!!!

1) Source 가져오기.

# import-git-projects from git을 하려하였으나, 내가 사용하는 장소의 특성상 보안정책에 걸려, 

  git 으로부터 가져올수 없는 상황.

=> 그냥 ZIP file 로 받아서 import...ㅋㅋㅋㅋㅋㅋㅋㅋ(우왕, 굿)


2) DB 연결정보 설정

# url로 DB드라이버의 정보를 적었으나, (ㄱ)접근권한 없음. (ㄴ)해당 테이블 찾을수 없음. 의 상황.

=> (ㄱ)의 경우, 아래와 같이 권한부여로 해결.

CREATE USER 'DB접속아이디'@'%' IDENTIFIED BY 'DB비밀번호';

GRANT USAGE ON 스키마.* TO '스키마'@'%' IDENTIFIED BY 'ktedudb';

GRANT ALL PRIVILEGES ON `스키마`.* TO '스키마'@'%' WITH GRANT OPTION;

GRANT ALL PRIVILEGES ON `스키마\_%`.* TO '스키마'@'%' WITH GRANT OPTION;


=> (ㄴ)의 경우, 연결하려는 DB마다 접속url 의 요구하는 양식이 다르다.

Mysql의 경우, p:url="jdbc:log4jdbc:mysql://localhost:3306/접근하려는 스키마"


3) Apache Tomcat의 Server.xml에서 path="/" 잡기.

# Brower의 URL을 설정.

=> <Context docBase="프로젝트이름" path="url요청할 값" reloadable="true" source="org.eclipse.jst.j2ee.server:simpleboard"/>


4) pom.xml 에 dependencies 설정. : 각각의 역할 정의는 추후 update 예정.
=> <1> Spring 4 dependencies
▶ spring-core / spring-web / spring-webmvc / spring-tx / spring-orm / cglib / jstl
<2> log4j

▶ log4j-api / log4j-core / log4jdbc-log4j2-jdbc4 / log4j-slf4j-impl / slf4j-api

<3> myBatis

▶ mysql-connector-java / mybatis / mybatis-spring

<4> commons-dbcp

▶ commons-dbcp

<5> file upload

▶ commons-io / commons-fileupload

<6> json request

▶ jackson-mapper-asl


5) web.xml

=> filter의 encoding 설정 / servlet 설정 / listener 설정 / context-param 설정


6) dispatcher-servlet.xml

=> anotatiion 설정 / 컨트롤러 찾는 패키지 경로 설정 / Bean 등록 : ViewResolver / resources / Resolver


7) applicationContext.xml

=> anotatiion-config : 빈 클래스에서 다양한 주석 활성화

=> annotation-driven transaction-manager="transactionManager" : 여러 개의 빈을 명시적으로 설정해야하는 경우.

=> dateSource 설정 : db 접속환경 설정

=> sqlSession / sqlSessionTemplate ...등등 설정하여 빈 으로 등록.

=> txAdvice 설정 : 

<tx:advice id="txAdvice" transaction-manager="txManager">

<tx:attributes>

<tx:method name="*" rollback-for="Exception"/>

</tx:attributes>

</tx:advice>


8) jsp 파일 놓는 위치 : 참고 site => http://best421.tistory.com/51

=> WebContent 폴더에 파일을 넣으면, 이는 Browser URL 주소로 직접 접근이 가능하다.

그러나 WEB-INF에 넣으면 Browser에서 직접 접근이 불가하므로 WEB-INF에 file들을 넣고

applicationContext.xml을 생성


=> 그리고 applicationContext.xml 의 Namespaces 탭에 들어가면 목록들이 보이고 그 중에서 mvc 를 체크한다.

체크하고 저장하면 source에 mvc 관련 링크가 들어와있는 것을 볼 수 있다.


=> 그 다음 web.xml에서 UTF-8을 위한 코드를 입력해준다.


=> src/main/java에 Controller 를 생성한다.

client의 Browser 요청을 받아 웹서버에서 해당 URL을 @RequestMapping("Browser의 요청URL 값 ")된

Controller로 해당 요청을 보낸다.


=> 그리고, Controller에서 return한 String(또는 Model)들은 applicationContext와 연결된다.

결과적으로 /WEB-INF/view/mainPage.jsp가 완성.


=> Controller을 생성했으면, applicationContext.xml 에서 어떤 파일이 컨트롤러 인지 반드시 추가.









=> C


=> C








------------------- 1차 작성일 : 2016/08/23(화) : 설정편 (3)번까지 -------------------

------------------- 2차 작성일 : 2016/08/25(목) : 설정편 (7)번까지 -------------------

------------------- 3차 작성일 : 2016/08/29(월) : 설정편 (8)번     -------------------