레이블이 제이쿼리인 게시물을 표시합니다. 모든 게시물 표시
레이블이 제이쿼리인 게시물을 표시합니다. 모든 게시물 표시

2013년 10월 22일 화요일

[JSP강좌]JSP 페이지 지시자 지시자는 JSP가 JSP 콘테이너에게

[JSP강좌]JSP 페이지 지시자 

지시자는 JSP가 JSP 콘테이너에게 어떠한 메시지를 보내기 위한 것
 클래스선언, 구현할 메소드, Content-Type등의 값을 설정
 클라이언트에 어떠한 출력도 내보내지 않는다.
 모든 지시자들은 JSP 파일 전체에 대한 범위를 가진다.
 지시자는 태그 안에서 @로 시작한다.
 page, include, taglib 지시자 등이 있다.

[page 지시자]
language :  <%@ page language=“java” %> 사용언어 지정 기본값은 java

extends :  생성될 클래스가 확장해야하는 슈퍼클래스의 완전한 이름을 지정, 상속할 Class지정, 생략시 콘테이너가 자동으로 HttpJspPage 인터페이스를 구현한 클래스를 지정하므로 보통 사용안함, 톰캣의 경우 변환된 .java File을 확인하면 HttpJspPage 를 구현한HttpJspBAse를 상속함
<%@ page extends=“확장할 클래스명” %>

import : 일반적인 자바클래스의 import, 여러개인 경우 ,로 구분 ,기본적으로 임포트 되는것 : java.lang.*, javax.servlet.*, javax.servlet.http.*, javax.servlet.jsp.*
session : 페이지가 하나의 HTTP 세션에 참여하는지의 여부, session은 서블릿의 javax.servlet.http.HttpSession 객체와 대응되는 것으로 JSP컨테이너에서는 session이라는 별명으로 제공, 세션을 사용할려면 반드시 “true”, 기본값 true

buffer : Client 출력 스트림에 쓰일 버퍼링 방식을 지정 JSP에서의 출력버퍼의 크기를 지정, ‘none’으로 설정되면 JspWriter 객체를 이용한 출력시 버퍼를 이용하지 않고 JSP에서 출력되는 내용은 즉시 Client에 응답한다.
<%@ page buffer=“8kb” %>
autoFlush : “true”인 경우 출력버퍼가 꽉 차면 자동적으로 버퍼가 비워짐, “false”인 경우 overflow발생(예외)
<%@ page autoFlash=“true” %>
Buffer 속성을 “none” 으로 한 경우 autoFlash=“false”로 설정 할 수 없다.
isThreadSafe : “false”인 경우 JSP처리기는 요청들을 도착한 순서대로 Queue에 쌓은후 순서대로 요청들을 하나씩 처리, 이는 서블릿에서 SingleThreadModel을 구현 할 때와 같은 방식이다. 즉 true로 설정되면 _jspService 메소드가 Synchronized를 이용하여 동기화 된다. 즉 HTTP 요청을 처리하기 위한 스레드가 종료 한 후에 다른 스레드가 수행된다.

info : 페이지의 Servlet.getServletInfo() 메소드의 구현으로 얻을수 있는 정보문자열을 정의, 내용이나 길이의 제한은 없으며 제작자 이름, 버전, 저작권 정보등이 포함된다.


isErrorPage : 현재 JSP Page가 다른 JSP Page의 에러페이지인지의 여부를 결정 “true”이면 이 페이지는 에러 Page의 역할을 하며 Exception 개체를 제어 가능 하다. 이 Exception 개체는 java.lang.Throwable 클래스의 인스턴스 이다. 
errorPage : 점검(catch)되지 않은 RunTime 에러가 발생시 호출될 에러 page의 URL을 기술한다. 에러페이지와 에러를 발생시킨 페이지는 같은 서버에 존재해야 한다. 출력 스트림이 버퍼로 설정되어 출력이 Client로 안 갔다면 error page의 호출이 가능하나, 출력이 이미 Client로 전송되었다면 에러페이지의 호출은 불가능하다. 기본적으로 버퍼는 8kb이므로 8kb이하로 출력을 했다면 에러페이지의 호출은 가능. 결국 에러페이지는 클라이언트로 아무것도 넘어가지 않은 경우 Exception이 발생했을때 가능<%@ page errorPage=“../error.jsp %> 

contentType  : JSP Page의 MIME Type을 설정<%@ page contentType= “text/html; charset=euc-kr” %> 

pageEncoding : JSP Page를 위한 문자 인코딩을 지정
<%@ page pageEncoding=“euc-kr” %> 




오라클자바커뮤니티에서 설립한 개발자교육6년차 오엔제이프로그래밍 실무교육센터(오라클SQL,튜닝,힌트,자바프레임워크,안드로이드,아이폰,닷넷 실무개발강의)  


[기타 다른 강좌는 아래 해당 카테고리를 클릭해주세요]


2013년 10월 17일 목요일

오라클 물리적 구조

Oracle 물리적 구조 oracle physical structure



------------------- 
물리적 DataBase구조 
-------------------- 
oracle 설치된 폴다에 가보면 oradata 폴더에 대부분파일이 위치한다,
확인해 보자.

A. DataFile 
- 모든 Oracle DataBAse는 하나이상의 DataFile을 가지며, DB의 영역이 부족할 때 자동으로 
확장할 수 있는 기능이 있다. 
- 하나이상의 DataFile이 TableSpace를 형성한다. 
- 수정된 Data나 새로운 Data는 파일에 즉시 Write할 필요가 없다.즉 디스크 Access량을 줄이고 
성능을 향상시키려면 Data를 메모리에 저장했다가 DBWR BackGround Process가 한번에 디스크에 
저장한다. 
B. Redo Log File 
- Oracle DB는 2개 이상의 Redo Log File을 가진다. 
- Redo Log의 주기능은 변경사항을 저장,이미 수정된 Data가 장애 때문에 DataFile에 기록되지 
못했다면 수정된 부분이 Redo Log에 있으므로 수행한 작업을 손실하지는 않는다. 
C.  Control File 
- Control File에는 DB이름, DataFile과 Redo Log File의 위치,DB생성시간등이 기록되어 있다. 
- Oracle은 Instance가 시작될때마다 DataBase와 Redo Log File을 지정한다. 새 DataFile이나 
Redo Log File이 생성되는 경우에는 Oracle은 Control File을 자동으로 수정한다. 

D, 파라미터파일
     -데이터베이스 이름
   - SGA메모리 구조와 할당크기
   - 컨트롤 파일명과 위치
   - 아카이브 파일정보
   - 언두세그먼트 정보

오라클자바커뮤니티에서 설립한 개발자교육6년차 오엔제이프로그래밍 실무교육센터(오라클SQL,튜닝,힌트,자바프레임워크,안드로이드,아이폰,닷넷 실무개발강의)  





2013년 8월 8일 목요일

(오라클자바커뮤니티jquery 강좌)jQuery를 통한 키보드 이벤트, keydown, keyup, keypress , ORACLEJAVA CONNUNITY

jQuery를 통한 키보드 이벤트


오라클자바커뮤니티에서 설립한 오엔제이프로그래밍 실무교육센터
(오라클SQL, 튜닝, 힌트,자바프레임워크, 안드로이드, 아이폰, 닷넷 실무전문 강의)  



keydown : 키 눌러질때,   keypress:글자가입력될때
keyup : 키보드가 떨어질 때

<script type="text/javascript">
$(document).ready(function() {
//keydown 이벤트가발생한순간에는글자가입력되어있지않음
//입력한글자수를표시해야하므로keyup 이벤트사용
$("textarea").keyup(function () {
//남은 글자수 구합니다.
var inputLength = $(this).val().length;
var remain = 50 ? inputLength;
//남은 글자수 display
$("h1").html(remain);
//문서객체 색상 변경
if (remain >= 0) {
$("h1").css("color","Blue");
} else {
$("h1").css("color","red")
}
});
});
</script>
<body><div>
<p>지금 내 생각을</p>
<h1>50</h1>
<textarea cols="40" rows="5"></textarea>
</div>
</body>