게시판 글쓰기로 MySQL에 저장된 데이터를 가져와서

 

게시판 목록을 만들어보자!

 

 

select 문을 이용해서 데이터를 가져오고

 

PrepareStatement 객체에 데이터를 담고

 

결과 값을 반환하기 위해 

ResultSet 객체를 불러온다.

 

BoardDAO.java

 

게시판 글이 몇개 인지 모르기 때문에  객체 배열 클래스 ArrayList를 사용하여

return 값을 ArrayList로 반환 해야한다.

 

list라고 이름을 붙인 함수를 호출 했을 때

ArrayLIst 배열로 게시글 데이터를 담은 값을 반환해서

 

 

화면에 보여줘야 한다.

 

그래서 ArrayList<Board>에 값을 담아보자!!

쿼리문의 데이터를 가져온 ResultSet 객체

Board 클래스의 인스턴스(?)에 담기 위해

setter 사용

 

setter 안에 담을 데이터는 ResultSet 안에 있는 쿼리 데이터

 

 

SELECT * FROM BOARD;

MySQL에 bno , title ,content , writer ,createTime 순서 대로 있기 때문에

 

rs.getXXX에 순서 대로 담으면 된다.

 

 

이제 화면을 구현 해보자!!!

 

 

Board.jsp

당연히 먼저 데이터를 불러와야 하니깐

BoardDAO 클래스를 불러온다.

 

그 다음에 Board 객체 배열 클래스에 DAO 객체를 담는다.

 

위에 list 안에 값을 보여줄건데

 

ArrayList 배열 클래스이기 때문에

길이가 딱히 정해져 있지 않다.

 

그래서 배열의 각 위치에 있는 값을 다 불러와줘야한다.

 

-> for 반복문 사용

 

ArrayList get 메서드를 사용해서 확인 해보면

 

 

get(0) 

첫번째 위치에 있는 배열의 제목을 들고오면

 

안녕이라는 데이터를 가져올수 있다.

 

 

 

for 문을 사용해서 목록을 만들어보자

board.jsp

배열의 길이(크기, 사이즈) 는 실제로 13개!!

컴퓨터는 숫자 0부터 세기 때문에  0부터 12까지의 해당하는 배열의 index 불러와야하니깐

 

get(i).불러오고 싶은 데이터 값!!

 

 

 

'프로젝트 > JSP CRUD 게시판' 카테고리의 다른 글

Eclipse (Emmet 환경설정)  (0) 2020.12.01
게시판 목록 페이징 하기  (0) 2020.11.30
게시판에서 User 객체 가져오기?  (0) 2020.11.29
자바 빈즈 <jsp:useBean>  (0) 2020.11.29
페이지 전환, 이동  (0) 2020.11.20

게시판 만들기 중

 

로그인을 한 사용자만 게시판 글 등록을 할 수 있다.

로그인을 할 때 세션을 설정해주고

 

세션이 있으면 글쓰기 버튼이 보이고

없으면 보이지 않게 설정 해두었다.

 

 

 

 

 

글쓰기 버튼을 눌러서 제목과 내용을 입력해주면 

 

리스트와 DB에는 

 

제목과 내용 ,작성자, 작성일이 입력된다.

 

 

여기서 작성자는 로그인 할 때 UserID로 하고 싶은데,

 

 

어떻게 해야할까?

 

 

이 부분은 내가 세션 설정 했을 때 세션 값으로 

loginAction.jsp

 

user 의 id값으로 설정 해두었기 때문에 !!

 

 

BoadDAO로 작성자를 넣어줄 때 

그대로 세션 값을 넣어주면 

간단하게 해결 된다!!

 

JSP 파일에서 설정 해두었던 세션 값을 가져오고

 

 

BoardDAO 객체로 데이터를 넘긴 뒤

 

BoardDAO에서  받은 데이터를

그대로 넣어주었다.

 

 

여기서 세션 값으로 말고

User.java

 

회원가입에 사용하는

User 클래스 중에 name 데이터를 가져와서

 

게시판 작성자로 넣으려면 어떻게 해야 할까?

 

세션 값에 넣지 않은 이상 불가능 한건가..... .

 

 

 

'프로젝트 > JSP CRUD 게시판' 카테고리의 다른 글

게시판 목록 페이징 하기  (0) 2020.11.30
게시판 목록 만들기  (0) 2020.11.30
자바 빈즈 <jsp:useBean>  (0) 2020.11.29
페이지 전환, 이동  (0) 2020.11.20
포트 번호 충돌  (0) 2020.11.20

 

request.getParameter() 대신

 

자바 빈즈를 통해 값을 들고 와 DAO 객체에 넘겨 주려고 했는데 실패했다.

 

왜냐 하면

 

Board.java에

 

setter, getter 가 없기 때문이다.

 

 

 

자바 클래스에 setter 가 jsp:setProperty와 연결 되는 거 같고

getter가 <jsp:getProperty> 와 연결 되는 거 같다

 

둘 이 어떻게 연결이 되는 거지...

감이 안온다..

 

BoardAction.jsp

write.jsp  form 태그에서 들고 온 값을

 

request.getParameter로 가져 왔다.

 

이제 자바 빈즈를 사용해서 코드를 수정하면

 

 

Board.java 에 setter, getter 와

 

자바 빈즈를 이용해서 

BoardDAO에 자바 빈즈 객체 board를 넘겨 주었다.

 

 

 

write.jsp 파일에서  boardAction.jsp 파일로 데이터를 넘겨 줄 때

input 태그에 name 과 Board.java에 있는 변수 명이 같고

 

boardAction.jsp

<jsp : useBean> 에서 Board.java 클래스를 불러왔고

setProperty에 있는 property 값의 변수 이름과 동일 하기 때문에 연동이 되는 것 같다...............

 

 

'프로젝트 > JSP CRUD 게시판' 카테고리의 다른 글

게시판 목록 페이징 하기  (0) 2020.11.30
게시판 목록 만들기  (0) 2020.11.30
게시판에서 User 객체 가져오기?  (0) 2020.11.29
페이지 전환, 이동  (0) 2020.11.20
포트 번호 충돌  (0) 2020.11.20

JSP CRUD 게시판을 만드는 중!

 

페이지 전환과 이동이 많은데, 어떻게 코드를 짜야 할까?

 

회원가입을 누르면 회원가입 페이지로 가고,

회원가입을 완료하면 메인 화면으로 가고  로그인 버튼을 누르면 로그인 화면으로 가고

게시판 글쓰기를 누르면 게시판 글쓰기 페이지로 가고, 

글 작성을 하면 데이터를 들고 게시판 리스트 화면으로 가서 입력한 데이터를 화면으로 보여주고

 

페이지 전환과 이동이 많다.

 

관련 함수나 기능들을 정리하고 하나 하나 분석해보자

 

우선 form 태그 안에 있는 속성인 action을 이용하여 전송 할 곳을 지정 할 수 있다.

 

 

그 다음 <script> 안에 location.href 사용

location.href를 통해 로그인 화면 (login.html)으로 바로 이동한다.

 

 

index.jsp 파일에서 실행 했지만, login.html으로 이동한 것을 볼 수 있다.

 

 

회원가입 하기

join.jsp

 

 

form 태그 속성 action 안에 joinAction.jsp를 입력 한다.

 

이제 회원가입 하기 위해 form 안에 있는 input 박스에 값을 입력하면

값을 joinAction.jsp으로 보내고 페이지가 이동된다.

 

joinAction.jsp

 

join.jsp 에서 입력한 회원가입 정보의 값으 불러온다음

데이터 베이스와 연동하기 위해 UserDAO안에 불러온 값을 넣는다.

 

페이지 이동 방법


리다이렉트(redirect) 방식

response.sendRediect(페이지);

클라이언트가 새로 페이지를 요청한 것과 같은 방식으로 페이지가 이동한다.

웹 브라우저의 주소창에는 이동된 URL이 보인다.

 

처음 요청 받은 현재 JSP 페이지로부터 이동할 URL을 웹 브라우저로 반환한다.

이때 웹 브라우저에서는 새로운 요청을 생성하여 이동할 URL에 다시 요청을 전송하므로 처음 보낸 요청 정보가 

이동 된 URL에서는 유효하지 않습니다.

( 무슨 말 인지 이해가 안됨)

 


포워드(forward) 방식

<jsp:forward page ="이동할 페이지" />

현재 JSP 페이지에서 이동할 URL로 요청 정보를 그대로 전달하므로 사용자가 최초로 요청한 정보가 이동된 URL에서도

유효합니다. 그러나 이동된 URL이 웹 브라우저 주소 창에 나타나지 않고 처음 요청한 URL이 나타나기 때문에

이동 여부를 사용자가 알 수 없습니다.

 

 


 

ex)

 

wrtie.jsp  , boardAction.jsp , index.jsp

 

3개의 파일이 있다.

 

write.jsp

 

여기서 값을 입력하고 버튼을 누르면 BoardAction.jsp 파일로 이동한다.

 

BoardAction.jsp에서 데이터베이스와 연동을 해서 값을 전달하고

 

index.jsp 파일로 이동 할 건데,

 

forward 방식으로 index.jsp 파일로 이동하면

 

index.jsp 페이지로 이동 했지만 URL에는 boardAction.jsp가 남는다.

 

 

response.sendRedirect("index.jsp") 로 요청하게 되면?

 

index.jsp 페이지로 이동하고 URL에도 index.jsp가 남는다.

'프로젝트 > JSP CRUD 게시판' 카테고리의 다른 글

게시판 목록 페이징 하기  (0) 2020.11.30
게시판 목록 만들기  (0) 2020.11.30
게시판에서 User 객체 가져오기?  (0) 2020.11.29
자바 빈즈 <jsp:useBean>  (0) 2020.11.29
포트 번호 충돌  (0) 2020.11.20

대략 해석하면 8005,8080를 이미 사용하고 있으니 사용 할 수 없다는 뜻,

 

톰캣 서버에서 포트번호를 변경하거나 

위 8080 포트 번호를 죽여야하는데,

 

 

 

taskkill /f /pid pid번호를 입력하면 된다.

'프로젝트 > JSP CRUD 게시판' 카테고리의 다른 글

게시판 목록 페이징 하기  (0) 2020.11.30
게시판 목록 만들기  (0) 2020.11.30
게시판에서 User 객체 가져오기?  (0) 2020.11.29
자바 빈즈 <jsp:useBean>  (0) 2020.11.29
페이지 전환, 이동  (0) 2020.11.20

+ Recent posts