Spring7 Spring Session 다루기 : 세션 정보, 세션 타임 아웃 설정 Session 에 담긴 정보 가져오기 Session 에는 해당 세션의 id, 세션이 살아있을 수 있는 최대 시간, 세션 생성 시간, 마지막 세션 접근 시간 이 있다. 각각 아래와 같이 get 메서드로 해당 내용을 가져올 수 있다. @GetMapping("/session-info") public String sessionInfo(HttpServletRequest req) { HttpSession session = req.getSession(false); if (session == null) { return "세션이 없습니다"; } log.info("sessionId = {}", session.getId()); log.info("getMaxInactiveInterval={}", session.getMaxIn.. Java - Spring &&n SpringBoot 2022. 8. 11. Spring MVC 패턴 && dispatcher MVC 패턴이란? MVC 패턴은 모델 2 방식이라고도 불림 Controller : 요청 request 가 들어온 후 Model 에서 만들어진 데이터를 다음에 어디로 넘길지 지정해주는 역할 View : Controller 를 통해 전달받아온 데이터를 클라이언트 화면에 보여주는 역할 Model : 데이터를 만들거나 데이터를 비교하거나 DB 에서 데이터를 가져오는 등 의 작업을 하는 역할 MVC 에 대해서 기억해야하는 것들 Model 과 controller 에서 페이지를 이동할때는 파라미터를 달아서 넘길 수 없음? 따라서 파라미터 대신 setAttr 을 이용해서 내용을 담아서 값을 넘김 Model 은 execute 를 사용함. 이때 execute 는 HttpServletRequest, HttpServletRe.. Java - Spring &&n SpringBoot 2022. 7. 18. Spring Boot && MyBatis without xml : 스프링 부트와 마이 바티스 연동(xml 설정 빼고!) 공부하면서 꼭 조심해야하는 부분! SPRING BOOT 의 경우 CONTROLLER 을 포함한 모든 어노테이션이 달린 패키지들은 @SpringBootApplication 가 달린 클래스가 있는 패키지의 밑에, 즉 기본적으로 가장 먼저 생성되는 클래스 패키지의 밑에 위치해야한다! ⇒ 이거 땜시오류가 잡는데 오래걸렸습니다ㅠ MY BATIS 에서 LIKE 문을 사용하는 경우 DB 종류에 따라서 서로 다른 문법을 사용한다. MySQL SELECT * FROM DEPT WHERE dname like LIKE CONCAT(‘%’, #{dname}, ‘%’) ORACLE SELECT * FROM DEPT WHERE dname like '%'||#{dname}||'%' MS-SQL SELECT * FROM DEPT W.. Java - Spring &&n SpringBoot 2022. 7. 12. Spring Web 기본 정리 : 원리, spring 설정, DB 연결해서 데이터 보여주기 나는 원래 spring을 spring boot 로 처음 접했었어서 그런지 spring 의 설정이 복잡하다는 것을 잘 몰랐었다. 다만 spring boot 가 spring 의 설정을 복잡함을 해결하고자 나왔다 라는 걸 알았기에 어느정도 복잡하구나...정도로 생각할 뿐이었다. 그런데 이번에 spring boot 가 아닌, 본래 spring 을 배우게 되었는데 세상에...엄청 복잡하다. 다만 복잡함에도 중요한 것들이 있었고, 이에 따라서 정리해보려고 한다. 1. 스프링 동작 원리 spring 실행순서 web.xml을 로딩 web.xml에 등록된 ContextLoaderListner 가 생성된다 ContextLoaderListner가 root-context.xml을 로딩시작! root-context.xml에서 .. Java - Spring &&n SpringBoot 2022. 7. 4. spring - 로그인 기능 구현하기 (2) 세션으로 로그인 하기 오늘은 이전 시간에 이어서 페이지 로그인을 구현해보겠습니다. 다만 이번에는 그냥 쿠키를 활용하는 방식이 아니라 세션을 통해서 로그인 가능하도록 만들어 보겠습니다. 이전과 가장 큰 차이점은 보안!! 입니다. 1. 세션 Session - Cookie, 보안에 취약한 너는 버린다! => Session 세션과 쿠키의 가장 큰 차이점은 아무래도 '보안' 에 집중된다. 쿠키는 기본적으로 위, 변조가 가능하기 때문에 잘못했을 경우 해커에게 쿠키값이 털려서 회원정보, admin 으로 로그인이라도하는 날에는 DB까지 전부 털리는 경우가 있기 때문이다. Session은 서버 - 클라이언트간 통신 시 쿠키의 취약점을 많이 줄 일 수 있다. 그렇다면 세션은 어떻게 동작할까? 아래 그림을 살펴보자 회원이 로그인 페이지에서 로그.. Java - Spring &&n SpringBoot 2022. 1. 18. 라즈베리파이에서 Spring 구동하기 & 회원가입하기(feat. Mysql 연동) 2022년 첫 글이네요!! 많이 늦었지만 모두 해피 뉴 이어ㅋㅋ 생각보다 라즈베리로 연결하는데 오래 걸려서 이제야 정리하고 글을 쓰게 되었습니다. git 에도 연동하고 하는데...어디서 막히는지 막혀버려서ㅠㅠ이건 다음글에 조금 더 적어보도록 하겠습니다. 오늘은 기존에 만들어두었던 spring 을 Mysql과 연동하도록 하겠습니다. 또한 이 글은 기본적으로 MySQL이 깔려있으며, 외부에서 접속이 가능하다는 가정하에 진행하고 있습니다. 만약 DB가 설치되어 있지 않다면, 글 내용 중 2. Maria DB 설치 를 보고 와주시기 바랍니다!! https://terianp.tistory.com/3?category=930649 웹 서버 기본 뼈대 구축 : LEMP 첫 시작은 라즈베리 파이에 웹 서버 기본 뼈대 구.. 토이 프로젝트/Spring&Java 갖고놀기 2022. 1. 9. Java Spring 시작 - IntelliJ 설치와 프로젝트 생성 및 Spring 구동 오늘부터는 Spring 공부도 겸하도록 하겠습니다. 물론 기본 Java 언어 공부와 알고리즘 공부도 겸하면서 할 예정입니다. 다만 벌써 12월이고 하루종일 기본만 하다가는 정말 끝도 없을 것 같아서...머리부터 박아보기로 했습니다!! 화이팅! 앞으로 작성되는 spring 관련 글은 인프런의 스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술 강의를 듣고 정리하고 있는 글입니다. https://www.inflearn.com/course/%EC%8A%A4%ED%94%84%EB%A7%81-%EC%9E%85%EB%AC%B8-%EC%8A%A4%ED%94%84%EB%A7%81%EB%B6%80%ED%8A%B8 [무료] 스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술 - .. Java - Spring &&n SpringBoot 2021. 12. 3. 이전 1 다음 728x90 반응형