본문 바로가기
IT/JSP

[JSP] MVC 패턴으로 만든 게시판 01 - net.board.action 패키지

by dya0 2019. 5. 28.

interface 

Action.java

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
 
/*
 특정 비즈니스 요청으로 수행하고 결과 값을 ActionForward 타입으로 변환하는 메서드가 정의되어 있다.
  */
 
public interface Action{
    public ActionForward execute(HttpServletRequest request, HttpServletResponse response)
//어떤 클래스를 생성해도 상속 Action
    throws Exception;
}
 

 

ActionForward.java

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 ActionForward {    
    private boolean redirect = false;
    private String path = null;
    public boolean isRedirect() {
        //프로퍼티 타입이 boolean일 경우 get 대신 is를 앞에 붙일 수 있다.
        return redirect;
    }
    //property redirect의 set 메소드
    public String getPath() {
        return path;
    }
    
    public void setPath(String string) {
        this.path = string;
    }
    
    public void setRedirect(boolean b) {
        this.redirect = b;
    }    
}
 
Colored by Color Scripter

 

BoardFrontController.java

 

 

BoardAddAction.java

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
 
import javax.servlet.ServletContext;
 
import com.oreilly.servlet.MultipartRequest;
import com.oreilly.servlet.multipart.DefaultFileRenamePolicy;
 
 
public class BoardAddAction implements Action {
 
    @Override
    public ActionForward execute(HttpServletRequest request, HttpServletResponse response) throws Exception {
        BoardDAO boarddao = new BoardDAO();
        BoardBean boarddata = new BoardBean();
        ActionForward forward = new ActionForward();
        String realFolder = "";
        int filesize = 10 * 1024 * 1024;
        // Webcontent 아래에 꼭 포럳 생성
        String saveFolder = "boardupload";
        //실제 저장 경로 지정
        ServletContext sc = request.getServletContext();
        realFolder = sc.getRealPath(saveFolder);
        /*
         realFolder= request.getSession().getServletContext().getRealPath(savePath)
          */
        System.out.println("realFolder" + realFolder);
        boolean result = false;
        try {
            MultipartRequest multi = new MultipartRequest(request, realFolder, filesize, "euc-kr",
                    new DefaultFileRenamePolicy());
            //BoardBean 객체에 글 등록 폼에서 입력 받은 정보들을 저장한다.
            System.out.println(
                    multi.getParameter("BOARD_NAME"));
            
            boarddata.setBOARD_NAME(multi.getParameter("BOARD_NAME"));
            System.out.println(boarddata.getBOARD_NAME());
            
            
            
            boarddata.setBOARD_PASS(multi.getParameter("BOARD_PASS"));
            boarddata.setBOARD_SUBJECT(multi.getParameter("BOARD_SUBJECT"));
            boarddata.setBOARD_CONTENT(multi.getParameter("BOARD_CONTENT"));
            boarddata.setBOARD_FILE(multi.getParameter("BOARD_FILE"));
 
            String filename = multi.getFilesystemName("BOARD_FILE");
            boarddata.setBOARD_FILE(filename);
            //글 등록 처리르 위해 DAO의 boarInsert메서드를 호출한다.
            //글 등록 폼에서 입력한 정보가 저장되어 있느 ㄴboarddate객체를 전달한다.
            result = boarddao.boardInsert(boarddata);
            if(result ==false) {
                System.out.println("게시판 등록 실패");
                forward.setPath("error/error.jsp");
                request.setAttribute("message""게시판 등록 실패");
                forward.setRedirect(false);
                return forward;
            }
            System.out.println("게시판 등록 완료");
            //글등록이 완료되면 글 목록을 단순히 보여주기만 할 것임로 redirect 여부를 false로 설정
            /*DAO에 insert*/
            forward.setRedirect(true);
            forward.setPath("./BoardList.bo");
            return forward;
 
        } catch (Exception e) {
            e.printStackTrace();
        }
        // BoardBean 객체에 글 등록 폼에서 입력 받은 정보들을 저장한다.
//        obarddate.setBOARD_NAME()
        return null;
    }
 
}
 
Colored by Color Scripter

BoardDeleteAction.java

 

BoardListAction.java

 

 

 

'IT > JSP' 카테고리의 다른 글

[JSP]Filter  (0) 2019.06.17
[JSP] 게시판  (0) 2019.05.28
[JSP]파일 업로드(미완성)  (0) 2019.05.24
[AJAX] 에이잭스  (0) 2019.05.21
[JSP] core ex 01  (0) 2019.05.20