본문 바로가기

반응형

전체 글

[Spring] 세션(Session)이란? 세션(Session) 세션은 클라이언트가 웹 애플리케이션 서버에 접속할 때 서버 쪽에 생성되는 공간으로 내부적으로는 세션 아이디를 통해 참조된다. 브라우저는 서버에 접속할 때 발급받은 세션 아이디를 기억하고 서버는 해당 세션 아이디로 할당된 영역에 접근하는 형식이다. 세션(Session)의 특징 1. 세션 유효 시간이나 브라우저 종료 전까지 유지되므로 서로 다른 페이지에서도 정보 공유가 가능함 2. 로그인 유지, 장바구니, 컨트롤러 구현 등에서 사용됨 3. 사용자마다 생성되는 공간으로 많은 사용자가 동시에 사용하면 대량의 메모리가 필요하다. 대책이 필요하다. * 세션 관리를 위해 별도의 세션 관리 데이터베이스를 사용하는 경우도 있다. redis라는 인메모리 데이터베이스를 사용하기도 한다. redis는 N.. 더보기
[국민취업지원제도 일경험프로그램 52일차] 결재시스템 대리결제 (제이쿼리 팝업창 제어 window.open(), window.close()) 52일 차 특이사항 1. 대리결제 기능 요구사항 - 누르면 팝업 - 대리결제자 : 자기보다 2 직급 아래만 나온다. 이름만 나온다. - 대리자 : 로그인 정보 - 승인 누르면 ? 그 대리결재자 정보 표시가 된다. - 대리결재자가 된 사람은 대리결재자에서 사라진다. - 대리결재자가 되면 과장, 부장 대신 결재를 할 수 있다. - 대리결재자가 결재하면 결재자에 홍길동(최 과장) - 과장에게 결재권한을 부여받았다고 해도 모든 글을 볼 수 있는 것이 아니다. jQuery(제이쿼리)로 팝업창 띄우고 끄기 1. 대리결재 버튼을 누르면 팝업창이 띄워진다. 1) HTML 2) javascript : 대리결재 버튼을 누르면 window.open함수가 실행된다. 설정은 괄호 안에 들어있다. 'replace'부분은 연결되는.. 더보기
[국민취업지원제도 일경험프로그램 51일차] 결재시스템 마무리 ⑩ 51일 차 특이사항 1. 어제 해결 못했던 문제는 얼추 해결이 됐다. 그러나 BOSS, KING계급에서 날짜검색 시 임시저장 글이 사라지는 문제가 발생했다. - 날짜 검색 조건이 로 설정되어 있어서 그런가? 로 다시 설정해줬다. - 그래도 해결 안됨. - 무엇이 문제인지 파악이 안 되고 있다. - 태그를 모두 삭제하고 로 바꿔주니 잘 된다. SELECT SEQ ,WRITE_ID ,(select MEM_NAME from JSH_APPROVAL_MEMBER sam where sam.mem_id = sal.write_id) WRITE_NAME ,APPR_SUBJECT ,APPR_STATUS ,decode(APPR_STATUS, 'tmp','임시저장','wat','결재대기','ing','결재중','end','결.. 더보기
[결재 시스템] 결재 상태가 반려로 바뀌면 결재일과 결재자를 null로 바꿔주기 문제 아까 해결못했던 문제를 해결해보자. 과장이나 부장이 반려를 누르면 결재일과 결재자에 기록이 남았던 문제다. 결재일과 결재자가 null이 되어야 한다. mapper의 update 부분을 수정했다. 문제해결방법 update JSH_APPROVAL_LIST set APPR_SUBJECT = #{subj}, APPR_CONTENT = #{content}, APPR_STATUS = #{status}, APPR_DATE = null null sysdate , APPR_APPER = null null #{memInfo.memId} where seq = #{seq} APPR_DATE(결재일) APPR_APPER(결재자) 각각 choose 태그를 사용하여 status(결재상태)가 tmp(임시저장) 혹은 ret(반려.. 더보기
[국민취업지원제도 일경험프로그램 50일차] 결재시스템 2개 남았다⑩ 50일 차 특이사항 1. 날짜검색 동기처리 - 날짜 검색 실패 - ORACLE에서 테이블 만들 때 APPR_REG_DATE를 DATE로 설정해 줬다. TO_DATE 함수를 써야하나? CREATE TABLE "GIANTSTUDY"."JSH_APPROVAL_LIST" ("SEQ" NUMBER, "WRITE_ID" VARCHAR2(20 BYTE), "APPR_SUBJECT" VARCHAR2(20 BYTE), "APPR_CONTENT" VARCHAR2(20 BYTE), "APPR_STATUS" VARCHAR2(20 BYTE), "APPR_REG_DATE" DATE, "APPR_DATE" DATE, "APPR_APPER" VARCHAR2(20 BYTE) ) SEGMENT CREATION IMMEDIATE PCTF.. 더보기
[국민취업지원제도 일경험프로그램 49일차] 결재시스템 중간점검⑨ 49일 차 특이사항 1. 사원1이 결재글을 올린다. 과장 1이 결제한다. - 그런데 과장 2가 이 과정을 볼 수 있다. 이게 문제다. - 사원의 계급이 과장인 경우 사원, 대리의 임시저장 글을 제외하고 모두 볼 수 있다. - 자신이 결제승인한 글만 조회되면 좋겠는데... - 접근권한이 없다는 유효성 검사를 추가해보자. - 위 시도도 실패 2. 임시저장, 결재, 반려 버튼 조건에도 문제가 있다. - 결재중인데 사원이 반려와 결재를 또 누를 수 있다. 고쳐야 됨. JSTL에 있는 데이터를 javascript에서 사용하기 1. apperName을 가지고 오기 위해서 JSON 객체를 이용했다. 아래 코드의 문제는 클릭 이벤트 발생 후 apperName 배열에 담긴 요소가 초기화되지 않아서 첫 번째 클릭에서만 유.. 더보기
[국민취업지원제도 일경험프로그램 48일차] 결재시스템 과장이 문제다⑧ 48일 차 특이사항 1. 코드를 기능별로 구분해 보자. - controller - 로그인 - 로그아웃 - 결재글 리스트 불러오기 - 결재 페이지 이동 - 결재글 올리기 - 상세보기 페이지 - mapper - 로그인 체크 - 결재글 리스트 불러오기 - 글번호 불러오기 - 상세보기 페이지 - isnert - update - history - jsp - login : 로그인 화면 - list : 결재게시판 화면 - writeView : 결재글 상세 보기 및 결재 글쓰기 페이지 2. 결재일이 아니라 결재등록일이 아닌지? 3. 과장으로 사원, 대리의 글을 볼 때, 임시저장 버튼이 보인다. 잘못됨. 4. 임시저장된 글은 남들이 못봐야 되는 것 아닌가? 과장과 부장이 임시저장한 글을 다 보고 있다. - 수정했다. 사.. 더보기
[국민취업지원제도 일경험프로그램 48일차] 결재시스템 결재, 임시저장 ⑦ 42일차 특이사항 1. 결재글 등록까지 구현해보자. 2. 이번주까지 학습일지 쓰기. 테이블 행 클릭시 이동 1. 결재글 위에 마우스를 올리면 음영 2. 결재글의 행 어느 곳을 클릭해도 상세보기 페이지로 이동이 된다. - 행 에다가 onclick을 설정해준다. 검색된 데이터가 없습니다! ${list.seq } ${list.writeName } ${list.apprSubject } ${list.apprRegDate } ${list.apprDate } ${list.apperName } ${list.apprStatusKor } 사원으로 결재버튼 눌렀을 때, 결제대기가 출력되지 않음 1. fnSave함수가 실행되고 grade가 제대로 설정되어 있지 않아서 val('wat')가 실행되지 않았다. grade == '.. 더보기

반응형