목록IT 일기 (상반기)/JAVA (71)
겉바속촉
톰캣 서버를 활용하여 웹서비스를 만드는 경우 한글깨짐 현상이 일어나곤 합니다. 저는 다음과 같이 머선말인지 모르게 출력이 되고 있는데요:) 인코딩 설정을 변경하여 해결해보도록 하겠습니다. 1. server.xml apache-tomcat > conf > server.xml URIEncoding="UTF-8" 추가 2. web.xml apache-tomcat > conf > web.xml filter태그에 encoding 필터 추가 3. JSP 파일을 UTF-8 형식으로 저장 4. 파일 상단에 UTF-8임을 명시 예시> resp.setCharacterEncoding("UTF-8"); resp.setContentType("text/html; charset=UTF-8"); 5. 톰캣 실행 옵션에 -Dfile...
JNDI 지난 포스팅 참고 2022.06.03 - [IT 일기 (상반기)/JAVA] - JNDI JNDI JNDI 👉 JNDI = Java Naming and Directory Interface 👉 다른 종류의 이름 지정 및 디렉토리 서비스에 엑세스하는 데 필요한 API 👉 디렉터리 서비스에서 제공하는 데이터 및 객체를 발견하고 참고(lookup)하 2-juhyun-2.tistory.com ✔ 애플리케이션은 DB에 직접 Connection 요청하는 것이 아닌 JNDI Lookup을 통해 DB와 연관된 데이터 소스를 얻고 Connection을 요청함. ✔ Connection 요청을 받은 데이터소스는 자신의 Connection Pool에서 Connection을 꺼내 애플리케이션에 전달 데이터소스는 지난 포스..
datasource ✔ 애플리케이션에 JDBC Connection을 제공하는 팩토리로 추상화된 객체 ✔ Connection Pooling 서비스를 제공 (Connection Pool을 관리하는 목적으로 사용됨) Connection Pool ✔ 실제 자바와 데이터베이스를 연결해주는 메소드 (네트워크상의 연결 자체) DB로부터 일정 수의 Connection을 얻어 보관하면서 애플리케이션이 필요할 때 제공 ✔ 사용 이후의 Connection을 회수하여 재활용 ✔ 프로그램이 실행될때마다 Connection 객체를 생성하지 않고 웹서버에 미리 생성하여 준비
JNDI 👉 JNDI = Java Naming and Directory Interface 👉 다른 종류의 이름 지정 및 디렉토리 서비스에 엑세스하는 데 필요한 API 👉 디렉터리 서비스에서 제공하는 데이터 및 객체를 발견하고 참고(lookup)하기 위한 자바 API (그럼 어플리케이션이 직접 db에 connection을 요청하지 않아도되는 것) (JNDI lookup을 통해 데이터소스 객체를 획득하고 connection에 요청) 👉 연결하고 싶은 데이터베이스의 DB Pool을 미리 naming 시켜 주는 방법 중 하나 👉 저장해놓은 WAS의 데이터베이스 정보에 JNDI를 설정하여 웹어플리케이션에서 JNDI만 호출하는 것이 가능 👉 WAS단에 데이터베이스 커넥션 객체를 미리 네이밍해두는 방식(그래서 DB커..
정의 👉 프로세스 : 운영체제로부터 자원을 할당받은 작업의 단위 👉 스레드 : 프로세스가 할당받은 자원을 이용하는 실행 흐름의 단위 원리 👉 프로그램 -> 프로세스 -> 스레드 1. 프로그램 -> 프로세스 ✔ 프로그램 : 파일이 저장장치에 있으나 메모리에는 없는(아직 운영체제가 독립적인 메모리 공간을 할당해주지 않은 상태) 정적인 상태(아직 실행되지 않은 상태) ✔ 프로세스 : 프로그램을 실행하는 순간 해당 파일이 메모리에 올라간 상태의 프로그램 2. 프로세스 -> 스레드 프로세스와 다른 더 작은 실행 단위 개념이 필요해지면서 스레드가 탄생 ✔ 스레드 : 프로세스와는 달리 스레드 간 메모리를 공유하며 작동, 스레드끼리 프로세스 자원을 공유 3. 비유 ✔ 프로그램 : 코드 덩어리 ✔ 포르세스 : 코드 덩어..
JAXB = Java Architecture for XML Binding 👉 마샬링과 언마샬링을 해주는 JAVA에 내장된 라이브러리 👉Marchal : 객체를 XML로 변환, 객체를 byte stream으로 변환 👉Unmarchal : XML을 객체로 변환, byte stream을 객체로 변환 JAXB Annotation 👉 @XmlRootElement XML의 Root Element 명을 정의 👉 @XmlElement XML의 Element 명을 정의 👉 @XmlType XML 스키마 이름과 namespace 정의 propOrder 속성을 이용해서 XML 표현 시 요소들의 표현 순서를 정의 👉 @XmlElementWrapper 다른 XML 요소들을 감싸는 역할 List 같은 컬렉션 객체들을 XML 변환..
Class & Instance 생성(인스턴스화) 클래스 (static 코드) --------------------------> 인스턴스 (dynamic memory) 클래스 생성 - new 예약어를 이용하여 클래스 생성 - 형식 클래스형 변수이름 = new 생성자; Student studenA = new Student(); public class Student { int studentID; String studentName; int grade; String address; public void showStudentInfor(){ System.out.println(studentName + "," + address ); } public String getStudentName() { return student..
WEB 서버 웹 서버 웹 브라우저 클라이언트로부터 HTTP요청 받아들이고 HTML 문서 반환하는 프로그램 클라이언트 요청에 따라 정적 컨텐츠를 제공하는 서버 (정적 컨텐츠 --> CSS, JS, 이미지, 파일.... 즉시 응답가능한 컨텐츠 동적 컨텐츠 요청을 받게 되는 경우라면 WAS에 해당 요청을 넘기고 클라이언트에게 결과 전달 대표적인 웹 서버는 Apache WAS Web Application Server 인터넷 상에서 HTTP 프로토콜을 통해 사용자 컴퓨터나 장치에 애플리케이션을 수행해주는 미들웨어 동적 서버 컨텐츠 수행 DB 서버와 함께 주로 수행 웹 서버와 웹 컨테이너가 합쳐진 형태 웹 서버 단독으로는 데이터베이스 조회나 다양한 로직처리가 필요한 것을 처리할 수 없기 때문에 사용 JSP, Ser..
메서드 - 함수의 일종 - 객체의 기능을 제공하기 위해 클래스 내부에 구현되는 함수 - 하나의 기능을 수행하는 일련의 코드 - 중복되는 기능은 함수로 구현하여 호출하는 형태로 사용 함수 정의 - 함수를 코드로 구현 - 함수의 이름, 매개변수, 반환 값을 선언하고 코드로 구현 int add (int num1, int num2) { int result; result = num1 + num2; return result; } int -> 함수 반환형 : 반환 값의 자료형을 나타냄(반환 값이 없다면 void라고 씀) add -> 함수 이름 : 함수의 기능과 관련된 이름 (int num1, int num2) -> 매개 변수 : 함수의 수행을 위해 필요한 변수 return -> 함수 수행 결과 반환을 위한 예약어 p..