BackEnd

· BackEnd/Java
1. getTime() 메서드 java.util.Date 객체의 getTime 메서드는 1970년 1월 1일 00시 00분 00초 UTC를 기준으로 경과 한 밀리초를 반환한다. 이 밀리초를 java.sql.Date의 생성자에 전달하게 되면 우리가 원하는 java.sql.Date 객체를 생성할 수 있다. 즉, 방법은 아래와 같다. public static void main(String[] args) { java.util.Date utilDate = new java.util.Date(); long milliSeconds = utilDate.getTime(); java.sql.Date sqlDate = new java.sql.Date(milliSeconds); System.out.println("java.ut..
1. request 객체 설정 웹 브라우저를 통해 post 방식으로 한글값을 받는 경우 어떤 일이 발생하는지 확인해보자. protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { System.out.println(request.getParameter("name")); // 결과: ãã´ãã¹ } 위 코드의 결과를 보면 매우 이상한 문자가 발생하는 것을 확인할 수 있다. 이는 우리는 UTF-8이라는 인코딩 방식을 사용하지만 브라우저는 요청을 보낼 때 해당 encoding 방식을 보장하지 않기 때문에 발생하는 문제다. 따라서 우리는 request 객체의 ..
· BackEnd/JDBC
JDBC를 통해 Datetime 타입 저장 방법 JDBC를 통해 Mysql의 Datetime을 저장하는 방법은 간단히 String을 넘겨주면 된다. Mysql의 Datetime은 아래와 같은 구조를 가진다. yyyy-MM-dd HH:mm:ss (년-달-일 시간:분:초) 즉, 위와 같은 구조를 가진 String 객체를 PreparedStatement객체의 setString()으로 넘겨주면 된다. 아래는 예시 코드다. // java.util.Date 객체를 Datetime 타입에 맞는 String 객체로 변환하여 createDate에 저장 businessCard.setCreateDate(new Date()); SimpleDateFormat format = new SimpleDateFormat("yyyy-MM..
· BackEnd/Java
1. Setter 일반적으로 객체 지향 프로그래밍에서는 외부에서 직접적으로 객체의 데이터에 접근하는 것을 막는다. 이는 객체의 데이터를 외부에서 마음대로 읽고 변경하는 경우 객체의 무결성이 깨질 수 있기 때문이다. 예를 들어, 어떤 데이터의 값은 항상 양수어야 하지만 외부에서 마음대로 작업한다면 음수로 만들어버릴 수도 있다. 이를 위해 우리는 setter라는 메서드를 사용한다. setter 메서드의 선언 방법은 아래와 같다. // 필드는 외부 접근을 막기 위해 private을 사용 private int intField; // Setter public void setIntField(int intField){ this.intField = intField; } 2. Getter 외부에서 데이터를 읽을 때 해당..
· BackEnd/Java
1. Final 필드 프로그램 작성시 이후 값을 변경하지 않을 필드들이 존재한다. 이런 경우 final을 사용한다. final을 붙인 필드들은 프로그램 실행 도중 수정이 불가능하다. 이때 해당 필드들을 초기화 하는 방법은 선언시 초기화 혹은 생성자에서 초기화로 총 2가지 방법이 존재한다. final String frontName="Coding"; final String name; public FinalExam (String lastName) { this.name=frontName+lastName; } 2. Static Final 필드 일반적으로 "불변의 값"을 "상수"라고 부른다. 하지만 final 필드는 상수가 될 수 없다. 왜냐하면 해당 값들은 객체마다 저장되기 때문에 객체마다 여러 값으로 초기화될 ..
· BackEnd/Java
Singleton의 정의 및 생성 방법 프로그램 실행시 단 하나의 객체만 만들도록 보장해야하는 경우가 존재한다. 이렇게 단 하나만 생성되는 객체를 Singleton이라고 부른다. 일반적으로 객체는 new 연산자를 통해 생성자가 호출되며 생성된다. 따라서 우리는 생성자가 호출되지 않도록 외부에서 new 생성자로 객체를 생성하지 못하도록 해야한다. 이 때문에 Singleton의 생성자는 외부에서 호출할 수 없도록 private 접근 제한자를 붙여줘야 한다. 그리고 어찌되었든 하나의 객체는 생성되어야 하므로 우리는 해당 객체를 해당 클래스 안에 private 접근 제한자로 정적(static)으로 선언한다. 이후 getInstance()라는 메서드를 선언하여 해당 객체를 외부 클래스에서 받을 수 있도록 해주면 ..
· BackEnd/Java
1. 정적 멤버 선언 정적 멤버는 클래스에 고정된 멤버로 객체를 생성하지 않고 사용할 수 있는 필드와 메소드를 말한다. 이들을 각각 정적 필드, 정적 메소드라고 부르며 이들은 인스턴스에 속한 멤버가 아니기 때문에 클래스 멤버라고도 불린다. 정적 멤버는 아래 방벙으로 선언할 수 있다. public class StaticExam { // 정적 필드 선언: static [타입] [필드명] static double pi = 3.14; // 정적 메소드 선언: static [리턴 타입] [메소드 명] (매개변수...) {...} static double circleArea(int radius) { double area = pi*radius*radius; return area; } } 위와 같은 정적 멤버들은 인스..
· BackEnd/Java
1. Array 선언 Java의 배열 변수를 선언하기 위해서는 아래 두 방식 중 하나의 방법을 사용하면 된다. // 1. 타입[] 변수; int[] intArray; String[] strArray; // 2. 타입 변수[]; int intArray[]; String strArray[]; 변수 선언 시에는 값의 목록을 통해 배열을 초기화할 수 있다. 단, 변수 선언 이후에는 값의 목록을 이용한 배열 생성은 컴파일 에러가 발생한다. // 값의 목록을 통해 초기화 int[] intArray = {1, 2, 3}; // 컴파일 에러 int[] intArray; intArray = {1, 2, 3}; 변수 선언 혹은 이후에 배열을 생성하기 위해서는 new 연산자를 아래와 같이 사용할 수 있다. // 1. 값의 ..
코딩마루
'BackEnd' 카테고리의 글 목록 (8 Page)