반응형 개발/자바23 Thymeleaf 속성 처음 배울 때는 JSP로 작성했었는데, 요즘은 Thymeleaf 템플릿을 사용한다니 정리해보았다. th:text와 th:utext th:text 속성은 HTML 요소의 텍스트 컨텐츠를 서버에서 전달된 데이터로 동적으로 설정한다. 이는 XSS 공격을 방지하기 위해 사용자 입력을 안전하게 텍스트로만 출력할 때 유용하다. 예를 들어, 사용자로부터 입력 받은 메시지를 표시하고자 할 때, 이 속성을 사용하면 HTML 태그가 실행되지 않고 순수 텍스트로 처리된다. 기본 메시지 th:utext는 th:text와 유사하나, 제공된 텍스트를 HTML로 해석하여 렌더링한다. 따라서 사용자 입력을 이 속성으로 출력할 때는 XSS 취약점에 주의해야 한다. 예를 들어, 사용자가 HTML 태그를 포함한 데이터를 입력했을 때, 그.. 2024. 4. 6. 스프링 프레임워크 자주 쓰는 어노테이션 @Controller @Controller 어노테이션은 클래스를 컨트롤러로 지정한다. 컨트롤러는 사용자의 요청을 받아 처리하고 결과를 반환하는 역할을 한다. 예를 들어, 사용자가 로그인 버튼을 클릭하면 로그인 요청을 처리하는 컨트롤러가 동작한다. @RequestMapping @RequestMapping 어노테이션은 요청 URL과 컨트롤러 메서드를 매핑한다. URL 패턴을 지정하여 해당 URL로 들어오는 요청을 처리할 메서드를 지정할 수 있다. 예를 들어, "/login" URL로 들어오는 요청을 처리하는 메서드에 @RequestMapping("/login")을 붙인다. @GetMapping, @PostMapping @GetMapping과 @PostMapping 어노테이션은 HTTP GET, POST 요청.. 2024. 4. 1. 자바 JPA, Spring Data JPA, MyBatis JPA (Java Persistence API)로 조회하기 JPA를 사용하면 객체-관계 매핑(ORM)을 통해 데이터베이스 테이블을 자바 객체로 추상화한다. 예를 들어, 사용자의 ID를 통해 특정 사용자 정보를 조회하는 경우, 엔티티 매니저를 사용하여 간단히 조회할 수 있다. // 엔티티 매니저를 통한 조회 User user = entityManager.find(User.class, userId); 여기서 User는 엔티티 클래스이며, userId는 조회하고자 하는 사용자의 고유 ID이다. 해당 ID를 가진 엔티티가 존재하면 그 인스턴스를 반환하고, 존재하지 않으면 null을 반환한다. JPQL을 사용하여 쿼리를 작성할 수도 있다. JPQL은 엔티티 객체를 대상으로 한 쿼리 언어이다. // JPQL을 사용.. 2024. 3. 26. 스프링 프레임워크 AOP에 대해.. 스프링 프레임워크에서의 AOP(관점 지향 프로그래밍) AOP는 반복적으로 수행해야 하는 공통 로직을 한 곳에 모아서 관리하는 방법이다. 로깅, 보안 체크, 트랜잭션 관리 등과 같은 공통 기능들을 각각의 메서드나 클래스에 직접 구현하게 되면 코드가 중복되고 유지보수가 어려워진다. AOP는 이런 문제를 해결하기 위해 공통 기능을 별도의 코드로 분리하여 관리한다. 그리고 이 공통 기능을 필요한 곳에 적용하여 사용한다. 이때 공통 기능을 '횡단 관심사(Cross-Cutting Concern)'라고 부르며, 이를 처리하는 코드를 '어드바이스(Advice)'라고 한다. 스프링 프레임워크에서 AOP를 사용하면 다음과 같은 장점이 있다: 코드 중복 제거: 공통 기능을 한 곳에서 관리하므로 코드 중복을 제거할 수 있다... 2024. 3. 25. 이전 1 2 3 4 ··· 6 다음 반응형