👩💻 BackEnd/☕️ 자바 [Java]33 JSP에서 data set 활용하기 대댓글 구현 시 JSP에서 HTML 요소에 데이터를 저장하고 활용할 수 있다고 한다. 대댓글을 구현하기 위해서는 해당 댓글의 부모 댓글 아이디 값을 계속 가지고 있다가 넘겨줘야 하는데 이때 data set을 활용하면 매우 간편해진다. 그리고 이 저장한 값을 javascript 나 서버에서 해당 댓글의 대댓글을 식별하는데 사용할 수 있다. 이를 위해 HTML 요소에 'data-*' 속성을 사용할 수 있다. 특정 댓글에 답글달기 버튼을 클릭할 때 해당 댓글의 식별자를 javascript 로 가져와 서버로 전송하여 대댓글을 생성한다. .. 2024. 5. 9. [ Jquery / javascript] textarea 값 가져오기 function maxlengthCheck() { var content = $('textarea#content').val(); if (content.length > 100000) { alert("본문 내용은 100,000자 이내여야 합니다."); return false; }} 2024. 5. 2. [JSP/JSTL] jsp에서 LocalDateTime -> Date 포맷 변경해서 사용하기 개발환경sts4oracle xe 11gdbeaver java8 jsp 에서 날짜를 출력하는 과정에서 발생한 에러 Cannot convert [2024-05-01T05:47:21] of type [class java.time.LocalDateTime] to [class java.util.Date] 오라클의 timestamp 타입의 날짜를 가져오려고 하자 localDatetime 타입을 Date 타입으로 포맷팅을 해줘야 한다고 한다. VO 클래스에서도 localDateTime 으로 데이터를 가져왔기 때문이다. 자바8 부터는 localDateTime을 지원하고 권장하는데 jstl은 아직 Date 타입을 원하는 것 같다. 따라서 타입을 맞춰줘야 한다. jsp 에서 바로 처리해주자 성공! ✅ .. 2024. 5. 2. 멀티 스레드와 싱글 스레드, 스레드의 IO블로킹, 쓰레드 그룹 A작업에서 B 작업으로 넘어가는 것을 Context Switching (문맥전환)이라고 함. 이때 시간이 소요됨. 멀티스레드의 장점 시간이 조금 걸리더라도 하나의 작업을 수행하면서 다른 작업을 동시에 수행할 수 있다는 점이 장점. 작업을 조금 더 효율적으로 처리할 수 있다. (IO블로킹 : 입출력 시 작업이 중단되는 것을 말함). 싱글 스레드일 경우 사용자로부터 입력을 받는 동안 IO 블로킹으로 인해 아무 작업도 할 수 없지만, 멀티 스레드로 돌릴 경우, IO 블로킹이 일어나지 않아 작업을 더 빠르고 효율적으로 처리할 수 있음. 입출력 작업이 완료될 때까지 프로그램이 기다리는 것. 싱글 스레드의 예제 package ch13; import javax.swing.*; // 싱글스레드 public class .. 2024. 4. 11. [Java] 자바의 정석 : 내부 클래스의 제어자와 접근성 / 익명 클래스 내부 클래스의 제어자와 접근성 - 예제 1 : 클래스는 원래 default , public 접근 제어자만 사용할 수 있지만 내부 클래스의 제어자는 변수에 사용가능한 제어자와 동일 package pkg2; public class Ex7_12 { class InstanceInner{ int iv = 100; // static int cv =100; // 에러! static 변수를 선언할 수 없다. final static int CONST = 100; // final static 은 상수이므로 허용 } static class StaticInner{ int iv = 200; static int cv = 200; // static 클래스만 static 멤버를 정의할 수 있다. } void MyMethod() { .. 2024. 2. 27. [Java] 자바의 정석 : 디폴트 메서드와 static 메서드 인터페이스에 디폴트 메서드, static 메서드 추가 가능 (JDK 1.8 부터) 인터페이스에 새로운 메서드(추상메서드)를 추가하기 어려움. 디폴트 메서드는 인스턴스 메서드 (인터페이스 원칙 위반) 새로운 메서드를 추가한다는 말은 추상메서드를 추가한다는 말과 동일한데 이를 구현한 클래스에서는 추상 메서드를 반드시 구현해야하는 문제가 생김. 해결책 -> 디폴트 메서드 (default method) interface MyInterface { void methoe(); default void newMethod(){} // default 반드시 명시, 구현부 부분 작성해야함. } 디폴트 메서드가 기존의 메서드와 충돌할 때의 해결책 여러 인터페이스의 디폴트 메서드 간의 충돌 인터페이스를 구현한 클래스에서 디폴트 .. 2024. 2. 27. 이전 1 2 3 4 ··· 6 다음