inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

묻고 답해요

172만명의 커뮤니티!! 함께 토론해봐요.

세션을 만드는 것과 회원 정보를 보관하는 것의 관계

미해결

스프링 MVC 2편 - 백엔드 웹 개발 활용 기술

=== [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] HttpSession session = request.getSession(); 위 코드는 세션이 있으면 그대로 사용, 없으면 세션을 새롭게 생성이라고 공부했습니다. session.setAttribute(SessionConst.LOGIN_MEMBER, loginMember); 그리고 위 코드는 세션에 로그인 회원 정보를 보관하는 거라고 이해했습니다. 여기서 궁금합니다. 세션을 생성하는 것과 회원 정보를 보관하는 것이 따로 존재한다면, 세션을 생성한다는 것이 무슨 의미가 있는지 모르겠습니다. 만약 세션만 만들고 회원 정보를 넣지 않는다면 세션 저장소에 특정 JSESSIONID 값을 키로 가지지만, value는 null인 상태로 저장되는 걸까요? 그리고 하나의 세션에 여러 쿠키를 가질 수 있다고도 이해했습니다. 어차피 유저를 식별하는 데 하나의 쿠키만 있으면 될텐데 왜 세션에 여러 쿠키를 저장할 수 있는지 모르겠습니다.

  • spring
  • mvc
김동민 댓글 1 좋아요 0 조회수 251

오류시 인풋 값 사라지는 이유

미해결

스프링 MVC 2편 - 백엔드 웹 개발 활용 기술

BindingResult 사용시 오류가 발생하면 인풋 값이 사라지는데 이유가 뭔가요? "validation/v2/addForm" view 템플릿에는 여전히 th:object로 item이 지정되어 있고 각 필드 값들도 th:field로 지정되어 있는데 사라지는 이유가 궁금합니다.

  • spring
  • mvc
이무 댓글 1 좋아요 1 조회수 433

스프링부트 + jsp로 프로젝트 생성하려면 jar가 아닌 war로 만들어야하나요?

미해결

스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술

학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오)네 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)네 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)네 [질문 내용] 강의에서 jsp사용하지않으므로 jar로 선택해달라고 하셨는데 그러면 스프링부트+jsp 사용시 war로 프로젝트를 생성해야하나요? 그리고 war는 외부서버배포용이라고 말씀하셨는데 공부하면서 aws로 프로젝트 배포까지 해보려고 하거든요..(아직 하나도 모르긴합니당..ㅠㅠ) 배포 하게 될 때에는 jar가 아닌 war로 변경해서 배포해야하는걸까요?

  • spring
  • mvc
포닥 댓글 1 좋아요 0 조회수 766

모바일 크기에 맞추기

해결됨

스프링 프레임워크는 내 손에 [스프1탄]

선생님께서 만드신 웹을 모바일 크기에 맞춘 웹사이트로 만들고 싶은데 그건 어떻게 할 수 있나요?

  • jsp
  • spring
  • mvc
  • spring-security
kjwane 댓글 2 좋아요 0 조회수 276

DB Connection 관련하여 질문드립니다.

미해결

스프링 DB 1편 - 데이터 접근 핵심 원리

@Transactional 선언된 메서드를 사용할 때, Connection이 사용되고 반환되는 시점이 궁금합니다. @Transactional 메서드 호출 -> 쿼리 실행 -> 외부 API 호출 -> @Transactional 메서드 종료 라고 했을 때, @Transactional 시작 시점부터 끝날 때까지 하나의 커넥션이 유지되나요? 아니면 쿼리가 실행될 때, 그리고 커밋/롤백 될때만 커넥션을 사용(커넥션 opne & close)하나요?

  • spring
  • mvc
  • transactional
profoundsea25 댓글 1 좋아요 0 조회수 312

세션과 세션저장소의 개념구분

미해결

스프링 MVC 2편 - 백엔드 웹 개발 활용 기술

강의자료를 보던중에 혼동이 와서 질문드립니다.. 강의자료를 보면 세션을 생성하고, 신규 세션을 반환하고, 세션에 데이터를 보관하고.. 등등 세션이라는 단어가 사용이 되는데요.. 하지만 이전에 세션 저장소라는 개념도 있어서 '세션'과 '세션저장소'의 구분이 잘 되지않습니다.. 다른 질문을 참고하니 HttpSession은 세션저장소이다 라고 답변주신것을 보긴했습니다. 그리고 session은 Map형태로 저장이 되서 세션저장소 내부에 있는 Map자체를 session이라고 생각했는데, 이 Map의 sessionId에 대응되는 값도 session이라고 부르는것인가요..? HttpSession = 세션저장소 세션저장소내에 세션이 있다. 세션 = 세션저장소 내에 있는 Map = 세션저장소 내에 있는 Map의 value 이렇게 이해해도 되는것일까요..?

  • spring
  • mvc
오리쉐리 댓글 2 좋아요 2 조회수 861

자동생성되는 th:field의 value를 th:value의 value로 덮어쓰기되는지 확인 문의

미해결

스프링 MVC 2편 - 백엔드 웹 개발 활용 기술

안녕하세요 강사님 강의듣고 이해안되는 부분이 있어서 질문 남깁니다. 최초로 상품등록을 하면 컨트롤러에서 Get메서드형식인 아래의 컨트롤러가 호출이되면서 빈깡통의 Item 객체가 모델에 담겨서 addForm.html로 값이 넘기는것으로 알고있는데요 그래서 최초 등록폼에서 소스보기를 하면 상품명 ,가격,수량부분이 value 가 공백이 들어간것으로 이해했습니다. @GetMapping("/add") public String addForm(Model model) { model.addAttribute("item", new Item()); return "form/addForm"; } 하지만 의문드 드는점이 등록지역의 value는 SEOUL이 들어갔습니다 답은 메서드단위의 resions의 값이 들어갔다는것을 알고있지만 이해가 되지 않는점이 addForm에 등록지역 부분에는 th:field부분에서 ModelAttribute의 값인 ${resions}이아니고 선택변수인 {resions}가 들어갔으니 최초에는 값이 없으니 위의 상품명처럼 value가공백이 들어가야하는데 SEOUL로 들어가는 것이 이해가 안갑니다. th:field= {resion}의 자동생성되는 value가 th:value의 ${resions}의 벨류로 덮어쓰기가 되는건가요? 긴글 읽어주셔서 감사합니다.

  • spring
  • mvc
yohan.cho 댓글 1 좋아요 0 조회수 281

템플릿 레이아웃2 질문

미해결

스프링 MVC 2편 - 백엔드 웹 개발 활용 기술

학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] replace 할때 html tag 릴 기준으로 section을 넘기는거를 혹시 div Tag 가 가능한지 해봤더니 가능하더라고요. 근데 div tag 안에 또다른 div 태그가 있는데 최상위 div tag 전체를 넘기는거 같습니다. 가독성으로 혹시 div tag 의 특정 name 이 붙은 tag 를 넘기는게 가능할까요? ex) <div class="test1")> <div class ="test2"></div> <div> 이런식일때 test1 tag 나 test2 태그중에 어떤 레벨을 넘길지 정할수 있는건가요? *추가로 layoutExtendMain 에서 layoutFile 한개를 불러왔는데 혹시 layoutFile2처럼 여러개도 호출가능한건가요? 답변 미리 감사합니다^^

  • spring
  • mvc
코딩앱등이 댓글 1 좋아요 0 조회수 375

실행은 되는데 정지하면 오류가 뜹니다.

해결됨

스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술

학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 여기에 질문 내용을 남겨주세요. 실행을 하고 난 후 정지를 하면 이런 오류가 뜹니다 그래서 저와 같은 문제가 있는질문이 있는지 찾아보고 실행은 잘 되는데 멈출때마다 에러 메세지가 떠요 - 인프런 | 질문 & 답변 (inflearn.com) 이 게시글에서 말씀해주신 링크대로 설정을 했더니 tomcat이 실행이 되지 않더라구요 이거 발견하고 나서 그래서 다시 프로젝트 설치해서 실행한 상태인데 여전히 멈추면 에러가 뜹니다... 어떻게 해야 하나요..?

  • spring
  • mvc
digeuthi 댓글 1 좋아요 0 조회수 360

Querydsl SQLExpressions에 listagg 관련 질문

미해결

안녕하세요, 김영한 님. Querydsl SQLExpressions에 listagg 관련하여 질문이 있습니다. 현재 Projections.constructoer 방식으로 조회한 결과를 Dto로 받고있는데요, SQLExpressions.listagg(컬럼, ",").withinGroup().orderBy(컬럼).getValue().as("listaggs") 로 select후 Dto에서 String으로 못받는데 String으로 받으려면 어떻게 해야 될까요? 방법이 없는걸까요? 이미 같은 질문을 남긴 글이 있는데 미해결 상태라 다시 한번 글 올려 봅니다. 이방법을 사용하는 이유는 A 테이블, B 테이블이 있는데 1:N의 관계 입니다) A테이블 조회시 Response에는 B테이블의 컬럼 하나도 추가로 목록에 보여줘야 하는데 그럴때 B테이블의 해당 컬럼의 값이 다른 데이터가 2개 이상일시 A정보가 2건이 나오게 되서 (페이징 처리시에도 총 카운트와 페이징 처리가 제대로 되지 않습니다.) 한 row로 보여지게 하기 위해 사용하려 Querydsl SQLExpressions에 listagg 사용하려는데, String으로 받을수가 없더군요... 혹 Querydsl SQLExpressions에 listagg 아니더라도 다른 방법이 있을까요?

  • jpa
  • querydsl
  • java
skyghy3342 댓글 1 좋아요 0 조회수 1028

세션아이디에 대해 질문드립니다..

미해결

스프링 MVC 2편 - 백엔드 웹 개발 활용 기술

HttpSession session = request.getSession();을 하게되면 쿠키가 생성되고, 쿠키의 이름은 JSESSIONID, 쿠키의 값은 랜덤값이라고 이해했습니다. 하지만 이전 강의를 보면 쿠키의 값을 세션id와 동일하게 설정을하고, 쿠키의 값을 통해 세션저장소에서 세션을 조회했는데요. 하지만 코드에서는 session.setAttribute(SessionConst.LOGIN_MEMEMBER, loginMember)로 상수를 세션id(key)로 지정했는데 이렇게 하면 SessionConst.LOGIN_MEMEMBER를 통해 세션저장소에서 세션을 조회해야하지않나요? 쿠키의 value와 세션저장소의 세션id가 동일하지않은데 어떻게 조회할수 있는지 궁금합니다..

  • spring
  • mvc
오리쉐리 댓글 3 좋아요 0 조회수 879

[순수JS1] 폴더구조 강의관련 질문

미해결

[React 1부] 만들고 비교하며 학습하는 React

안녕하세요. [순수JS1] 폴더구조 편에서 npx 로 웹서버 띄우고 localhost:3000 켜고 크롬에서 개발자도구로 네트워크 보면 store.js 로딩하는데 404에러가 나오는데 이유가 뭘까요? 그리고 강사님처럼 console.log 로 로그를 찍어도 크롬 개발자도구 console 탭 보면 아무것도 안나오는데 이유가 뭘까요 ㅠㅠ?

  • react
  • mvc
Seung Kim 댓글 1 좋아요 0 조회수 421

private static Map<Long, Member> store = new HashMap<>(); 코드 이해가 안가요

해결됨

스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술

Member.java package Hello.hellospring.domain; import jakarta.persistence.Entity; import jakarta.persistence.GeneratedValue; import jakarta.persistence.GenerationType; import jakarta.persistence.Id; @Entity public class Member { @Id @GeneratedValue(strategy = GenerationType.IDENTITY) private Long id; private String name; public Long getId() { return id; } public void setId(Long id) { this.id = id; } public String getName() { return name; } public void setName(String name) { this.name = name; } } MemoryMemberRepository.java package Hello.hellospring.repository; import Hello.hellospring.domain.Member; import java.util.*; public class MemoryMemberRepository implements MemberRepository { private static Map<Long, Member> store = new HashMap<>(); private static long sequence = 0L; @Override public Member save(Member member) { member.setId(++sequence); store.put(member.getId(), member); return member; } @Override public Optional<Member> findByid(Long id) { return Optional.ofNullable(store.get(id)); } @Override public Optional<Member> findByName(String name) { return store.values().stream() .filter(member -> member.getName().equals(name)) .findAny(); } @Override public List<Member> findAll() { return new ArrayList<>(store.values()); } public void clearStore() { store.clear(); } } MemoryMemberReposirory.java 코드에서 private static Map<Long, Member> store = new HashMap<>(); 부분이 이해가 가질 않습니다.. ㅠㅠ Map으로 <키 , 값>을 받으려고 하는것까진 알겠는데 왜 키는 id의 데이터타입인 Long으로 들어가는데 값은 name의 데이터타입인 String으로 들어가는것이 아닌 Member 객체로 들어가게 되는건가요..??

  • java
  • spring
  • mvc
  • spring-boot
ssisaaas 댓글 1 좋아요 1 조회수 508

Exception 예외를 지양해야되는 이유에 대해

미해결

스프링 DB 1편 - 데이터 접근 핵심 원리

학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? 예 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 예 3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예 [질문 내용] 안녕하세요 Exception 예외를 지양해야되는 이유로 어떤 예외를 잡을건이 어떤 예외는 안잡을건지 알 수 없기 때문이라고만 설명해주셨는데, 그냥 다 잡아버리면 안되는 이유가 있을까요?? Exception이면 의존 관계도 문제될거 없어보이는데 자세한 이유를 알 고 싶습니다.

  • spring
  • mvc
  • spring-jdbc
read1516 댓글 1 좋아요 1 조회수 562

DispatcherServlet 사용 후 서블릿 객체

미해결

스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술

2.서블릿.pdf p10 을 보면 helloServlet이 생성되었는데요 서블릿이 추가된다면 더 많은 서블릿 객체가 생성되잖아요 갑자기 드는 생각이 DispatcherServlet 을 사용하고 나면 @Controller 의 메소드들은 어떻게 되는지 궁금하네요. Q1 DispatcherServlet 도 서블릿 컨테이너가 관리하는 서블릿 객체라 할 수 있나요 ? Q2 @Controller를 통해 서블릿과 분리시켰는데, @RequestMapping된 메소드들이 호출될 때 서블릿 객체가 생성이 되나요 ? Q3 DispatcherServlet 사용하면 서블릿 컨테이너가 관리하는 서블릿 객체는 DispatcherServlet 하나일수도 있겠다는 생각이 드는데 맞을까요 ?

  • spring
  • mvc
코찔질이 댓글 2 좋아요 0 조회수 316

jar 빌드 관련 문의 사항

미해결

스프링 MVC 2편 - 백엔드 웹 개발 활용 기술

html같은 파일들은 서버가 구동중인데도 별도 재컴파일 없이 변경적용이 가능하잖아요?? 하지만 프로젝트를 jar로 만들면 html 과 같은 웹페이지들이 jar파일에 같이 포함되버리는데 resources/ 하위 폴더를 jar안에 안들어가게 따로 구성하는 방법은 없을까요?

  • spring
  • mvc
impact 댓글 2 좋아요 0 조회수 272

deleteUser 관련 질문

미해결

자바와 스프링 부트로 생애 최초 서버 만들기, 누구나 쉽게 개발부터 배포까지! [서버 개발 올인원 패키지]

현재 코드에서는 name을 기준으로 delete를 하는데요, findByName(name)을 이용한 코드에서 DB 안에 같은 이름의 회원이 2명 이상인 경우엔 오류가 생깁니다. 그 이유가 find는 return 개수가 1건이기 때문에 rollback 된다고 생각했습니다. 이 버그를 수정하기 위해서 deleteUser의 파라미터는 Long id 로 수정했는데, 또 안 되더라고요...? findAll을 쓰면 같은 이름을 가진 모든 회원이 삭제될 것 같고... 어떻게 하면 동명이인의 회원 중에서 내가 원하는 한 회원만 삭제할 수 있나요? + 추가 방금 다른 학생분의 질문과 답변을 읽었습니다. 같은 내용의 질문인 것 같네요! 그러면 파라미터를 Long id 로 변경하되, 현재 실습 중인 UI에서도 코드를 수정해야하는 부분이 있기에 삭제가 안 되는 게 맞다고 이해하면 될까요?

  • java
  • spring
  • aws
  • mysql
  • spring-boot
  • jpa
alstjs 댓글 1 좋아요 1 조회수 228

jdbc template findById method

미해결

스프링 DB 2편 - 데이터 접근 활용 기술

@Override public Optional<Item> findById(Long id) { String sql = "select id,item_name,price,quantity where id =?"; template.queryForObject(sql, ((rs,rowNum)->{ Item item = new Item(); item.setId(rs.getLong("id")); item.setItemName(rs.getString("item_name")); item.setPrice(rs.getInt("price")); item.setQuantity(rs.getInt("quantity")); return item; }),id); return Optional.empty(); } **람다식에 두번째 매개변수를 1로 바꾸면 안되는 이유가 궁금해요 sql를 보면 id가 primary key 이므로 당연히 1개의 데이터셋이 추출될건데 rowNum값을 왜 1로 두면 안될까요??

  • spring
  • mvc
  • jpa
  • querydsl
  • spring-data-mybatis
  • spring-jpa
jung 댓글 1 좋아요 0 조회수 561

윈도우 gradlew build 오류

미해결

스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술

학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? ( 예 /아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? ( 예 /아니오) [질문 내용] jdk 17 스프링부트 3.0

  • java
  • spring
  • mvc
  • spring-boot
댓글 1 좋아요 0 조회수 1132

v1~v5에서 어느정도까지 알고넘어가야하는지 질문드립니다

미해결

스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술

학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오)ㄴ[ 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)네 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)네 [질문 내용] v5까지 강의를 진행했는데요 코드를 다 따라하긴했는데 v3부터 각 코드가 무슨 역할을 하는지 이건 왜 이렇게 되는지 확실하게 짚고 넘어가는게 힘드네요..ㅠㅠ v1~v5까지는 mvc의 변화과정이니까 세세하게 코드를 이해하려 하지 말고 그냥 여기서는 왜 이렇게 바꾸는지, 이전 버전과 다른건 뭔지 등 큰 틀만 알고 넘어가도 큰 문제 없을까요?

  • spring
  • mvc
포닥 댓글 3 좋아요 5 조회수 805

인기 태그

인프런 TOP Writers

주간 인기글