본문 바로가기

JAVA

(18)
[JAVA/spring] 개인프로젝트 #10 나만의 미니홈피만들기 - 아이디 및 비밀번호 찾기 (임시 비밀번호로 초기화 구현.(naver사용)) 사용자가 아이디 또는 비밀번호를 분실할수 있고, 웹페이지의 기본적인 부분이기때문에 이부분은 반드시 구현이 필요했다. 국비학원에서 구현하였던 naver 이메일을 통한 임시 비밀번호 발송 기능을 구현하였다. 본인 네이버 계정으로 로그인한뒤, 메일부분에 환경설정에 들어가 아래와같이 설정해두어야 한다. pom.xml에 dependency 추가. root-context.xml에도 아래와같이 설정해주어야 한다. 다음은 controller 부분. Mapper.xml부분. 비밀번호를 찾고싶은 회원의 이름과 이메일주소를 입력하면 , 해당 이메일주소로 임시 비밀번호가 발송된다. 아래와 같이 정상적으로 발송된것을 알수있다. 아이디 부분은 이메일 또는 휴대폰번호로 찾을수 있도록하였고, radio 버튼을 눌렀을때 input값이..
[JAVA/spring] 개인프로젝트 #9 나만의 미니홈피만들기 - 메인페이지 일촌평 구현 및 새로운 게시글에 따른 UpdateNews 부분에 나타내기. 싸이월드 대문에 보면 미니룸 하단에 일촌평을 남길수있게 구현이 되어있어서 뒤늦게 확인하고 만들었다. 기존에 게시글에 만든 답글처럼 비슷하게 구현하였기 때문에 크게 어려움은없었다. 일촌평 구현은 크게 어려운게 없었으나, 상단에 UpdateNews 부분을 구현하는데 조금 애를먹었다. 게시글 또는 사진첩에 글을 등록하였을때, 아래 사진과 같이 해당 제목과 최신글만 나올수있도록 하는것이다. 한 jsp 내에서 모든 테이블의 값들을 불러와야하기때문에, 당연하게 join을하여 해당 title컬럼만 가져오면 된다고 생각했으나, parameter null 값이 발생하여 원인을 찾지못하고, rownum을 활용하여 구현하였다. 구현계획으로는 당연히 최신순기준으로 값을 가져와야해서 sysdate로 order by를 지정하여 ..
[JAVA/spring] 개인프로젝트 #8 나만의 미니홈피만들기 - 미니홈피게시판 내용 답글달기 및 수정하기 구현. 게시판을 들어갔을때 나오는 리스트들은 지난글과 같이 ajax로 구현하였으며 (checkbox이용) , 페이지 처리까지 완료하였다. 그 다음으로는, 게시판에 올라온 글을 눌렀을때 제목과 내용이 보여야하며 그에 따른 답글을 달수있도록 구현하였다. 제목을 눌렀을경우, 아래와 같이 나올수 있도록 jsp로 만들었다. 제목,내용 컬럼과 답글을 달수있는 컬럼의 테이블이 각기 다르기때문에 해당 게시글번호에 따른 답글을 불러오기위하여 3개의 테이블을 조인하였다.(굳이 어렵게만든게 아닌가싶다) 게시글 답글을 작성시에 해당 회원의 이름이 나와야하기때문에, world_member테이블까지 같이 조인을 할수 밖에 없었다. 위 캡처 아래부분에 memId.member_num == rdto.member_num 을 if문으로 해놓은 ..
[JAVA/spring] 개인프로젝트 #7 나만의 미니홈피만들기 - 미니홈피게시판 리스트 및 업로드 구현(ajax를 통한 체크박스로 게시글 삭제하기.) 기존싸이월드 게시판은 학원에서 처음배웠던 게시글 만들기 폼과 매우 유사했다. 다만 왼쪽에 체크박스가 있었으며, 이부분은 ajax를 활용하여 삭제하기로 하였다. (ajax는 새로고침없이 비동기식으로 페이지에 로드되기때문에 실시간으로 게시글이 삭제되는 페이지를 볼수있다.) 관련글은 아래를 참고해주세요. AJAX란 무엇인가 ? :: 개발야 기하하자 (tistory.com) AJAX란 무엇인가 ? AJAX (Asynchronous Javascript And XML) AJAX란, JavaScript의 라이브러리중 하나이며 Asynchronous Javascript And Xml(비동기식 자바스크립트와 xml)의 약자이다. 브라우저가 가지고있는 XMLHttpRequest 객체를 이용해서 전 99geo.tistory..
[JAVA/spring] 개인프로젝트 #6 나만의 미니홈피만들기 - 미니홈피사진첩 등록 및 불러오기. (다중업로드 구현) 메인페이지에 나타나는 대문 제목과 내용을 등록하고 수정하는방법을 구현하다가, 세션으로 member_num 값은 계속 가지고있다고 판단해서 조인 조건을 member_num 으로 변경하였다. 시퀀스번호는 고유하기때문에 id값으로 해도되지만 모든 페이지에 member_num이 유지될것을 고려해서 다시 변경하였다. 한가지 이슈는 테이블이 다르기때문에 멤버테이블의 member_num값을 찾아서 각 dto에 넣어줘야되는데.. 불러오는 기능을 구현할경우 null 값이 나타나서 직접 member_num 값을 넣어 우선은 구현하였다..(이부분은 반드시 찾아야할것이다.) 우선 메인글은 등록수정은 다음글에 올릴것이며, 오늘구현했던 사진첩 구현한부분을 올릴것이다. 학원 최종프로젝트에서 사용한 다중업로드를 다시 쓰고싶어서 활용..
[JAVA/spring] 개인프로젝트 #5 나만의 미니홈피만들기 - 미니홈피 메인화면 체크. (id세션유지 필요 및 메인화면 에 담아올 정보들을 위해 join사용) 테스트용으로 로그인화면을 만든후 보이는 첫메인화면을 띄워봤다. 생각보다 메인화면에 띄울 정보들이 많았으며, 한 테이블만의 정보값을 가져온다면 코드를 짜기 쉬웠을테지만, UpdateNews 란에 보이는 정보값들은 각기 다른 테이블에서 값을 가져와야만 했기때문에 해당 정보값들은 테이블을 조인하여 불러오기로하였다. 보이다시피 로그인한 이후의 id값이 세션으로 남아있어야 해서 해당값은 dto라는 이름으로 세션에담아 main 페이지에 뿌려주는 방식으로 하였다. 해당 id값이 있는경우 로그아웃 버튼이 활성화 되게끔 구현했다. 처음 계획은 한 dto값에 담아서 memInfo에 모두 담아 값을 띄우는 방식으로 하려고했으나, join된 dto는 값을 넣기전에는 null로 표시가 되는지 id값을 불러오지못했다.. 그래서 ..
[JAVA/spring] 개인프로젝트 #4 나만의 미니홈피만들기 - 미니홈피 로그인 구현. (아이디와 패스워드 일치하는지에 따라 로그인가능여부 구현) 회원가입을 구현함에 따라 로그인을 구현하기로 하였다. 로그인 구현은 dto에있는 id와 pw값이 일치하는경우 0, id가 일치하지 않는경우 1, pw가 일치하지 않는경우 2, 기타 에러일경우 처리를 -1로 하였다. memberController 추가. 회원체크 부분에 getWorldMemberById는 해당회원이 실제 가입이 되어있는지 체크하는 부분이다. (로그인 이후에 세션이 유지되는부분을 구현하기위에) id와 pw가 일치할경우 memInfo 라는 이름의 dto값이 세션에 들어올것이며, 로그아웃부분을 구현할때 쓰임. 이와같이 구현해줄경우, 로그인jsp에서 존재하지않는 id나 불일치하는 pw를 입력할경우 "아이디 또는 비밀번호가 일치하지 않습니다" 라는 문구가 나오며 다시 login.jsp로 돌아간다. ..
[JAVA/spring] 개인프로젝트 #3 나만의 미니홈피만들기 - 미니홈피 회원가입 구현. (아이디 중복검사(Ajax구현) 및 아이디,패스워드 등록 조건 체크를 js로 구현) 로그인 jsp 폼을 토대로 회원가입 jsp 도 구현하였으며, 아래와 같이 해당 폼들이 정상적으로 작동하는 볼수있다. 회원가입을 위해선 회원에 대한 테이블이 필요하였으며 mysql에 테이블을 생성하였고, 회원 번호에대한 시퀀스도 같이 생성하였다. 최종프로젝트에서 사용했던 id 중복검사 와 조건에 충족하지 않는 id 및 pw 조건을 구현하기위해 아래와 같이 ajax로 구현하였다. 이와 같이 구현할 경우, 아래와 같이 중복일시 해당 문구가 나타난다.