본문 바로가기
STUDY/SPRING

[spring 2.5]게시판

by Anne of Green Galbes 2019. 4. 8.

스프링(2.5)를 이용한 게시판 만들기


1. DB생성

create table sbbs

(boardNum number(9) not null,

name varchar2(20) not null,

pwd varchar2(10),

email varchar2(50),

subject varchar2(50) not null,

content varchar2(4000) not null,

ipAddr varchar2(20) not null,

hitCount number(9) not null,

created date,

constraint pk_bbs_boardNum primary key(boardNum));

2. jsp파일 수정

① created.jsp

○ 자바 스크립트 action 수정

if(f.mode.value=="insert")

f.action = "<%=cp %>/bbs/created.action";

else

f.action = "<%=cp %>/bbs/updated.action";

f.submit();

○ 보내는 부분 수정

<div id="bbsCreated_footer">

<c:if test="${mode=='update' }">

<input type="hidden" name="boardNum" value="${dto.boardNum }">

</c:if>

<input type="hidden" name="mode" value="${mode }">

<input type="hidden" name="pageNum" value="${pageNum }">

<input type="hidden" name="searchKey" value="${searchKey }">

<input type="hidden" name="searchValue" value="${searchValue }">

<input type="button" value="등록하기" class="btn2" onclick="sendIt();" />

<input type="reset" value="다시입력" class="btn2" onclick="document.myForm.subject.focus()" />

<input type="button" value="작성취소" class="btn2" onclick="javascript:location.href='<%=cp %>/bbs.list.action';" />

</div>


② list.jsp

○ 스크립트 추가

<script type="text/javascript">

function searchData() {

var f = document.searchForm;

f.action = "<%=cp%>/bbs/list.action";

f.submit();

}

</script>


③ article.jsp


3. Command 생성

○ DTO

public class BoardCommand {

private int listNum;

private int boardNum;

private String subject;

private String name;

private String email;

private String pwd;

private String content;

private String ipAddr;

private String created;

private int hitCount;

private String mode;

private String pageNum;

private String searchKey;

private String searchValue;


            //getter & setter 작성


}


4. 컨트롤러 작성


① 객체 생성

@Controller("bbs.boardController")

public class BoardController {

@Resource(name="dao")

private CommonDAO dao;

@Resource(name="myUtil")

private MyUtil myUtil;

}


② 입력메소드 작성

○ 리다이렉트 : redirect:/주소

@RequestMapping(value="/bbs/creatd.action", method={RequestMethod.GET,RequestMethod.POST})

public String created(BoardCommand command, HttpServletRequest request) throws Exception{

if(command==null || command.getMode()==null || command.getMode().equals("")){

request.setAttribute("mode", "insert");

return "board/created";

}

command.setBoardNum(dao.getIntValue("bbs.boardNumMax")+1);

command.setIpAddr(request.getRemoteAddr());

dao.insertData("bbs.insertData", command);

//스프링에서의 리다이렉트

return "redirect:/bbs/list.action";

}


○ 나머지는 변경부분 없음

댓글