Frudy
7k
2019-06-14 15:25:02 작성 2019-06-14 16:52:29 수정됨
3
951

MVC1로 코드분리하기! (네이버게시판)


얼른 기존에 하던 (Spring)고객센터게시판 마저 완성해야되는데.......

갑자기 학원에서 개인프로젝트를 시켜서 5일동안 만들어봤어요.


강사님이 내건 조건은,

.java확장자 파일을 단, 하나도 사용하지 말것.

jsp 위주로 MVC Model1로 구현하라 하셨어요.


덕분에, MVC Model1로 구현할 때 코드분리를 어떻게 해야하는지

참으로 신기한 경험을 했어요.



(예전에 Model1로 했을 때 view코드랑 logic코드랑 섞여서 장난이 아니였죠)


캡쳐화면은 아래와같아요.


(나머지 생략)


ㅡㅡㅡ


1. 컨트롤러를 jsp파일로 만들기.

저는, Spring에서

view --> 컨트롤러 경로 매핑 --> 컨트롤러 도착하는 점에 착안하여,


항상 2개이상의 jsp파일을 만들었어요.

가령, 게시글LIST.jsp (view)가 필요하다면,


과거)

게시글List.jsp파일 위쪽에 <% %> 사이에 잔뜩 로직코드를 박아넣었다면,


현재)

get게시글List.jsp파일에서 DB를 통해 게시글목록을 얻어와서,

request.setAttribute()로 담고,

개시글List.jsp로 포워딩했어요.


--> 게시글List.jsp에는 모델2처럼, 오직 view코드만 존재하게됬어요.



2.

DAO.java 대신, .jspf파일사용,

DTO.java 대신 HashMap<String, Object>사용


DTO DAO를 .java확장자라서 만들수가없었어요.


그래서, DAO는,

<%@ page import = "java.util.List" %>

<%@ page import = "java.util.ArrayList" %>

<%!

public List<HashMap<String, Object>> getAttachmentList(int articleCode)

{ ...이하생략}


이렇게 jspf파일로 만들고,


아까 말씀드렸던 get게시글List.jsp에서

include file로 얻어와서,

List<HashMap<String, Object>> articleList = getArticleList(boardCode); 이렇게 사용했었어요.


그래서 생각보다 그렇게 코드가 더럽지않았어요.


게시글, 댓글, 대댓글, 이미지게시판 모두 DB처리 다 되지만,

5일동안 만든거라 부분적으로 버그가 장난이아니에요. 다 잡을수있는데 시간이 모자라네여....


일단 이거 잠시 접어두고.. 얼른 고객센터 게시판 완성해야겠어요..!

0
  • 댓글 3

  • 10k
    2019-06-14 16:45:26

    구글은 회사에서 차단이라.. 접속이...

  • DUDUDUDU
    451
    2019-06-14 17:35:17

    el코드 쓸꺼면서 굳이 자바파일을 못쓰게 하는이유가 뭐에요 ?

  • SDuck
    977
    2019-06-14 18:00:35

    배포할 때 JSP만 교체하면 되니까 재시작을 안해도 되는 것 말고는 장점이 없어보이는데요...

  • 로그인을 하시면 댓글을 등록할 수 있습니다.