본문 바로가기

Spring

(12)
로그인과 로그아웃, 상세보기, ajax를 이용한 게시글 등록, 수정, 삭제 오늘도 개같은 스프링 사실 이해하나도 못함 이동이 있었을 때 페이지 유지하기 넘어온 페이지가 없으면 params에 페이지에 1을 주겠다. 넘어온 게 있으면 그냥 냅둠 1이건 넘어온 페이지건 ModelAndView로 화면에 넘김 ↓ 넘겨준 페이지 받기 ↓ 로그인과 로그아웃 ↓ 로그인과 로그아웃버튼을 눌렀을 때 어디로 이동할지 ↓ ↓ 세션 초기화 후 로그인으로 가겠다 ↓ ↓ 로그인이 되었을 때 atbList로 이동하겠다 ↓ 게시글의 등록 게시글의 등록같은 경우는 페이지가 완전히 바뀌어야하니 동기로 구현 주소가 생겼으니 컨트롤러로 다음에 atbWrite.jsp 생성 ↓ ajax를 사용할 거기때문에 writeForm의 action은 #, backForm은 atbList로 이동하도록 함 ↓ 경로를 저렇게 하위로 ..
ajax써보기, 비동기화 목록, 페이징, 검색구현 진짜 개하기싫다 ↓ ajax써보기 ↓ 전송될 데이터를 문자열로 변환하여 key value형태로 나오게함 한글은 깨짐 ↓ 여러개일 땐 &로 묶여짐↓ ↓ 데이터를 담을 곳이 필요하고 담긴데이터를 json으로 바꿔줘야함 ↓ 비동기로그인 이젠 폼의 action이 필요없음 이동이 없기때문 else의 submit을 지우고 ajax를 사용 구현 내용이 들어가기전의 기본형태 비동기에서 값을 가져올때에는 폼안의 값을 시리얼라이즈해야함 실행할때에는 아작스 유알엘을 지정하면 해당 유알엘을 가지고있는 컨트롤러가서 작업 아작스 기본형태 만들어주고 구현내용넣어주면 됨 그러면 jsp로 가고 함수가 실행됨 로그인 실패시 alert 성공시 tb리스트를 띄우겠다. 비동기 게시판만들기 비동기에서는 mav.addobject대신 put을 사..
세션과 암호화, 복호화를 이용한 로그인과 로그아웃 회원등록시 아이디의 중복확인 먼저 아이디에 중복값을 받을 수 없게 하기 위해서 고유키를 할당해줌 ↓ 중복된 아이디가 있는지 확인하기 위한 카운트 하나 받기 ↓ ↓ int를 반환해줄거니까 selectone ↓ ↓ id가 있는지 없는지확인하구 결과로 개수반환해주기 ↓ ↓ 등록할 아이디가 없다면 실행하고 adds를 실행하고 ↓ 등록할 아이디가 있다면(중복된다면) mAdds의 check에 false를 전달 암호화 WB와 WAS 사이의 암호화는 구간암호화라고 함 => WB에서 암호화를 시작해서 WAS에서 복호화하고 WAS에서 암호화하고 WB에서 복호화 함 *WAS : 웹 어플리케이션 서버 ( TOMCAT류들 ) WAS내에서 진행되는 암호화와 복호화는 데이터암호화라고 함 일반적인 암호화 => 받은 데이터를 DB에 ..
한 줄 게시판 만들기 오늘도 정리 개같이했습니다 나만 알아보면 됐지 .. ↓ 한 줄 게시판의 구조 ↓ MySQL 테이블 기본 세팅 한 줄 게시판 목록 만들기 기존에 만들어 두었던 페이징을 그대로 복사해왔다. style을 주어서 클래스가 write일때는 수정과 취소가 안보이도록하고 클래스가 update일때는 수정과 취소 버튼만 보이도록 설정 히든에 no를 넣어 게시글을 수정 및 삭제를 가능하게하고 페이징을 처리하기위해서 히든에 page를 넣어줌 ↑ sql에서 던진 list를 받아서 하나씩 목록에 넣어줌 ↑ 어노테이션 빠뜨리지말기 한 줄 게시판에 검색기능은 넣지 않을거기에 총 게시글 수의 데이터를 받을 필요가 없다 ↓ del이 1 인것들만 카운트해서 가져오겠다 del이 0인것들은 삭제 된 것 ↓ 값을 받을 필요는 없으니 resu..
게시판의 페이징 paging : 데이터를 분할해서 취득하겠다. 데이터를 몇개씩 취득할 것인가( 보여질 개수 ) - 10건 페이징은 몇개씩 보여줄건가 - 10pages 현재페이지 전체 글 개수 1page => 01 ~ 10번의 글 2page => 11 ~ 20번의 글 3page => 21 ~ 30번의 글 시작번호 : (현재페이지 -1) * 보여질 개수 + 1 종료번호 : 현재페이지 * 보여질 개수 총 페이지 개수 : 전체 글 개수 / 보여질 페이징 개수. 만약 나머지가 존재한다면 +1 단, 전체 글 개수가 0개라면 총 페이지 개수는 1 보여질 페이징 시작번호 : (현재 page / 보여질 페이징 개수) * 보여질 페이징 개수 + 1 만약 현재 page / 보여질 페이징 개수가 0이라면 현재page에서 보여질 페이지 개수 ..
게시판 글의 수정과 삭제, 조회수처리 게시글 수정 : 상세보기와 게시글등록이 합쳐진 형태 tbUpdate라는 주소가 생겼으니 컨트롤러로 이동 수정폼은 입력폼과 동일 그대로 파일을 복사해와서 수정 form의 주소를 tbUpdates로 바꾸어줌 id는 tbUpdateForm 제목 작성자 내용은 다 바뀔 수 있게하기 위하여 value를 줌 컨트롤러에서 addObject로 data에 값을 뷰에 전달했기때문에 "${data.TB_ ~}" 로 값을 전달받음 textarea는 엔티티에 값 넣어주기 수정버튼누르면 tbupdates로 이동 hidden은 값유지용 예외처리 : 우리가 수정 할 데이터는 한 건인데 만약 수정할 데이터가 두 건이상이거나 0건이라면 문제가 발생하기 때문에 조건을 넣어준 것 수정된 데이터를 가져올 tbUpdates.jsp만들기 수정을..
검색버그수정, 게시글등록과 editor 검색버그 : 검색창에 검색어를 입력해 둔 상태로 상세보기에 갔다오면 입력되어 있던 검색어로 검색이 되어버림 검색어를 입력하고 검색을 누르지않고 페이지이동을하면 검색결과를 이동된 페이지에서 찾음 ex) 4를 입력하고 2페이지를 가면 4의 검색결과는 1페이지에 있지만 2페이지로 이동이 됨 => 보여주지않아야할 것까지 보여주게되며 검색을 하지않았는데 검색이 된 셈 고쳐야 할 내용 : 검색버튼을 눌렀을 때에만 검색이되도록, 검색내용은 1페이지부터 나와야 함. 검색할때에는 제외하고는 아래의 데이터를 보내야함 상세보기를 갈 때라던지 페이징을 할 때 값이 유지될 수 있도록 추가해줌 => 원래 있었던 값으로 바꾸겠다 실행하지않은 검색에 대해서는 적용하지 않겠다 기존의 값을 유지했다가 그걸로 대체를 한 것 글쓰기 기능 ..
게시판의 검색 검색버튼을 눌렀을 때 tbList로 이동하겠다. 주소가 들어왔으니 컨트롤러로 이동 검색버튼을 누르면 (특정짓기위한)no,searchTxt, searchGbn이 넘어오게 됨 이걸 hashmap으로 받고 그걸 다시 getTbList에 넣어줌 하지만 우리가 기존에 만든 리스트는 검색을 고려하지 않고 만들었기때문에 getTbList에 빨간줄이 쭉 감 캡쳐할 당시에는 change를 마친상태였어서 없음 어쨋든 우리는 기존 것이 해쉬맵을 받을 수 있도록 변경해야 함 getTbList에 마우스를 갖다대고 세번째 Change method - 클릭 ITestService에 해쉬맵이 달림 오버라이딩은 이클립스가 알아서 해주지 않음 직접 TestService에서도 해쉬맵을 받을 수 있도록 추가 다음에 dao에도 params를..