Web

Web/Spring Boot

[게시판] 2 - Security 기본 설정 (CSRF와 CORS)

SecurityConfig @EnableWebSecurity @Configuration public class SecurityConfig { @Bean public SecurityFilterChain filterChain(HttpSecurity http) throws Exception{ http .csrf(csrf -> csrf.disable()) .cors(cors -> cors.disable()) .authorizeHttpRequests((auth) -> auth .requestMatchers(new AntPathRequestMatcher("/**")).permitAll() ); return http.build(); } } 나중에 필요할시 설정하기위해 임시로 csrf와 cors를 비활성화 해주고 모든..

Web/Spring Boot

[게시판] 기본설정

버전정보 자바 - 17 스프링부트 - 3.2.1 mysql - 8.0 Dependency implementation 'org.springframework.boot:spring-boot-starter-data-jpa' implementation 'org.springframework.boot:spring-boot-starter-security' implementation 'org.springframework.boot:spring-boot-starter-thymeleaf' implementation 'org.springframework.boot:spring-boot-starter-web' implementation 'org.thymeleaf.extras:thymeleaf-extras-springsecurity..

Web/Spring Boot

[Project] 쇼핑몰 프로젝트 - 11 로그인 실패 핸들링

로그인 실패시에 /로그인경로?error로 이동하고 아무런 에러표시가 발생하지않는다. 여러 로그인관련 오류를 표시해주겠다. SecurityConfig 수정 @Configuration @EnableWebSecurity @RequiredArgsConstructor @EnableGlobalMethodSecurity(prePostEnabled = true) public class SecurityConfig{ private final AuthenticationFailureHandler CustomAuthFailureHandler; @Bean public SecurityFilterChain filterChain(HttpSecurity http) throws Exception{ http .csrf().disable()..

Web/Spring Boot

DTO와 Entity

Entity란 Entity는 DB 테이블에 존재하는 Column을 필드로 가지는 객체를 뜻함. Entity는 DB 테이블과 1대1 대응관계이고, 테이블에 가지지 않는 Column을 필드로 가져서는 안 된다. 또한 다른 클래스를 상속받거나 인터페이스의 구현체여서는 안 된다. Member 테이블에 id, name, age Column이 있으면 Spring Jpa를 사용할 때 아래와 같이 Entity 클래스를 작성할 수 있다. @Entity public class Member{ @Id @GeneratedValue(strategy = GenerationType.IDENTITY) private Long id; private String name; private int age; } @Entity어노테이션은 해당 클..

Web/Spring Boot

[Project] 쇼핑몰 프로젝트 - 10 게시판 페이징

Jpa에서 제공하는 페이징기능을 이용해서 메인페이지 페이징을 해보겠다. 먼저 테스트를위해서 상품 100개를 등록하겠다. 상품등록 @SpringBootTest class ShopApplicationTests { @Autowired private ItemRepository itemRepository; @Autowired private MemberRepository memberRepository; @Test void itemTest(){ for(int i=0; i 다음 정상적으로 작동한다. 참고 : https://wikidocs.net/162028

Web/Spring Boot

[Project] 쇼핑몰 프로젝트 - 9 상품 수정 & 삭제

상품 상세 페이지에서 자신이 작성한 글만 수정, 삭제 할수있도록 구현해보겠다. ItemController 추가 @GetMapping("/detail/{id}") public String item_detail(Model model, @PathVariable Long id, Principal principal){ model.addAttribute("item", itemService.itemFindId(id)); model.addAttribute("reviews", reviewService.FindItemId(id)); if(principal != null) { Member member = memberService.findEmail(principal.getName()); model.addAttribute("m..

Web/Spring Boot

[Project] 쇼핑몰 프로젝트 - 8 상품상세페이지 & 리뷰

Review Entity @Entity @NoArgsConstructor @Getter public class Review { @Id @GeneratedValue(strategy = GenerationType.IDENTITY) private Long id; private String content; @ManyToOne @JoinColumn(name = "item_id") private Item item; @ManyToOne @JoinColumn(name = "member_id") private Member member; @Builder public Review(Long id, String content, Item item, Member member){ this.id = id; this.content = ..

Web/Spring Boot

[Project] 쇼핑몰 프로젝트 - 7 상품등록페이지

item_reg.html 작성 상품 등록 상품명 가격 재고 상품 설명 상품 등록 ItemDto 작성 @Data public class ItemDto { private String name; private String content; private int price; private int count; private Member member; public Item toEntity(){ return Item.builder() .name(name) .content(content) .price(price) .count(count) .member(member) .build(); } } ItemController 추가 @Controller @RequestMapping("/item") @RequiredArgsConst..

h0ch1
'Web' 카테고리의 글 목록