메뉴 건너뛰기

관리자2017.05.10 15:42

안녕하세요~ 오랜만이시네요. 그동안 열심히 공부하고 계셨나보네요ㅎㅎ
말씀하신 방법도 있겠지만, 간단한 방법도 생각해볼 수 있을 것 같습니다.

사실 웹 클라이언트 프로그래밍하고는 전혀 무관한 내용이지만.. Java와 Database를 학습하셨다고 하니 이것들을 이용하여 간단히 예를 들어보겠습니다.

계정이라는 것은 고유한 아이디를 가집니다. 이 아이디를 primary key로 설정하여 account 라는 테이블 스키마를 하나 만들 수 있겠죠.

account(id, password, nickname, ...)

그리고 또한 메모라는 것은 작성자와 제목, 내용등을 필드로 가지는 스키마로 만들 수 있을 것입니다.
여기서 작성자(user_id)는 account의 id를 외래키로 참조하는 필드여야 할 것 입니다.

memo(user_id, title, contents, ...)

그 뒤에 메모를 불러오는 JSP 코드를 작성할때, 현재 로그인한 사용자의 아이디와 일치하는 메모 레코드들만 불러오면 될 것입니다.

 

<%-- JSP CODE --%>
<%
Account account = getConnectedAccount(); // 현재 접속중인 계정 레퍼런스를 받아옵니다.
List<Memo> userMemoList = new ArrayList<Memo>(); // 현재 접속중인 계정이 작성한 메모만을 담기 위한 리스트

// DB 연결
Connection connection = DriverManager.getConnection("jdbc:mysql:ADDRESS:PORT/DB_NAME" , "username", "password");
Statement statement = connection.createStatement();

// memo 테이블에서 id가 현재 접속중인 계정과 일치하는 레코드만 추출
ResultSet resultSet = statement.executeQuery(MessageFormat.format("SELECT * FROM memo WHERE user_id={0}", account.getID()));

// 추출한 레코드들을 리스트에 담음
while (resultSet.next())
userMemoList.add(new Memo(resultSet.getString("title"), resultSet.getString("contents")));
%>

이렇게 한 이후 userMemoList를 도로 뿌려주면 단일 DB 계정만을 이용하고도 각각의 사용자가 작성한 메모만 선택적으로 불러올 수 있겠죠. ^^
(이해를 돕기위한 코드이므로 효율성은 고려하지 않겠습니다)

항상 질문할 곳이 없어서 곤란해 하시는 것 같은데, 혹시 대규모 프로그래머 포럼인 StackOverFlow라는 곳을 아시나요?
전세계 프로그래머가 이곳에서 지식을 공유하고 있습니다. 대충 질문하면 사람들이 비추천을 눌러서 질문을 못하게 되지만.. 자기가 정말 궁금한 내용을
지금 은성님이 물어보시는 것처럼 콕찝어서 성심성의껏 작성하시면 여러 분야의 전문가들이 훌륭한 답변을 달아준답니다. 이곳을 한번 참고해보시는 것도 좋을 것 같네요.
굳이 질문을 안하더라도 이미 좋은 질문들도 많이 올라와 있어서 검색만 해봐도 왠만한 건 다 해결할 수 있습니다. 저도 굉장히 애용하는 사이트이구요..
주소는 https://stackoverflow.com/입니다.

 

그리고 아쉽지만, 저희 홈페이지는 웹 클라이언트에 관한 내용을 다루고 있어서

은성님께서 하고자 하시는 내용을 계속해서 답변해 드리긴 다소 어려움이 있을듯 합니다. ㅜㅜ

열정넘치는 모습은 항상 보기 좋지만 저희 홈페이지의 본질은 웹 클라이언트 프로그래밍을 학습하는 곳이니까요..

파일 첨부

여기에 파일을 끌어 놓거나 파일 첨부 버튼을 클릭하세요.

파일 크기 제한 : 0MB (허용 확장자 : *.*)

0개 첨부 됨 ( / )
위로