inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

묻고 답해요

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

id에 @NotEmpty를 한다면

미해결

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

@Data public class Member { @NotEmpty private Long id; @NotEmpty private String loginId; //로그인 ID @NotEmpty private String name; //사용자 이름 @NotEmpty private String password; } 제가 실수로 id에 @NotEmpty를 하니까 회원가입 버튼을 눌렀더니 오류가 났습니다. 오류가 나는 이유는 id의 오류처리를 안해서라고 생각하는 데 만약에 오류처리를 해야한다면 MemberRepository의 @Slf4j @Repository public class MemberRepository { private static Map<Long, Member> store = new HashMap<>(); //static 사용 private static long sequence = 0L; //static 사용 public Member save(Member member) { member.setId(++sequence); log.info("save: member={}", member); store.put(member.getId(), member); return member; } save() 메소드에서 하면 되는 걸까요?? (id는 다른 필드들과 다르게 html에서 처리할 수 없으니까??) 아니면 id는 데이터베이스에 들어가는 거니까 애초에 @NotEmpty 를 사용하면 안된다 라고 생각해야 건가요?? (개발자가 직접 입력한 것이 아니니까?) 답변주시면 정말 감사하겠습니다.

  • spring
  • mvc
코딩먹는하마 댓글 1 좋아요 0 조회수 460

뷰단 궁금한게있습니다

미해결

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

학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] jstl이 앉먹어서 코드분량은많지만 고대폼의 jsp 화일을 써서 덮어버렸는데 잘됩니다 그대로 써도 괜찮을까요?

  • spring
  • mvc
윤형민 댓글 1 좋아요 0 조회수 368

세션 개념이 잘 이해가 되지 않아서 질문입니다

미해결

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

세션 만들기 //로그인 성공 처리 //세션이 있으면 있는 세션 반환, 없으면 신규 세션 생성 HttpSession session = request.getSession(); //세션 로그인 회원 정보 보관 session.setAttribute(SessionConst.LOGIN_MEMBER, loginMember); 세션 지우기 HttpSession session = request.getSession(false); if (session != null) { session.invalidate(); } 세션 확인하기 HttpSession session = request.getSession(false); if (session == null) { return "home"; } 쿠키는 클라이언트 측에서 저장하고 세션은 서버측에서 저장한다고 알고 있는데요. request 로부터 getSession을 통해 얻는 것이 무엇인지가 궁금합니다. request.getSessin()을 통해 얻는다는 것은 사용자의 요청으로부터 얻은 Session이고 여기에 setAttribute 하는 것은 서버에 데이터를 저장하는게 아니라 사용자의 요청에 저장을 하게 되는 것 아닌가요 ?? (setAttribute가 사용자의 request와 서버 모두 저장하는 것인가요?) session은 cookie와 같다면 서버 내부적으로 어디에 저장돼서 어떻게 확인할 수 있는 건지 궁금합니다.

  • spring
  • mvc
댓글 1 좋아요 1 조회수 720

Failed to load ApplicationContext 오류

해결됨

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

학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예) [질문 내용] package hellospring11.hellospring.service; import hellospring11.hellospring.repository.JdbcMemberRepository; import hellospring11.hellospring.repository.JdbcTemplateMemberRepository; import hellospring11.hellospring.repository.MemberRepository; import hellospring11.hellospring.repository.MemoryMemberRepository; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import hellospring11.hellospring.service.MemberService; import javax.sql.DataSource; // 자바 코드로 스프링 빈 등록 // 실무에서는 이것 보다는 autowired를 사용 하는데 이방법은 리포지토리를 쉽게 변경을 할 계획이라서 일딴 이렇게 사용 @Configuration public class SpringConfig { private final DataSource dataSource; @Autowired public SpringConfig(DataSource dataSource) { this.dataSource = dataSource; } @Bean public MemberService memberService(){ return new MemberService(memberRepository()); } @Bean public MemberRepository memberRepository(){ //return new MemoryMemberRepository(); //return new JdbcMemberRepository(dataSource); return new JdbcTemplateMemberRepository(dataSource); } } package hellospring11.hellospring.repository; import hellospring11.hellospring.domain.Member; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.jdbc.core.JdbcTemplate; import org.springframework.jdbc.core.RowMapper; import org.springframework.jdbc.core.namedparam.MapSqlParameterSource; import org.springframework.jdbc.core.simple.SimpleJdbcInsert; import javax.sql.DataSource; import java.sql.ResultSet; import java.sql.SQLException; import java.util.HashMap; import java.util.List; import java.util.Map; import java.util.Optional; public class JdbcTemplateMemberRepository implements MemberRepository{ private final JdbcTemplate jdbcTemplate; // 생성자가 하나면 오토와이어드 생량 가능 public JdbcTemplateMemberRepository(DataSource dataSource) { jdbcTemplate = new JdbcTemplate(dataSource); } @Override public Member save(Member member) { SimpleJdbcInsert jdbcInsert = new SimpleJdbcInsert(jdbcTemplate); jdbcInsert.withTableName("member").usingGeneratedKeyColumns("id"); Map<String, Object> parameters = new HashMap<>(); parameters.put("name", member.getName()); Number key = jdbcInsert.executeAndReturnKey(new MapSqlParameterSource(parameters)); member.setId(key.longValue()); return member; } @Override public Optional<Member> findById(Long id) { List<Member> result = jdbcTemplate.query("select * from member where id = ?", memberRowMapper(), id); return result.stream().findAny(); } @Override public Optional<Member> findByName(String name) { List<Member> result = jdbcTemplate.query("select * from member where name = ?", memberRowMapper(), name); return result.stream().findAny(); } @Override public List<Member> findAll() { return jdbcTemplate.query("select * from member", memberRowMapper()); } // 람다 함수로 만듬 private RowMapper<Member> memberRowMapper(){ return (rs, rowNum) -> { Member member = new Member(); member.setId(rs.getLong("id")); member.setName((rs.getString("name"))); return member; }; } } MemberServiceIntegrationTest 테스트 파일에서 코드를 실행하는데 계속 오류가 나옵니다. @WebAppConfiguration, @ContextConfiguration() 어노테이션을 추가 해보았는데도 오류가 발생하고 데이터베이스 서버는 실행되어 있습니다.

  • java
  • spring
  • mvc
  • spring-boot
노원진 댓글 1 좋아요 1 조회수 1721

서블릿으로 구현한 회원관리에 대한 질문입니다.

해결됨

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

[질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] JSP에 java 코드를 추가해서 회원관리 웹 애플리케이션을 구현한 것이 mvc model1 이고 servlet과 jsp를 이용해서 회원관리 웹 애플리케이션을 구현한 것이 mvc model2 라고 알고있습니다. 그럼 처음에 서블릿에서 PrintWriter 클래스를 이용해서 구현한 회원관리 웹 애플리케이션은 mvc model1 인가요? 아니면 순수 java를 이용한 회원관리 웹 애플리케이션인가요??

  • spring
  • mvc
truepine 댓글 1 좋아요 0 조회수 316

회원 가입> 등록 후 회원목록 조회가 되지 않습니다.

미해결

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

[질문 템플릿] 1. 강의 내용과 관련된 질문인가요? ( 예 /아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? ( 예 /아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/ 아니오) [질문 내용] 회원가입 > 등록 후 회원목록 조회가 되지 않습니다. https://drive.google.com/file/d/1mo2EohoMsgKRpeusyQ-AXlygE1CSSJIV/view?usp=sharing 코드 링크입니다. WhiteLabel Error Page 오류가 납니다.

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

th:field와 th:erroclass

미해결

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

안녕하세요 th:errorclass : th:field 에서 지정한 필드에 오류가 있으면 class 정보를 추가한다 pdf내용 중 한 문장인데요 . 이 의미가 th:field는 오류가 있다면 그 오류난 것을 알고 있어서 th:errorclass를통해 class정보를 추가한다는 의미 맞죠?? 그리고 th:errors="*{itemName}"은 errors중에 해당 필드 에러가 있을때 즉 itemName필드에 에러가 발생했을때 수행된다 이느낌 맞나요?/

  • spring
  • mvc
박해빈 댓글 1 좋아요 0 조회수 375

회원가입 테스트 코드는 실행이 잘 되지만 실제 DB에는 올라가지 않아요

해결됨

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

학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 안녕하세요 TEST코드가 실행은 잘 되지만 실제 DB에 올라가지 않는 문제가 있습니다. 도움을 받을 수 있을까 해서 올려봅니다. https://drive.google.com/file/d/1dLceWpDp71m9dsvZXlVEfKa1db8M885g/view?usp=sharing 파일링크입니다!

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

run이 안뜹니다.

미해결

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

인터넷에서 여러가지 세팅을 찾아서 맞춰놓긴 했는데 아직도 초록색 동그라미 부분에 run 버튼이 활성화가 안됩니다.

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

addForm할때 등록지역

미해결

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

[질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] addForm에서 등록지역추가할때 선생님께서 알려주신 FormItemController에 @ModelAttribute로 만들지말고 바로 addForm.html에 세가지지역의 input checkbox 만들어서 해도 되나요? 그리고 만약에 된다면 form의 생성을 조금더 수월하게 하기 위해서 @ModelAttribute를 사용한건가요?

  • spring
  • mvc
박해빈 댓글 1 좋아요 0 조회수 515

실무에서 모든 컨트롤러에는 이런 식의 메서드가 있는 건가요?

미해결

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

@ExceptionHandler public ErrorResult exHandler(Exception e) { return new ErrorResult("error", e.getMessage()); } 실무에서 웬만한 예외들은 다 처리를 해줄 텐데 예기치 못한 예외들을 위해 저런 식으로 Exception e를 파라미터로 받는 메서드를 작성해줄까요 ???

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

404 오류 화면 스프링 부트 제공

미해결

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

@RequestMapping 을 하지 않은 URL을 입력하면 [404 오류 화면 스프링 부트 제공] 화면 만 나오는데 이유가 무엇인가요? 좀 더 포괄적인 [4xx 오류 화면 스프링 부트 제공] 이 나오는게 맞지 않나요 ?? 다른 이유 없이 스프링 측에서 저렇게 세팅했기 때문에 나오는 건가요 ?? 200과 300을 보냈을 때는 하얀 공간만 나오는데 2xx,3xx 상태코드들은 실패가 아니기 때문에 그런 것인가요? 맞다면 이 하얀 화면은 HTTP Status 500 – Internal Server Error (error/500.html이 없을 때 나오는 화면) 가 나오는 것처럼 스프링부트가 내부적으로 세팅해놓은 화면인 건가요?

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

MemberRepository 클래스의 findAll 함수 질문입니다.

해결됨

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

[질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] findAll() 함수를 설명하실 때 store의 변조를 보호하기 위해 새로운 ArrayList 에 담아서 반환한다고 하셨는데, 이 말이 store.values() 를 그대로 반환하면 CallByReference로 반환되어서 외부에서 List의 값을 변경하면 store의 value도 변경된다는 말씀이신건가요?? 그리고 새로운 ArrayList 에 담아서 반환해도 store 자체에 접근하면 값이 변경될 수도 있다고 하셨는데, MemberRepository 에서 store는 private로 선언되어있는데 어떻게 store 의 value 를 변경할 수 있는건지 궁금합니다.

  • spring
  • mvc
truepine 댓글 1 좋아요 0 조회수 480

강의자료 pdf에서 우분투에서 도커 다운받는 링크 복사할때

미해결

따라하며 배우는 노드, 리액트 시리즈 - 레딧 사이트 만들기(NextJS)(Pages Router)

도커 다운받는 링크 복사 할때 공백 생겨서 필요 하신분 쓰시라고 링크 올려 두겠습니다. https://www.digitalocean.com/community/tutorials/how-to-install-and-use-docker-on-ubuntu-22-04

  • react
  • node.js
  • postgresql
  • docker
  • typescript
  • 클론코딩
  • next.js
rhkdtjd_12 댓글 2 좋아요 2 조회수 1165

dataSource 에러

미해결

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

학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] dataSource에러 계속 빨간불이 나오면서 에러가 발생합니다. 처음에는 test.mv .db 문제인줄 알고 h2를 삭제한뒤, 다시 설치했지만 survlet 문제가 계속 됩니다.

  • java
  • spring
  • mvc
  • spring-boot
양유림 댓글 2 좋아요 0 조회수 1013

파라미터를 Map으로 조회

해결됨

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

1. @RequestParam은 파라미터 이름으로 바인딩된다고 하셨는데 "파라미터를 Map으로 조회하기"를 보면 "@RequestParam Map<String, Object> paramMap"으로 사용할때는 파라미터 이름으로 바인딩이 안된것같은데 맞을까요? 2. 파라미터를 Map으로 조회하려면 위와 같이 하면 된다고 정해져 있다고 보면 될까요?

  • spring
  • mvc
lwisekiml 댓글 1 좋아요 0 조회수 431

세션 질문입니다.

미해결

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

세션 만들기 //로그인 성공 처리 //세션이 있으면 있는 세션 반환, 없으면 신규 세션 생성 HttpSession session = request.getSession(); //세션 로그인 회원 정보 보관 session.setAttribute(SessionConst.LOGIN_MEMBER, loginMember); 세션 지우기 HttpSession session = request.getSession(false); if (session != null) { session.invalidate(); } 세션 확인하기 HttpSession session = request.getSession(false); if (session == null) { return "home"; } 세션 만들기에서는 session.setAttribute 로 정보를 저장도 했다가, 지우기 혹은 확인하기에서는 쿠키의 역할을 하는 것 같은데 session은 쿠키 + 쿠키저장소(SessionManager의 HashMap) 두 역할을 모두 하는 건가요 ? 그게 아니라 session은 cookie와 같다면 서버 내부적으로 어디에 저장돼서 어떻게 확인할 수 있는 건지 궁금합니다.

  • spring
  • mvc
댓글 1 좋아요 2 조회수 564

@NotBlank 질문입니다

미해결

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

예를 들어 @NotBlank String nickName 이런 경우에 nickName :"12 34 56" 이런 닉네임도 안 되는 건가요?? 아니면 nickName : " " << 이런 경우만 금지하는 건가요?? " " 만 금지하는 것인지, 문자열 속에 " "를 금지하는 것인지 궁금합니다 ..

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

price에 qq를 넣었을 때 오류 발생과정

미해결

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

@PostMapping("/add") public String addItemV2(@ModelAttribute Item item, BindingResult bindingResult, RedirectAttributes redirectAttributes, Model model) { if (item.getPrice()==null || item.getPrice() <1000 || item.getPrice() > 1000000){ bindingResult.addError(new FieldError("item","price", item.getPrice(), false, null, null,"가격은 1,000 ~ 1,000,000 까지 허용합니다.")); } } price에 qq를 넣으면 오류가 2개 발생합니다. Field error in object 'item' on field 'price': rejected value [qq]; codes [typeMismatch.item.price,typeMismatch.price,typeMismatch.java.lang.Integer,typeMismatch]; Field error in object 'item' on field 'price': rejected value [null]; codes []; arguments []; default message [가격은 1,000 ~ 1,000,000 까지 허용합니다.] addItemV2()메소드 발생 전 스프링에서 HTTP 전송을 통해 넘어온 itemName 데이터에 의한 FieldError, 그리고 addItemV2()메소드에서 같은 이유로 발생한 FieldError 먼저 스프링 FieldError의 rejectedvalue에는 qq가 들어갑니다. (typeMismatch 오류가 발생하기전부터 알고있던) 그 다음 개발자가 직접 작성한 FieldError의 rejectedvalue에는 null 이 들어갑니다. (Integer타입에 String 타입이 들어갔으므로) 그 다음 qq, null 중 bindingResult에 먼저 들어간 qq가 출력됩니다. https://www.inflearn.com/questions/309088/bindingerror 이 글을 보다 질문 드립니다. 위와 같이 이해했는데 맞게 이해한 것 일까요??

  • spring
  • mvc
코딩먹는하마 댓글 1 좋아요 0 조회수 684

findCookie 에서 쿠키가 2개인 경우는 없나요 ?

미해결

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

아이디가 2개이고, 이 2개의 아이디로 모두 로그인을 하면서 쿠키를 발급 받아가지고 클라이언트(브라우저)에 SESSIN_COOKIE_NAME을 이름으로 갖는 쿠키가 2개인 경우는 없나요 ?

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

인기 태그

인프런 TOP Writers

주간 인기글