본문 바로가기

JSP

(29)
연습연습 mvc, ajax(product.jsp, 야구테이블) 1. https://github.com/Moonseonhyeon/product product.jsp Id, name, type, price, count type : 과일, 문구, 옷 (enum) 번호 이름 종류 가격 판매수 1 바나나 과일 1000 200 삭제버튼 2 딸기 과일 2000 10 3 연필 문구 500 2000 테이블 product 하나 입니다. 디비에 데이터 좀 넣어놓고 ajax로 부분만 동적으로 아래 버튼 3개 처음으로 ASC (번호순) 가격순 DESC 판매순 DESC 2. 각 행 마지막에 삭제버튼 추가해서 ajax로 해당행만 삭제 https://github.com/Moonseonhyeon/baseball 3. 야구 테이블 팀목록 1 KIA 2 롯데 3 NC 4 두산 선수목록 선수이름 1 ..
블로그 댓글 삭제, 아이콘넣기 https://materializecss.com/ 구글 아이콘넣기 글자로 인식됨. 스타일.css가능 주의 cmd를 nav.jsp안에 내 스타일.css위에 넣어요. https://materializecss.com/icons.html 댓글 작성시 로그인 확인 폰트로 되어있는 아이콘 가져오기 CDN을 추가해줘야 한다. onclick은 누르면 실행, style로 사이즈 늘리고, cursor는 위에 올리면 바꿔주는 스타일이다. ->스타일 부분은 를 i__btn을 추가하고 (자바스크립트가 언더바--, 스타일은 __) .i__btn { font-size:30px; cursor:pointer;} jsp가 아닌 css에서 처리하는게 좋다. 삭제 로직을 만들기 위해서는 댓글을 뿌릴때 id를 만들어야한다. reply.jsp..
(2)블로그 만들기 - 프로필 사진 업로드 / UUID(Java.util) 클라이언트가 파일(사진)을 업로드하는 과정을 구현해야하는데 cos라는 라이브러리를 이용해서 할 것이다. WEB-INF-lib에 cos.jar 저장 COS 라이브러리 의 MultipartRequest는 업로드를 할때 사용한다. 일단 파일을 받을 upload(폴더)를 만들어둔다. 파일 업로드 폼 올린사람 : 제목 : 파일명1 : 파일명2 : HTML으로 입력과 파일을 업로드할 폼을 만든다. 업로드 확인 및 다운로드 페이지 이동 Upload.jsp를 만든다. 처음에 만든 HTML 폼에서 전송을하면 아까 만들어둔 서버 경로의 upload에 파일들이 올라간다. 여기서 tmp2는 컴퓨터마다 다르다. 전송을 누르면 이동하는 페이지 올린 사람 : 제목 : 파일명1 : 파일명2 : 예제에서는 순서대로 되었지만 현재는 순..
블로그 만들기 - 프로필 사진 업로드 / UUID(Java.util) 프로필 사진 업로드 회원정보 수정 파일 업로드 uuid (Universally unique identifier) 법용고유식별자 https://medium.com/@jang.wangsu/ios-swift-uuid%EB%8A%94-%EC%96%B4%EB%96%A4-%EC%9B%90%EB%A6%AC%EB%A1%9C-%EB%A7%8C%EB%93%A4%EC%96%B4%EC%A7%80%EB%8A%94-%EA%B2%83%EC%9D%BC%EA%B9%8C-22ec9ff4e792 랜덤으로 만들어지지만 거의 충돌날 확률 없음. 거의 고유함. http://www.servlets.com/ cos라이브러리에서 파일 업로드 담당하는 클래스인 MulitipartRequest 이미지 파일 자바파일들은 없고 WebContent안에 파일..
블로그 검색기능 부트스트랩 정렬 모든 박스는 block속성임 검색 inline-block 오른쪽 배치 : 해당박스 : float-right float잘 안씀 박스 block 폼 justify-content-center
블로그 페이징 rownum, index rownum 방법 1 select * FROM ( SELECT id, userId, title, content, readCount, createDate, rownum no FROM board WHERE rownum > 0 and rownum page*3 and no '0'; /*+ 여기는 오라클 힌트 주석말고 */ 인덱스로 ORDER BY 정렬하는 거랑 인덱스로 차례대로 가져오는 거랑 차이 ORDER BY - 가져와서 정렬다시 하는 거 (연산을 더 많이 해야해서 느림) 인덱스 - 식별자로 바로 가져옴. (따로 정렬할 필요가 없지요) 인덱스로 하는게 더 좋아요! 통상 15%이내 데이터가 있으면 인덱스 스캔하는게 좋음 그냥 전체 다 필요하면 full scan이 더 좋죠 다 그냥 처음부터 끝까지 하지만 게시글..
패스워드 해쉬 암호화 - SHA356, slat 해쉬 암호 : SHA356, HMAC256 - 만약 비밀번호 까먹으면 못 알려주고 초기화해서 이메일로 알려준다거나 함. 암호화 + 복호화 : Base64 해쉬 무엇을 해쉬해도 일정한 길이로 됨 해쉬로 간단하게 검증할 수 있어요. 비교해서 고정 길이인 해쉬라서 경우의 수가 많지만 있긴하니까 해쉬 충돌이 날 수 도 있는 미미한 단점이 있음. A사 데이터 베이스에 패스워드가 비밀번호 해쉬된거 B사 데이터 베이스엔 그냥 원문 비밀번호 레인보우 테이블 : B사 비번을 해쉬한거를 A사 비번하고 매칭해놓은 것 이렇게 다 뚫을 수 있으니까 회사에서 소금칩니다. slat 회사마다 각자 소금이 있어요 아무도 안가르쳐주는거 원문_소금 이렇게 비밀번호들에다가 자바에서 한 복사들은 얕은 복사 리액트는 깊은 복사 깊은 복사 - ..
삭제하기 JSON.stringify() 메서드는 JavaScript 값이나 객체를 JSON 문자열로 변환합니다. json처럼 생긴 문자열을 gson이 파싱해준다. 기억안나니까 JSON.stringify JSON.parse gson.toJson gson.fromJson 위쪽이 정석이지만 아래처럼 쿼리스트림으로도 가능하다. 세션에서 id와 게시글의 id가 같을때만 수정과 삭제가 보인다. a href는 get방식만! button는 post 방식으로 가능하다. 수정은 게시글의 번호를 가지고 컨트롤러를 타고 액션갔다가 삭제는 밑의 파일을 참고한다.