mini_project 10

day2. Sesssion 생성 / 실시간 Sesssion 시간 표시 / Session 만료 1분 전 알림 - 개발자 배찌

회사에서 "자동로그아웃 안내" 개발을 맡았다. 기간은 일주일..! 두둥 약간의 대리님의 도움을 받아서 해결했지만.. 내것으로 만들기 위해 다시 한번 만들어보았다. 결과 화면😊 실제로 시간은 계속 1초씩 줄어들고 있다.. 사진의 한계점으로.. 해결 방법😊 1. 세션 생성 (회사에서는 로그인하면 세션이 생성되지만, 나는 아직 로그인 화면이 없기때문에 임의로 세션을 생성해줬다.)\ 2. web.xml에서 세션 time 지정 ( session time은 10분으로 지정해줬음! ) 3. filter를 이용해서 .do 가 탈때마다 현재 서버시간과, 세션만료시간을 초기화해서 cookie에 담아준다. (페이지가 이동할 때마다 .do가 타기때문에 세션만료시간이 다시 10분후가 된다. 액션이 10분동안 없을 때, 세션을 ..

day1. 이클립스 설치, 프로젝트 생성 ( maven, tomcat 설정 ) - 개발자 배찌

차근차근 WEB 만들어보기..!! 개발 경력 1년차.. 그 동안 쌓아온 기술들을 혼자서 구현해보기 위해!! 다시 처음부터 프로젝트를 만들어 보기로 했다. 개발환경 : java11, jdk 11, tomcat9.0, maven, spring 1. 이클립스 설치 (최신버전은 버그가 많다고 해서 2021.06 버전을 설치 ) 2. Dynamic Web Project 생성 SI 회사에서 경력을 쌓아본 결과, spring 을 사용하는 곳이 대다수이다. Dynamic Web Project 생성 후에, pom.xml 에 spring framework를 추가할것이다. Spring starter Project로 생성 안하고 왜 Dynamic Web Project로 생성하는지 궁금하다면? ↓↓↓↓↓↓↓↓↓↓↓↓ 참고 ur..

[spring] 인터셉터(interceptor)

인터셉터 인터셉터는 스프링 MVC 구조에 특화된 필터 기능을 제공한다고 이해하면 된다. 스프링 MVC를 사용할때, 필터 보다는 인터셉터를 사용하는것이 더 편리하다. **로그 찍는 인터셉터 예시 @Slf4j public class LogInterceptor implements HandlerInterceptor { public static final String LOG_ID = "logId"; @Override public boolean preHandle(HttpServletRequest, HttpServletResponse response, Object handler) throws Exception { String requestURI = request.getRequestURI(); String uuid =..

[servlet] 필터 (filter) 개념 / 흐름 / 예시

필터(filter) 필터는 서블릿이 지원하는 수문장이다. 필터 흐름 HTTP 요청 -> WAS -> 필터 -> 서블릿 -> 컨트롤러 필터 제한 로그인사용자 : HTTP 요청 -> WAS -> 필터 -> 서블릿 -> 컨트롤러 비로그인사용자 : HTTP 요청 -> WAS -> 필터 (적절하지 않은 요청이라 판단, 서블릿 호출 X) 필터 체인 필터는 체인으로 구성되는데, 중간에 필터를 자유롭게 추가할 수 있다. HTTP요청 -> WAS -> 필터1 -> 필터2 -> 필터3 -> 서블릿 -> 컨트롤러 코드로 보는 필터!!!!!! Q1 . 모든 요청을 로그로 남기는 필터를 개발. 필터 인터페이스를 구현하고 등록하면 서블릿 컨테이너가 필터를 싱글톤 객체로 생성하고 관리한다. 로그필터 LogFilter.java @S..

[servlet] 세션(session)생성 "HttpSession"

서블릿이 제공하는 "HttpSession" 1. 세션 생성 request.getSession(true) ● request.getSession(true) : 세션이 있으면 기존세션반환, 세션이 없으면 새로운 세션을 생성해서 반환. ● request.getSession(false) : 세션이 있으면 기존세션반환, 세션이 없으면 새로운 세션 생성 하지않고 null 반환. 기본값은 true이다. 2. 세션에 로그인 회원 정보 보관 session.setAttribute(SessionConst.LOGIN_MEMBER, loginMember); 코드로 확인하기 !!!! LoginForm.java import lombok.Data; import javax.validation.constraints.NotEmpty; @D..

[Spring] 세션(session)에 따른 컨트롤 "@SessionAttribute", 타임아웃 설정

SPRING에서의 세션(Session) 컨트롤 Spring은 @SessionAttribute 을 지원한다. ** 이 기능은 세션을 생성하지는 않음. @SessionAttribute(name="loginMember", required = false ) Member loginMember 이미 로그인 된 사용자를 찾을 때는 다음과 같이 사용하면 된다. @GetMapping("/") public String homeLogin( @SessionAttribute(name=SessionConst.LOGIN_MEMBER, required=false) Member loginMember , Model model ) { //세션에 회원데이터가 없으면 "로그인되지 않은 home" 으로 이동 if (loginMember == ..

[스터디] 게시판 기본 기능 구현 설계1

■ 기간 : ~10월 31일 (예상) ■ 주제 : 자유게시판 ■ 사용언어 : JAVA, JSP, SPRING, MYBATIS, ORACLE ( 각자사용하고싶은언어) ■ 기능 : (버튼) 조회, 저장, 삭제, 행추가, 엑셀 이전, 다음 체크박스, 라디오, SELECT BOX, 달력, 조건검색 활용 팝업창 띄워서 일괄저장, 일괄삭제 기능 파일업로드 기능 구현 사용자에게 권한을 부여하여 권한에따라 게시글 컨트롤 기능 라디오버튼 선택에 따라 조회 grid 태우기. 예) o 조회1 , o 조회2 조회그리드에서 조회하기 two grid 페이징처리 ( 10개씩 조회, 이전, 다음버튼 ) 로그인, 회원가입 (암호화, 복호화) + 개발하면서 기능 추가 ■ 테이블 : 사용자테이블에 관리자, 사용자계정 필요 (권한 등록)

로그인/로그아웃 구현하기_spring boot, jsp, javascript, mybatis 사용

/member/login /member/doLogin /member/doLogout 로그인 구현하기 MemberController.java @Controller public class MemberController { @Autowired private MemberService memberService; @RequestMapping("member/login") String showlogin(){ return "member/login"; } @RequestMapping("member/doLogin") String doLogin(HttpSession session, @RequestParam Map param, Model model) { Map rs = memberService.checkLoginAvailabl..

회원가입 구현하기_spring boot, jsp, javascript, mybatis 사용

회원가입 기능 구현 - /member/join MemberController.java @Controller public class MemberController { @Autowired private MemberService memberService; @RequestMapping("member/join") String showJoin(){ return "member/join"; } @RequestMapping("member/doJoin") String doJoin(@RequestParam Map param, Model model) { Map rs = memberService.join(param); String resultCode = (String) rs.get("resultCode"); if(resultC..