본문 바로가기

분류 전체보기189

[PRBM] Junit Error 해결 (Mybatis mapping) Jnuit 을 통해서 mapper Test를 하던 도중에 에러가 발생하였다. resultMap을 통한 쿼리문으로 property, column을 지정해 준다음에 해당 결과를 생성한 ResultMap으로 리턴 받는 거였다. Test Code는 다음과 같았고 실행 결과 아래와 같은 에러가 발생했다. java.lang.AbstractMethodError: Receiver class net.sf.log4jdbc.sql.jdbcapi.ResultSetSpy does not define or inherit an implementation of the resolved method 'abstract java.lang.Object getObject(java.lang.String, java.lang.Class)' of i.. 2022. 8. 5.
[Spring ] JDBC를 이용한 인증/권한 처리 지금까지의 Spring security의 인증과 권한은 지정해 놓은몇개의 아이디와 패스워드를 통해서 접근이가능했다. 이제부터는 JDBC를 이용하는 방식을 한번 알아보자 스프링 시큐리티에서는 사용자를 확인하는 '인증(Authentication)' 과 권한등을 부여하는 '인과(Authorization)'으로 나누어 볼 수 있습니다. Authenticatoin Manager suers-by-username-query, authorities-by-username-query 를 통해서 인증을 받은 후 .CustomLoginSuccessHandler 으로 이동한 후 마지막으로 Handler에서 지정한 곳으로 이동하는것으로 볼수 있다. DB의 컬럼명과 security-context.xml, JSP 속성명 을 일치 시.. 2022. 8. 4.
[Spring] log4jdbc-log4j2 설정 DB 작업간에 에러 또는 정보를 얻기 위하여 log 설정을 한다. 우선 가장 먼저 해야 할 것은 1. pom.xml에 Dependency 를 추가해 준다. org.bgee.log4jdbc-log4j2 log4jdbc-log4j2-jdbc4 1.16 2. root-context.xml 에서 dataSource 설정을 변경해 준다. >> driverClassName / url 이 조금 수정되었다. 3. log4jdbc-log4j2 설정 파일을 등록한다. >> log4jdbc.log4j2.properties log4jdbc.spylogdelegator.name=net.sf.log4jdbc.log.slf4j.Slf4jSpyLogDelegator >> logback.xml logback.xml 작성 방법 사용할 .. 2022. 8. 3.
[PRBM] Tomcat Error [프로젝트 실행중 아래와 같은 이유로 실행되지 않았음] ========================================================================================= SEVERE: 필수 항목인 서버 구성요소가 제대로 시작되지 못하여, Tomcat이 시작될 수 없습니다. org.apache.catalina.LifecycleException: 자식 컨테이너를 시작 중 실패했습니다. caused by: java.lang.illegalargumentexception: 이름이 [spring_web]인, 둘 이상의 fragment들이 발견되었습니다. 이는 상대적 순서배열에서 불허됩니다. 상세 정보는 서블릿 스펙 8.2.2 2c 장을 참조하십시오. 절대적 순서배열을 .. 2022. 8. 3.
[Spring] Spring security - custom login page 태그를 보면 action이 /login을 통해서 이루어 지며, Post 방식으로 데이터를 전달해야 합니다 또한 input 태그의 name 속성은기본적으로 username, password 속성을 사용합니다. 또한 마지막으로 hidden에서 ${_csrf.parameterName}, ${_csrf.token} 을 확인할 수 있는데 페이지 속성보기를 통해 보면 아래와 같이 나타나는것을 확인 할 수 있습니다. 위에서 작한성 action이나 form 태그의 속성들은 기본 값으로 변경할 수 있습니다.. security-context.xml을 통해서 =============================================================================== CSRF(Cross-si.. 2022. 8. 2.
[Spring] spring security (setting, authentication 처리, 403처리) Spring Security pom.xml Dependency add security-context.xml 생성 [ servlet-context, root-context 와 별개로 따로 설정한다 ] Spring security 설정이 MVC에서 사용되기위햐서는 필터를 이용해서 스프링 동작에 관여 하도록 설정합니다. web.xml 설정 1. security-context.xml 을 읽을수 있도록 지정해주고 2. Filter 를 지정해 줍니다. 3. security-context.xml에서 를 생성해줍니다. 해당 태그가 있어야 security-context,xml이 실행됩니다. 시큐리티가필요한 URI 설계 1. /board/all : 로그인을 하지 않은 사용자도 접근 가능한 URI 2. /board/writ.. 2022. 7. 30.
[Spring] REST API , Ajax Java Script Option Notation - 자바스크립트 객체 표기법 { 속성명1 : 속성값, 속성명2 : 속성값2 ... } >> 객체 배열 [{ 속성명1 : 속성값 },{ 속성명2 : 속성값2}] >> Map {키1:{속성명:속성값,.., 키2 : {속성명 : 속성값,....} >> Stringify() 와 parse() - JS객체를 서버로 전송하려면, 직렬화(문자열로 변화)가 필요 * JSON.stringify() - 객체를 JSON문자열로 변환 (직렬화, JS객체-> 문자열) { name = "John", age:30} [ JS객체 ] ======> { "name" : "John", "age" : "30" } [ String ] - 서버가 보낸 데이터(Json문자열)를 JS객체로 변환할.. 2022. 7. 15.
[Spring] URLDecode.decode 안뜨는 현상 수정 >> 아래와 같이 ${URLDecoder.decode(param.msg} 가 안뜨는 현상이 발생하였다. >> 이유를 못찾다가 결국 찾은게 import를 안해줘서 였다 import를 해주자 !!!! 2022. 7. 13.
[Spring] Paging >> 페이징 - 게시판에서 글 페이지처리하는 것을 페이징이라고 하며 페이징을 위한 PageDto 가 있어야 한다. - PageDTO에는 페이지에 관한 속성들이 존재한다. >> 속성들을 하나씩 생각해보자 - totalCnt : 총 게시물의 숫자 - pageSize : 한페이지에 나타낼 게시물의 숫자 - naviSize : 페이지 이동할때 나타낼 페이지의 숫자 - totalPage : 총페이지 숫자 - page : 현재 페이지 - beginePage : 네비게이션에 나타낼 첫번쨰 페이지 숫자 - endPage : 네비게이션에 나타낼 마지막 페이지 숫자 - showPrev : 이전페이지 네비게이션을 보여줄지 말지 여부 - showNext : 다음페이지 네비게이션을 보여줄지 말지 여부 .. 2022. 7. 13.
[Spring] Mybatis -1 (2방법) MyBatis을 직접적으로 사용할수도 있지만 Spring에서 Mybatis를 사용하려면 >> Mybatis org.mybatis mybatis 3.5.10 >>Mybatis-Spring org.mybatis mybatis-spring 2.0.7 2개가 필요로 하다. pom.xml 에 dependency 를 추가해야 한다. 또한 Mybatis를 위한 mybatis-config.xml (mybatis 설정파일) 과 Mapper 파일을 지정해줘야 한다. >> root-context.xml에 SqlSessionFactory와 SqlSession은 SqlSessionFactoryBean, SqlSessionTemplate을 통해서 만들어진다. 형태로는 @Controller --> @Service ---> @Rep.. 2022. 7. 12.