본문 바로가기

Web

(23)
JSP 기본 Java Server Pages, 동적 페이지를 작성하는데 사용되는 자바의 표준 기술. Request 기본 객체 : 클라이언트가 보낸 정보를 확인 할 수 있다. 클라이언트IP = 요청정보길이 = 요청정보 인코딩 = 요청정보 컨텐츠타입 = 요청정보 프로토콜 = 요청정보 전송방식 = 요청 URI = 컨텍스트 경로 = 서버이름 = 서버포트 = Response 기본 객체 : request와 반대의 기능. 웹브라우저에 보내는 응답 정보를 담는다. - 헤더 정보 입력, 리다이렉트 하기 request는 너(클라이언트, 사용자) response는 나(서버, 개발자) 인코딩, 디코딩 JSP 처리 과정 jsp를 실행한다는 말은 곧 jsp 페이지를 컴파일한 결과인 서블릿 클래스를 실행한다는 의미가 된다. 'jsp 페이지를 ..
스프링부트 ajax 로그인 검증 마지막 부분에 jqurey cdn 을 또 호출해서 덮어씌워짐. 멍청한 실수. 그리고 수정을 했는데 null값이 뜸.. 그래서 컨트롤러 수정.. 그래도 계속 null 값 뜸.. 문제는 ajax if문에 안걸리고 넘어가버림.. 오류 콘솔 확인결과 dataType text text 로 변경 후 정상작동.
인텔리제이) 스프링부트 + 마이바티스 yml 설정 type-aliases-package: 매핑타입을 짧게 쓰기위한 경로 설정 mapper-locations: xml 맵퍼 위치 경로 설정 @Mapper 어노테이션 설정 맵퍼 클래스는 interface 로 구현
결과 조회, 정렬, 페이징 * 결과조회 fetch() : 리스트 조회, 데이터 없으면 빈 리스트 반환 fetchOne() : 단 건 조회 결과가 없으면 : null 결과가 둘 이상이면 : com.querydsl.core.NonUniqueResultException fetchFirst() : limit(1).fetchOne() fetchResults() : 페이징 정보 포함, total count 쿼리 추가 실행 fetchCount() : count 쿼리로 변경해서 count 수 조회 //List List fetch = queryFactory .selectFrom(member) .fetch(); //단 건 Member findMember1 = queryFactory .selectFrom(member) .fetchOne(); //처음..
기본 문법 * JPQL vs Querydsl @Test public void startJPQL() { //member1을 찾아라 Member findMember = em.createQuery("select m from Member m where m.username = :username", Member.class) .setParameter("username", "member1") .getSingleResult(); assertThat(findMember.getUsername()).isEqualTo("member1"); } @Test public void startQuerydsl() { Member find = queryFactory .select(member) .from(member) .where(member.use..
Querydsl 환경설정 * build.gradle 에 설정 하기 plugins { //querydsl 추가 id "com.ewerk.gradle.plugins.querydsl" version "1.0.10" } dependencies { //querydsl 추가 implementation 'com.querydsl:querydsl-jpa' } //querydsl 추가 시작 def querydslDir = "$buildDir/generated/querydsl" querydsl { jpa = true querydslSourcesDir = querydslDir } sourceSets { main.java.srcDir querydslDir } configurations { querydsl.extendsFrom compileClasspa..
확장기능 * 사용자 정의 리포지터리 구현 인터페이스는 아무이름이나 상관없음 그러나 구현하는 클래스 이름은 MemberRepository + Impl 붙여서 생성한다. public interface MemberRepositoryCustom { List findMemberCustom(); } @RequiredArgsConstructor public class MemberRepositoryImpl implements MemberRepositoryCustom { private final EntityManager em; @Override public List findMemberCustom() { return em.createQuery("select m from Member m") .getResultList(); } } p..
Spring Data JPA 페이징 org.springframework.data.domain.Sort; org.springframework.data.domain.Page; org.springframework.data.domain.PageRequest; Sort : 정렬기능 Pageable : 페이징기능 * 반환타입 Page : totalCount 가 포함 된 페이징 Slice : totalCount 미포함 ( 모바일에 더보기 기능 같은거) public interface MemberRepository extends JpaRepository { Page findByAge(int age, Pageable pageable); } @Test public void paging() { memberRepository.save(new Member("mem..