20/10/28-29 10. 게시판에 뿌리기

 

부트스트랩을 사용한 간단 게시판 예제 제작


 

1.Maven프로젝트 생성 MyTest1

2.pom.xml에서 servlet.api.jar 파일 다운

3. -servlet 파일 작성

4. lib 붙여넣기


 

10/29

1. db부분은 붙여넣기

2. sql 구문을 바꿔보기

3. 화면에 출력되는지 확인하기

4. jsp에 부트스트랩을 적용해서 모양 만들기 : 파이널 프로젝트에 집중하기로 결정


 

1. db부분은 붙여넣기

2. sql 구문을 바꿔보기

3. 화면에 출력되는지 확인하기

1.SpringMybatis를 MyTest2로 save as한다.

1. 메이븐이 있을 때는 폴더 트리 경로에서 .project 에서 이름을 바꾼다.

2. 메이븐이 아닌건war로 내보내고 war로 임포트한다.

 

2. 수정할 사항들

[x]0. index.jsp에서 경로 수정

[x]4. BoardCommand.java dto 작성

[x]1. list.jsp에서 get메서드

[x]2. jdbc.properties에서 오라클 정보 수정

[x]3. Board.xml에서 실행할 sql 구문 수정

[]5. BoardDAO (interface) 작성

[]6. 5상속받은 Dao 작성 SqlMapBoardDao

3. 성공

 

4. jsp에 부트스트랩을 적용해서 모양 만들기

5. 글 조회 기능

[x]1.RetrieveActionController.java 확인

[x]2.retrieve.jsp에서 getter 메서드 수정

[x]3.board-servlet.xml에서 /글상세보기 폼으로 이동/ 빈 생성

1) 문제점 발생

1. 글을 보기 위해 title 클릭하여 이동하면 글 수정 화면으로 바로 이어진다는 것

→ 글 보여지는 화면으로 만들고

→ 일단 글 수정 화면으로 바로 이어지게 만든 뒤 retrieve.jsp화면을 수정하는 것으로.

→ 6. 으로 이동

→ 글 수정 버튼을 추가

→ 6. 으로 이동

2. 비밀번호 작성하는 버튼이 없음

[x]4.Board.xml에서 할일X

▶2) Board.xml에서 할일이 있었다. 글 상세보기에 따른 sql 구문을 수정하지 않아서 nullpointer reception이 떨어졌다. ▷ 이 참에 필드명을 모두 수정한다.

▶3) 다시 확인해보니 할일이 없는게 맞았다. 조회수+1 시키는 sql구문만 있는데 이건 나랑 상관이 없음.

▶4) 그럼 왜 null이 떨어졌지? ▷ RetrieveActionController.java에서 num이 조회수의 num인 줄 알고 주석처리해서였음 주석을 풀었다.

▶5) 에러 ▷ sql 에러가 떨어짐 ▷ Board.xml 확인하자 게시물 번호에 따른 레코드 한 개 상세보기 sql 구문을 주석 처리했음을 알 수 있다.. 주석을 푼 뒤 필드명에 맞게 수정

▶6) sql 구문 에러 ▷error code [17004]; 부적합한 열 유형: 1111;  ▷  상황 : form에서 넘긴 데이터의 VO 변수가 바인드 된다고해도 사용하는 변수가 null값으로 세팅되면 발생함. https://subinto.tistory.com/35 ▷ list.jsp에서 매개변수 넘겨주는 코딩을 추가함. title을 누를 경우 retrieve.do로 요청이 가면서 매개변수 num의 값 <%=num%>을 전달한다

[x]5.BoardDAO.java에서 글상세보기 메서드 작성

[x]6.SqlMapBoardDao.java에서 5번 오버라이딩하여 getSqlSession사용하여 sql구문을 실행

 

 

6. 글 조회 화면으로 view 수정(retrieve.jsp) + 수정하기 버튼 추가

1. bootstrap 연동하기

1.부트스트랩 연동하는 방법을 찾아본다.

C:\webtest\6.Ajax & JQuery & bootstrap\8일차(JQuery의 Ajax를 이용한 DB연동방법2),boostrap의 개요및 작성법\boostrap자료\bootstrap-3.3.2-dist 의 css / fonts / js폴더를 WEBCONTENT에 붙여넣는다.

2. bootstrap 적용하기

1. 문제 발생 : 글목록list의 bootstrap만 있고... 글상세보기 페이지의 bootstrap은 없다 하하

▶ 좋은 예제 사이트를 발견 : https://github.com/braverokmc79/jsp_sin

3. 생각해보니까 내 파이널 프로젝트에는 글 조회화면이 없을뿐더러... ㅠㅠ 아예 다른 페이지를 만드느니 당장 파이널 프로젝트에 집중해서 작업하기로 결정.

글 작성 기능으로 넘어간다.

7. 글 작성 화면

1. 입력받지 않고 자동으로 채워넣어지는 항목들(글번호, 주문번호,  상품아이디)

    →7-1.주문번호는 필요없으므로 삭제해도된다.

1-1. 화면에 보이지 않아도 되는 항목들

1) 글번호 : 게시글 정렬 순서에만 필요하다.

    →ㄱ.자동으로 입력되는 항목 어떻게 하는지 로직이 기억 안나므로 찾아야한다.

2) 상품아이디 : 해당 상품의 상세 페이지로 이동해야한다.

    →ㄱ. 카테고리 개념인데 어떻게 구현해야할지 모르겠음 강사님께 조언을 구한다.

2. 입력받는 항목들(사용자아이디, 글제목, 글내용, 글비밀번호, 첨부이미지)

→ 7-1. db에 첨부이미지 항목이 누락되었으므로 필드 추가한다.

 

7-1. db수정

7-1.주문번호는 필요없으므로 삭제해도된다.

7-1. db에 첨부이미지 항목이 누락되었으므로 필드 추가한다.

▶ 테이블 백업

create table aft_board2 as select * from aft_board;

▶ 기존 레코드 삭제

delete from aft_board where aft_num=1;

▶ order_no 필드 드롭

alter table aft_board drop column order_no;

 

 

▶ aft_img 필드 추가 varchar2(100) Null

alter table aft_board add aft_img varchar2(100) Null;

▶ desc table aft_board;

 

▶ 레코드 추가

insert into aft_board values(1, 100, 'test1', 'Sf', '예쁜 꽃이네요', '정말 예쁜 꽃이 와서 기분이 좋아요', sysdate, 1111);