본문 바로가기

컴퓨터학원(복습)(수료)

자바(JAVA)기반 안드로이드 웹&앱 개발 60일차(fmt태그, JDBC)

[기타 코어 태그]

1. <c:out> 태그 : 데이터를 출력

<c:out value="value" [escapeXml="(true|false)"] [default="defaultValue"]/>

<c:out value="value" [escapeXml="(true|false)"]>

default value

</c:out>

1) escapeXml 속성이 true일 경우 다음과 같이 특수문자 처리

< = &It; / > = &gt; / & > &amp; / ' > &#039; " > &#034;

2. <c:catch> 태그 : 몸체에서 발생한 예외를 변수에 저장

<c:catch var="exName">

예외가 발생할 수 있는 코드

</c:catch>

${exName} 사용

[<fmt>(국제화) 태그]

기능분류 태그 설명
로케일지정 setLocale Locale을 지정
requestEncoding 요청 파라미터의 캐릭터 인코딩을 지정
메시지 처리 bundle 사용할 번들을 지정
message 지역에 알맞은 메시지를 출력
setBundle 리소스 번들을 읽어와 특정 변수에 저장
숫자 및 날짜 포맷팅 formatNumber 숫자를 포맷팅
formatDate Date 객체를 포맷팅
parseDate 문자열로 표시된 날짜를 분석해서 Date
객체로 변환
parseNumber 문자열로 표시된 날ᄍᆞ를 분석해서 숫자로
변환
setTimeZone 시간대 정보를 특정 변수에 저장
timeZone 시간대를 지정

1.<fmt:formatNumber> 태그

1) 숫자를 양식에 맞춰 출력

2. <fmt:parseNumber> 태그

1) 문자열을 숫자 데이터 타입으로 변환

3. <fmt:formatDate> 태그

1) 날짜 정보를 담은 객체(Date)를 포매팅 (게시글 작성날짜, 수정날짜 등에 많이 쓰임)

4. <fmt:parseDate> 태그

1) 문자열로 표시된 날짜와 시간 값을 java.util.Date로 파싱

5. <fmt:timeZone> 태그와 <fmt:setTimeZone] 태그

1) 국제화 태그가 사용할 시간대를 설정

<fmt:timeZone value="Hongkong">

<!-- 사용하는 시간을 Hongkong 시간대에 맞춘다 !-->

<fmt:formatDate...../>

</fmt:timeZone>

6.<fmt> 로케일 지정하기

7. 메시지 처리 태그

1) <fmt:bundle> : 태그 몸체에서 사용할 리소스 번들을 지정

속성 표현식/EL 타입 설명
basename 사용가능 String 사용할 리소스 번들의 이름
prefix 사용 가능 String bundle태그의 내부에서 사용되는 message 태그의 key 속성의 값 앞에 자동으로 붙게 될 문자열

2) <fmt:message> : 메시지를 출력

(1) key : 읽어올 메시지의 키 값

(2) var : 메시지를 지정할 변수 명

(3) scope : 변수가 저장되는 영역 지정

(4) bundle : <fmt:setBundle> 태그를 사용해서 로딩한 번들로부터 메시지를 읽어 올 때 사용

3) <fmt:setBundle> : 특정 메시지 번들을 사용할 수 있도록 로딩

resource 만들기

4) <fmt:bundle> 태그와 <fmt:setBundle> 태그의 차이점

(1) <fmt:bundle> : 태그 안에서 사용될 리소스 번들을 지정

(2) <fmt:setBundle> : 리소스 번들을 변수로 저장한 후 어디서나 사용할 수 있음

속성 표현식/EL 타입 설명
basename 사용가능 String 읽어 올 리소스 번들의 이름
var 사용 불가 String 리소스 번들을 저장할 변수명
scope 사용 불가 String 변수를 저장할 영역

setBundle

5) <fmt:message> 태그의 리소스 번들 검색 순서

(1) bundle 속성에 지정한 리소스 번들을 사용 : <fmt:setBundle>

(2) <fmt:bundle> 태그와 중복될 경우 <fmt:bundle> 태그에서 설정한 리소스 번들을 사용

(3) 1이나 2가 아닐 경우 기본 리소스 번들 사용

ㄱ) 기본 리소스 번들은 web.xml 파일에서 javax.servlet.jsp.jstl.fmt.localizationContext 컨텍스트

속성을 통해서 설정

[데이터베이스와 JDBC]

1. JDBC ( Java DataBase Connectivity)

1) 자바로 만든 애플리케이션이 데이터베이스에 일관된 방식으로 접근할 수 있도록 API를 제공하는 클래스의 집합

2) JDBC API 사용 애플리케이션의 기본 구성

2. DBMS 종류

1) 오라클(Oracle), 사이베이스(Sybase), 인포믹스(Infomix), MySQL 등

[member 테이블 생성 - 내용은 이클립스이나, 실제로는 MysqlWorkbench 에서 했습니다.]

1. 가정 : 데이터베이스 설치 및 사용자 계정의 설정이 완료된 상태

2. mysql-connector-java-8.0.23.jar 라이브러리 추가

1) 위치 : WebContent\WEB-INF\lib 폴더

3. Database Connections 생성

4. database.sql 파일 추가

studydb 데이터베이스 생성 및 study 유저 생성

member 테이블 생성 및 데이터 삽입

[JDBC를 이용한 데이터 조작하기]

1. JDBC를 이용해서 데이터베이스에 연결하는 방법

1) JDBC 드라이버 로드 : DriverManager

2) 데이터베이스와 연결 : Connection

3) SQL 문 실행 : Statement, ResultSet

4) 데이터베이스와 연결 끊기

2. JDBC 인터페이스

1) Connection : 데이터베이스와 연결 DriverManager.getConnection()

2) Statement : 질의, 갱신 실행 connection.createStatement()

3) ResultSet : 결과물 statement.executeQuery(SQL)

3. JDBC 드라이버 연결하기

4. JDBC 드라이버 로드

Class.forName("com.mysql.jdbc.Driver"); // com.mysql.cj.jdbc.Driver

1) 프로그램 내에서 DriverManaber 클래스를 이용해서 데이터베이스에 연결

5. 데이터베이스 연결

Connection conn = DriverManager.getConnection(url, uid, pwd);

url : jdbc:mysql://[hostname][:port]:dbname

jdbc:mysql://localhost:3306:jspdb?useSSL=false

6. Statement 객체 생성

Statement stmt = conn.createStatement();

SQL 표준 Query 문을 수행할 수 있음

7. Query문을 수행하는 메소드

1) executeQuery() : select 문과 같이 결과 값이 여러 개의 레코드로 구해지는 경우 사용

String sql = "select * from member";

ResultSet rs = stmt.executeQuery(sql);

2) executeUpdate() : insert, update, delete 문과 같이 내부적으로 내용이 변경만 되고 결과 값이 없는 경우

사용

8. 질의 결과 처리 (ResultSet) == cursor 와 느낌이 같다.

1) 반환 값이 여러 개의 열인 경우에 이를 받아서 처리할 수 있게 설계된 클래스

회원정보 출력하기 1

회원정보 출력하기 2

회원정보 추가하기

아직 DB와 연동은 하지 않음.