본문 바로가기

전체 글102

[ajax] ajax의 parsererror 오류 해결 : status 200 error ajax 로직 구현 도중 에러가 발생했다. 콘솔에 찍어 확인해보니 parsererror 가 발생했다, 다만 status 상태값은 200에러. 상태값은 정상이라고 나온다. 즉 서버로는 제대로 전송됐다. 이유가 무엇일까? 해당 오류는 dataType 이 맞지않아서 생기는 오류이다. 상태값이 200에러 (정상) 으로 떴기때문에 ajax의 문제는 아니고, 컨트롤러의 리턴 값 문제다. ajax는 정상적으로 작동하지만 Controller 의 return 값이 null 일때 발생한다. return 값을 확인해보자. 2023. 1. 29.
[Git] Git branch 사용 이유와 명령어 1. 동시 작업을 위해 > 팀원 A,B,C가 있을경우, 세명이 각각 branch를 만들은 후, 자신의 branch에 각각 맡은 부분의 개발을 진행. 그 후, merge를 통해 자신이 맡은 부분의 코드를 master에 합치거나, branch끼리 merge를 통해 코드를 합쳐줌. 더보기 더보기 2. 프로젝트 관리를 위해 > 큰 프로젝트를 진행하거나, 여러명이서 협업을 진행할 경우, 만약 master안에서 작업을 진행하게되면, 코드가 꼬일경우, master안의 전체 프로젝트를 다시 검토하여 복구해야되므로 비효율적. 하지만 각자의 branch안에서 맡은부분을 수행할 경우, 코드가 꼬였을 경우 , 그 branch에서 작업한 부분만 다시 재검토하면 되기 때문에 효율적임. 더보기 더보기 협업시, 매우 효율적으로 작업.. 2023. 1. 26.
[Spring Security] 스프링 시큐리티 태그 라이브러리 jsp에서 권한 별 처리 + Gradle implementation 'org.springframework.security:spring-security-taglibs' Common built-in expressions Expression Description hasRole([role]) 현재 주체에 지정된 역할이 있는지 여부를 반환 합니다. 제공된 역할이 'ROLE_'로 시작하지 않으면 기본적으로 추가됩니다. DefaultWebSecurityExpressionHandler의 defaultRolePrefix을 수정하여 사용자 정의를 할 수 있습니다. hasAnyRole([role1,role2]) 현재 주체에 제공된 역할 (쉼표로 구분 된 문자열 목록으로 제공됨)이 있는지 여부를 반환 합니다. 제공된 역할이 'ROLE_'로 시작하지 않으면 기본적으로.. 2023. 1. 21.
[Spring] Controller 2번찍히는 현상 img src ="#" a href= "#" 등 #처리하면 2번찍힘 2023. 1. 21.
댓글 때문에 게시글이 삭제가 안될 때 (Foreign key 설정때문에) 문제가 생긴 Domain (Entity) 로 이동 후 Board 객체 내 replys에 cascade remove 옵션을 걸어준다. (cascade = CascadeType.REMOVE) 문제가 발생한 이유 : 게시글을 삭제할 때 해당 게시글과 연관된 댓글을 어떻게 처리할 지 정의가 안되어 있기 때문 그래서 cascade 옵션을 통해 연관된 엔티티를 어떻게 처리할지 정해줘야 한다. cascade는 특정 Entity의 영속성 상태가 변경되었을 때 이를 연관된 Entity에도 *전파*시킬 지 선택하는 옵션이다. 쉽게 말해, 연관된 Entity를 어떻게 처리할지 정해주는 것을 말한다. cf) * cascade 옵션 종류 1. CascadeType.PERSIST : 엔티티를 영속화할 때 연관된 엔티티도 함께 영.. 2023. 1. 19.
Repository 네이티브 쿼리 예제 public interface ReplyRepository extends JpaRepository { @Modifying // int만 반환 가능함 @Query(value="INSERT INTO reply(userId, boardId, content, createDate) values(?1, ?2, ?3,now())", nativeQuery = true) int mSave(int userId, int boardId, String content); } 2023. 1. 19.
[스프링 시큐리티] SecurityConfig 중에 localhost에서 리디렉션한 횟수가 너무 많습니다. 뜨는 오류 @Configuration @EnableWebSecurity @EnableGlobalMethodSecurity(prePostEnabled = true) public class SecurityConfig { @Bean public SecurityFilterChain filterChain(HttpSecurity http) throws Exception{ http.csrf().disable() .authorizeRequests() .antMatchers("/","/board") .permitAll() .anyRequest().authenticated() .and() .formLogin() .loginPage("/auth/signin"); // .loginProcessingUrl("/user/loginProc".. 2023. 1. 18.
[Security + JPA + OAuth2] 카카오 로그인 구현하기 -2 지난 포스팅때 null 을 띄우며 세팅을 완료하며 끝냈습니다. @RequiredArgsConstructor @Service public class Oauth2DetailsService extends DefaultOAuth2UserService { private final UserRepository userRepository; @Override public OAuth2User loadUser(OAuth2UserRequest userRequest) throws OAuth2AuthenticationException { OAuth2User oauth2User = super.loadUser(userRequest); System.out.println("oauth2user 요청 : " + oauth2User); Sy.. 2023. 1. 17.