묻고 답해요
161만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
urlPatterns관련
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)예2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)예3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)예[질문 내용]여기에 질문 내용을 남겨주세요.안녕하세요!강의내용에서 hello-form.html에 접근하기 위해 http://localhost:8080/basic/hello-form.html 을 이용했습니다. 제가 만약에 서블릿을 하나 만들고 urlPatterns를 /basic/hello-form.html 으로 만들면 hello-form.html 파일로 직접 접근하는 것이 아닌 제가 만든 서블릿으로 접근하는 것을 확인했는데요. 이 경우에는 url접근 우선순위를 1. 서블릿 Url매핑 찾기 2. 경로 정보를 이용해서 직접 html을 내려주기 이렇게 이해해도 되는지 궁금합니다!또한 이처럼 url을 겹치도록 설계하는 것 자체를 지양해야하는것인지 궁금합니다. 감사합니다!
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
수업 정리..
강의 듣고 학습한 내용을 github에 정리하고 싶은데출처를 밝히면 가능할까요?안된다면 하지 않겠습니다.감사합니다!
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
MemberService에 @Transactional 붙이는 이유
jpa를 사용하기 이전( 순수jdbc,jdbctemplate)에는 MemberService 클래스에 @Transactional을 안달아줬는데 왜 jpa를 사용하게되면 갑자기 MemberService클래스에 @Transactional 어노테이션을 달아줘야되나요???
-
미해결스프링 MVC 2편 - 백엔드 웹 개발 활용 기술
response.sendRedirect("/login?redirectURL=" + requestURI);
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]여기에 질문 내용을 남겨주세요.안녕하세요. 강의 정말 잘 보고 있습니다. 그런데 스프링 인터셉터 - 인증 체크 강의 하실 때 public class LoginCheckInterceptor implements HandlerInterceptor { @Override public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception { String requestURI = request.getRequestURI(); log.info("인증 체크 인터셉터 실행 {}", requestURI); HttpSession session = request.getSession(false); if (session == null || session.getAttribute(SessionConst.LOGIN_MEMBER) == null) { log.info("미인증 사용자 요청"); //로그인으로 redirect response.sendRedirect("/login?redirectURL=" + requestURI); return false; } return true; }코드를 위에서처럼 작성하시는데,여기서 제가 궁금한 점은 response.sendRedirect("/login?redirectURL="+requestURI)이 부분인데, 이 때 sendRedirect함수를 호출 했다고 해서 바로 rediredt 요청을 하는건가요? 아니면 제가 생각했을 때는 자료를 참고해보면 인터셉터에서 제한이 걸려서 WAS까지 다시 올라 간 다음에 그때 서야 서버 내부에서 redirect를 하는 건가요? 질문을 정리하면 sendRedirect를 호출할 때 서버에서 이뤄지는 과정이 어떻게 되는 건지,,, 궁금합니다.
-
미해결스프링 MVC 2편 - 백엔드 웹 개발 활용 기술
로그인 구현시 세션에 담을 정보
세션에 담을 정보는 핏하게 최소한의 정보를 담으라고 말씀하셨는데그러면 memberService에서 로그인용으로 회원uid와 id, 이름 정도만을 반환해주는 매서드를 만들어서 해야 하나요?혹시 비밀번호등 회원의 모든 정보를 반환해서 세션에 담을 경우엔 보안상의 위험이 있는건가요?
-
미해결스프링 MVC 2편 - 백엔드 웹 개발 활용 기술
bindingResult
@Controller에는 bindingResult의 message를 국제화하여 messages.properties 한꺼번에 저장을 했는데 REST에서는 spring.messages.basename=messages,errors 를 설정해주어도 안되고 따로 message처리 설정을 해야하나요?
-
미해결스프링 MVC 2편 - 백엔드 웹 개발 활용 기술
if (loginMember == null)의 존재 이유
HomeController.java @GetMapping("/") public String homeLoginV3(HttpServletRequest request, Model model) { HttpSession session = request.getSession(false); //세션 저장소에 해당 세션이 존재하지 않음 if (session == null) { return "home"; } //세션 저장소에 해당 세션이 존재함 Member loginMember = (Member) session.getAttribute(SessionConst.LOGIN_MEMBER); if (loginMember == null) { return "home"; } model.addAttribute("member", loginMember); return "loginHome"; }위 코드에서 'if (loginMember == null) { ... }' 코드가 존재하는 이유는, loginMember가 null인 경우는 없지만 session.getAttribute()가 스펙상 null을 반환할 수 있기 때문인 것이 맞을까요..?세션 저장소에 세션이 없는 경우는 있지만, 세션이 있다고 하면 Member 객체가 무조건 존재하는 것이 아닌가요..??
-
해결됨스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
이클립스 프로젝트 열면 오류납니다.
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]sts에서 프로젝트 생성 후 프로젝트 열었는데 에러가 뜨네요.마켓플레이스에서 스프링 툴 3을 추가하고 열어도 자꾸 빨간줄이 뜹니다.
-
해결됨스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
JdbcTemplate와 RowMapper질문
public Optional findById(Long id) { List result = jdbcTemplate.query("select * from member where id = ?", memberRowMapper(), id); return result.stream().findAny(); } private RowMapper memberRowMapper() { return (rs, rowNum) -> { Member member = new Member(); member.setId(rs.getLong("id")); member.setName(rs.getString("name")); return member; }; } 이 두 함수가 이해가 안되서 질문드립니다 ㅠ rs가 정확히 무엇인지 그리고 memberRowMapper()은 member객체를 반환하는데 어떻게 List로 받을수 있는지 궁금합니다
-
미해결스프링 MVC 2편 - 백엔드 웹 개발 활용 기술
빈 ModelAndView 반환
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)[질문 내용]여기에 질문 내용을 남겨주세요.수업중에 return new ModelAndView();로 반환시 정상흐름으로 서블릿이 리턴된다고 하셨는데 그렇다는 건 response의 값이 WAS로 가서 처리된다는 것인가요?
-
미해결스프링 MVC 2편 - 백엔드 웹 개발 활용 기술
세션은 브라우저가 종료되면 sessionid를 제거한대요
https://chlolisher.tistory.com/102 이런 블로그글이 많은데요강의에선 브라우저가 종료돼도 서버가 가지고있는 세션저장소의 세션값이 삭제가 안된다는거잖아요?근데 이 글에서는 세션값이 삭제가 된다고 얘기하고있는것같아요.. 헷갈립니다..
-
미해결스프링 MVC 2편 - 백엔드 웹 개발 활용 기술
쿠키와 세션
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/)[질문 내용]여기에 질문 내용을 남겨주세요.HttpSession 사용하기전에는 String sessionId = UUID.randomUUID().toString(); sessionStore.put(sessionId,value); Cookie mySessionCookie = new Cookie(SESSION_COOKIE_NAME, sessionId); response.addCookie(mySessionCookie); 세션과 쿠키를 직접 만들어주셨는데login3 부터는HttpSession session = request.getSession(); session.setAttribute(SessionConst.LOGIN_MEMBER,loginMember);세션만 만들어주셨는데 쿠키는 저희가 직접 만들어줬던걸 이제 자동으로 해주는건가요 ?? 질문2 세션은 웹 브라우저를 종료하면 자동으로 삭제 되는거 아닌가요 ??
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
수업 자료가 따로 없나요?
선생님이 강의 도중에 html 내용 복붙하고 그러는데 강의 자료가 따로 없나요? 저는 일일이 타자쳐서 넣고 있어서요.
-
해결됨스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
index.html 하이퍼링크 이동 시 basic.html로 이동
=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]localhost:8080으로 접속하여 index.html로 이동하였습니다. 그 이후 jsp 회원가입 전송 후 /jsp/members/save에서 /index.html 로 이동하도록 되어있길래 그리했더니 같은 디렉토리의 basic.html로 이동하게 됩니다. 이동 경로를 '/'로 바꿔주어 해결하였으나 원인이 무엇인지 궁금합니다
-
미해결스프링 MVC 2편 - 백엔드 웹 개발 활용 기술
로그인 처리 - 세션사용
이 부분에 질문이있는데요getSession시 Object를 반환하잖아요sessionStore에는 Member을 넣어도, Item을 넣어도 결국 Object로 반환해서 넘겨주는데.. 그럼 getSession을 호출하는 곳에서 Object에 대한 구체적인 정보를 사용하고싶어하면 어떡하죠?Member로 변환시켜야하는데, 외부에선 Object타입인것만 알지 Member타입인지는 모르잖아요?
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
assertThat 관련
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]import static org~ 구문 추가 했는데도 계속 이 상태에요. 혹시 몰라서 앞에 Assertions.붙여봤는데도 계속 빨간 상태에요.. 뭐가 문제일까요ㅠ
-
미해결스프링 MVC 2편 - 백엔드 웹 개발 활용 기술
REST BindingResult 유효성
BindingResult 를 rest로 하진 않았는데, BindingResult 한다면return값이 html주소 이동인데 어떻게 해야하는지와@Size와 같은 @Validated 유효성검사를 할때 에러메시지 커스텀과if (bindingResult.hasErrors()) { return "login/loginForm"; }그냥 @Controller는 .html이동인데 rest는 어떻게 해야할지 모르겠습니다.
-
미해결스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
id를 제외한 생성자 만들기
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? 예2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 예3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예[질문 내용]안녕하세요. 강의를 듣던 중, 잘 이해하지 못한 부분이 있어 질문 드립니다.1:07초에서 영한님께서"id를 제외한 생성자를 하나 만들겠습니다."라고 하셨는데, 생성자를 만들때 id를 제외하는건지 여쭤봅니다.다음에 작성하는 ItemRepository에서 setId, getId에서 생성자를 만들었기 때문인가요??감사합니다.
-
미해결스프링 프레임워크는 내 손에 [스프2탄]
페이징에서 없는 데이터라고 나옵니다
getPage랑 getPerPageNum이 안읽혀서강사님 깃허브에서 직접 다운받아서 했는데도 안됩니다;;
-
미해결스프링 프레임워크는 내 손에 [스프2탄]
스프링부트를 내려받는중에 오류가발생한거같네요
강의화면과는 달리 templete와 static부분이 전혀안보이네요 그리고 rest 컨트롤러도 안보이네요 여려번 다시 다운받아봤는데도 그대로네요 스프링부트 어플리케이션을 실행해도 오류가 나오네요 설치할떄 기존에 있던 자바하고 스프링부트에서 사용하는 자바버젼하고 충돌이 일어난듯한데 방법이 없을까요?