WEB/ASP2011.09.04 17:46

어플리케이션 개체가 전체의 사이트를 지배하며, 어플리케이션 변수는 누구나 수정할 수 있는 공개적인 전역변수라고 한다면, 세션은 사용자 개개인에게 각각 할당되는 것이며, 세션변수는 전역변수이기는 하지만 아무나 함부로 고칠 수 없는 아주 개인적인 것이라 생각하면 된다.

 

Collection

Contents

스크립트 command를 통해 session에 붙여진 모든 아이템들을 포함한다.

StaticObjects

HTML <object> tag 를 통해 session에 붙여진 모든 아이템들을 포함한다.

 

Property

CodePage

동적인 content를 표시할 때 사용될 character set을 명시한다.

LCID

location 또는 region을 명시하는 integer를 설정 또는 반환한다. date, time, 그리고 currency와 같은 contents location 또는 region에 따라 표시될 것이다.

SessionID

각각의 사용자에 대해 유일한 id를 반환한다. id는 서버에 의해 만들어 진다.

Timeout

application 안의 Session object에 대한 timeout 기간(분으로)을 설정하거나 반환한다.

 

Method

Abandon

사용자 session을 파괴한다.

Contents.Remove

Contents collection으로부터 아이템을 제거한다.

Contents.RemoveAll()

Contents collection으로부터 모든 아이템을 제거한다.

 

Event

Session_OnEnd

session이 끝날 때 발생한다.

Session_OnStart

session이 시작할 때 발생한다.



더 자세한 사항과, 컬렉션이나 프로퍼티에 대한 사항은 원문을 참조-
http://www.w3schools.com/asp/asp_ref_session.asp 

'WEB > ASP' 카테고리의 다른 글

[ASP] Include file  (0) 2011.10.19
[ASP] asp 내장객체 <Server Object>  (0) 2011.09.05
[ASP] asp 내장객체 <Session Object>  (0) 2011.09.04
[ASP] asp 내장객체 <Application Object>  (0) 2011.09.03
[ASP] asp 내장객체 <Request Object>  (0) 2011.09.02
[ASP] asp내장객체 <Response Object>  (0) 2011.09.01
Posted by 하품 - yawn 하품 - yawn
javascript/Reference2011.09.04 11:22

-     산술 연산자

 

예제http://cafefiles.naver.net/20120103_14/sgtsong75_1325586843789WAFzY_gif/%BB%E7%BA%BB_-_%B9%AB%C1%A6-1_%2817%29_sgtsong75.gif

설명http://cafefiles.naver.net/20120103_120/sgtsong75_1325586842732eg42h_gif/%BB%E7%BA%BB_-_%B9%AB%C1%A6-1_%2810%29_sgtsong75.gif

a + bhttp://cafefiles.naver.net/20120103_59/sgtsong75_1325586842594yg6Rh_gif/%BB%E7%BA%BB_-_%B9%AB%C1%A6-1_%289%29_sgtsong75.gif

a b더하기

a - b

a 빼기 b

a * b

a b 곱하기

a / b

a b로 나누기

a % bhttp://cafefiles.naver.net/20120103_54/sgtsong75_1325586842422n8Ch2_gif/%BB%E7%BA%BB_-_%B9%AB%C1%A6-1_%288%29_sgtsong75.gif

a b로 나눈 나머지

a ++

a의 값을 1 증가

a --http://cafefiles.naver.net/20120103_211/sgtsong75_1325586841878lD8PJ_gif/%BB%E7%BA%BB_-_%B9%AB%C1%A6-1_%285%29_sgtsong75.gifhttp://cafefiles.naver.net/20120103_211/sgtsong75_1325586841878lD8PJ_gif/%BB%E7%BA%BB_-_%B9%AB%C1%A6-1_%285%29_sgtsong75.gif

a의 값을 1 감소

 

 

-     대입 연산자

예제

설명

a = bhttp://cafefiles.naver.net/20120103_211/sgtsong75_1325586841878lD8PJ_gif/%BB%E7%BA%BB_-_%B9%AB%C1%A6-1_%285%29_sgtsong75.gif

b a에 대입http://cafefiles.naver.net/20120103_120/sgtsong75_1325586842732eg42h_gif/%BB%E7%BA%BB_-_%B9%AB%C1%A6-1_%2810%29_sgtsong75.gifhttp://cafefiles.naver.net/20120103_120/sgtsong75_1325586842732eg42h_gif/%BB%E7%BA%BB_-_%B9%AB%C1%A6-1_%2810%29_sgtsong75.gif

a + = b

a = a + b

a -= bhttp://cafefiles.naver.net/20120103_159/sgtsong75_1325586844249cKcCP_gif/%BB%E7%BA%BB_-_%B9%AB%C1%A6-1_%2820%29_sgtsong75.gifhttp://cafefiles.naver.net/20120103_159/sgtsong75_1325586844249cKcCP_gif/%BB%E7%BA%BB_-_%B9%AB%C1%A6-1_%2820%29_sgtsong75.gif

a = a – b

a *= b

a = a * b

a / = bhttp://cafefiles.naver.net/20120103_52/sgtsong75_1325586841574FTBFK_gif/%BB%E7%BA%BB_-_%B9%AB%C1%A6-1_%283%29_sgtsong75.gifhttp://cafefiles.naver.net/20120103_52/sgtsong75_1325586841574FTBFK_gif/%BB%E7%BA%BB_-_%B9%AB%C1%A6-1_%283%29_sgtsong75.gif

a = a / b

a % = b

a = a % b

 

 

-     비트 연산자

예제

설명

a | bhttp://cafefiles.naver.net/20120103_211/sgtsong75_1325586841878lD8PJ_gif/%BB%E7%BA%BB_-_%B9%AB%C1%A6-1_%285%29_sgtsong75.gif

a, b ORhttp://cafefiles.naver.net/20120103_54/sgtsong75_1325586842422n8Ch2_gif/%BB%E7%BA%BB_-_%B9%AB%C1%A6-1_%288%29_sgtsong75.gif

a & b

a, b AND

~ ahttp://cafefiles.naver.net/20120103_139/sgtsong75_1325586842257uuwGj_gif/%BB%E7%BA%BB_-_%B9%AB%C1%A6-1_%287%29_sgtsong75.gifhttp://cafefiles.naver.net/20120103_139/sgtsong75_1325586842257uuwGj_gif/%BB%E7%BA%BB_-_%B9%AB%C1%A6-1_%287%29_sgtsong75.gif

a 부정 (모든 비트 반전)http://cafefiles.naver.net/20120103_163/sgtsong75_1325586843627Hkrym_gif/%BB%E7%BA%BB_-_%B9%AB%C1%A6-1_%2816%29_sgtsong75.gif

a <<1

a를 왼쪽으로 1 비트 시프트 (2 )

a>> 1http://cafefiles.naver.net/20120103_46/sgtsong75_1325586841410Xw9nQ_gif/%BB%E7%BA%BB_-_%B9%AB%C1%A6-1_%282%29_sgtsong75.gifhttp://cafefiles.naver.net/20120103_46/sgtsong75_1325586841410Xw9nQ_gif/%BB%E7%BA%BB_-_%B9%AB%C1%A6-1_%282%29_sgtsong75.gif

a를 왼쪽으로 1 비트 시프트 (1 / 2)http://cafefiles.naver.net/20120103_54/sgtsong75_1325586842422n8Ch2_gif/%BB%E7%BA%BB_-_%B9%AB%C1%A6-1_%288%29_sgtsong75.gif

 

 

-     비교 연산자

예제http://cafefiles.naver.net/20120103_159/sgtsong75_1325586844249cKcCP_gif/%BB%E7%BA%BB_-_%B9%AB%C1%A6-1_%2820%29_sgtsong75.gif

설명http://cafefiles.naver.net/20120103_256/sgtsong75_1325586842108aTk2o_gif/%BB%E7%BA%BB_-_%B9%AB%C1%A6-1_%286%29_sgtsong75.gif

a == bhttp://cafefiles.naver.net/20120103_54/sgtsong75_1325586842422n8Ch2_gif/%BB%E7%BA%BB_-_%B9%AB%C1%A6-1_%288%29_sgtsong75.gif

동일

a != b

같지 않음

a > bhttp://cafefiles.naver.net/20120103_110/sgtsong75_1325586841726w3PrC_gif/%BB%E7%BA%BB_-_%B9%AB%C1%A6-1_%284%29_sgtsong75.gifhttp://cafefiles.naver.net/20120103_110/sgtsong75_1325586841726w3PrC_gif/%BB%E7%BA%BB_-_%B9%AB%C1%A6-1_%284%29_sgtsong75.gif

a b보다 크다

a >= b

a b보다 크거나 같다

a < bhttp://cafefiles.naver.net/20120103_120/sgtsong75_1325586842732eg42h_gif/%BB%E7%BA%BB_-_%B9%AB%C1%A6-1_%2810%29_sgtsong75.gifhttp://cafefiles.naver.net/20120103_120/sgtsong75_1325586842732eg42h_gif/%BB%E7%BA%BB_-_%B9%AB%C1%A6-1_%2810%29_sgtsong75.gif

a b보다 작다

a <= b

a b 보다 작거나 같다

 

Posted by 하품 - yawn 하품 - yawn
WEB/ASP2011.09.03 17:34

Application 개체는 간단하게 설명해 전역변수와 같은 역할을 한다. Session도 그런 의미로는 같지만 둘의 차이가 있다면 Application은 모든 사용자들에게 읽히고 전체적으로 제공되지만 Session은 각 사용자마다 개별적으로 적용된다는 것이다.

 

Collection

Contents

스크립트 command를 통해 application에 붙여진 모든 아이템들을 포함한다.

StaticObjects

HTML <object> tag 를 통해 application에 붙여진 모든 아이템들을 포함한다.

 

Method

Contents.Remove

Contents collection로부터 아이템을 삭제한다.

Contents.RemoveAll()

Contents collection로부터 모든 아이템을 삭제한다.

Lock

다른 사용자가 Application object의 변수를 수정하는 것을 막는다.

Unlock

다른 사용자가 Application object의 변수를 수정할 수 있도록 한다. (Lock method를 사용하여 lock 된 이후 사용한다.)

 

Event

Application_OnEnd

모든 사용자 세션이 끝나고, 그리고 애플리케이션이 끝날 때 발생한다.

Application_OnStart

첫 번째 새로운 세션이 생성되기 전 발생한다. (애플리케이션 오브젝트가 처음 참조되어 질 때)



더 자세한 사항과, 컬렉션이나 프로퍼티에 대한 사항은 원문을 참조-
http://www.w3schools.com/asp/asp_ref_application.asp 

'WEB > ASP' 카테고리의 다른 글

[ASP] Include file  (0) 2011.10.19
[ASP] asp 내장객체 <Server Object>  (0) 2011.09.05
[ASP] asp 내장객체 <Session Object>  (0) 2011.09.04
[ASP] asp 내장객체 <Application Object>  (0) 2011.09.03
[ASP] asp 내장객체 <Request Object>  (0) 2011.09.02
[ASP] asp내장객체 <Response Object>  (0) 2011.09.01
Posted by 하품 - yawn 하품 - yawn
JSP/Learn2011.09.03 10:54

java.io.NotSerializableException 

Cannot serialize session attribute

이런 예외가 발생할시-
Beans객체를 세션에서 사용할대 발생한다.
빈즈 클래스에 implements Serializable 를 선언해 준다.

참고 : http://www.javaservice.net/~java/bbs/read.cgi?m=appserver&b=weblogic&c=r_p&n=1175565277&p=4&s=t

 

 

를[출처] java.io.NotSerializableException|작성자 주영

Posted by 하품 - yawn 하품 - yawn
WEB/ASP2011.09.02 17:32

Request는 사용자로부터 정보를 전달받을 때 사용되는 객체이다. 쉽게 말해 클라이언트에서 서버로 오는 정보값들을 보관하여 이용한다고 생각하면 된다.

 

Collection (컬렉션)

ClientCertificate

사용자가 페이지나 리소스를 액세스할 때 서버로 전달한 클라이언트 증명서에 있는 모든 필드와 엔트리값(읽기 전용)

Cookies

사용자의 시스템에서 요청과 함께 전달된 모든 쿠키값

Form

폼 요청으로 전송된(POST 사용) 모든 HTML 컨트롤 요소 값

QueryString

사용자 요청에서 URL에 추가된 모든 이름/값 쌍들이나, GET 방식이 사용된 폼에 있는 HTML 컨트롤 요소값들(읽기 전용)

ServerVariables

클라이언트로부터 이들의 요청과 함께 전달된 모든 HTTP 헤더 값들과 웹 서버의 여러 가지 환경 변수값들(읽기 전용)

 

Property (속성)

TotalBytes

사용자에 의해 전송된 요청의 본문에 있는 바이트들의 총 수(읽기전용)

 

Method (메소드)

BinaryRead(count)

데이터가 POST 요청의 일부로 서버로 전송될 때, 사용자 요청으로부터 count 바이트의 데이터를 얻어낸다. 이것은 Variant 배열로 반환되며 ASP 코드가 이미 Request.Form 컬렉션을 참조했으면 이 메소드는 사용될 수 없다. 마찬가지로 여러분이 BinaryRead 메쏘드를 사용했으면 Request.Form 컬렉션도 사용할 수 없게 된다. 둘 중에 하나만이 사용




더 자세한 사항과, 컬렉션이나 프로퍼티에 대한 사항은 원문을 참조-
 
http://www.w3schools.com/asp/asp_ref_request.asp

'WEB > ASP' 카테고리의 다른 글

[ASP] Include file  (0) 2011.10.19
[ASP] asp 내장객체 <Server Object>  (0) 2011.09.05
[ASP] asp 내장객체 <Session Object>  (0) 2011.09.04
[ASP] asp 내장객체 <Application Object>  (0) 2011.09.03
[ASP] asp 내장객체 <Request Object>  (0) 2011.09.02
[ASP] asp내장객체 <Response Object>  (0) 2011.09.01
Posted by 하품 - yawn 하품 - yawn
WEB/ASP2011.09.01 17:11
서버에서 사용자에게 정보를 돌려주는 역할을 하는 객체.
출력, 리다이렉트 등등을 주로 한다.

 

Collection (컬렉션)

Cookies

사용자의 브라우저에서 보낸 쿠키값 설정

 

Property (속성)

 

Buffer

페이지의 버퍼 완료 여부(Ture/Fasle)

Expries

브라우저에서 캐쉬가 소멸되기 전의 시간

ContentType

HTTP의 컨텐트 타입 (ex : Text/HTML)

ExpriesAbsolute

캐쉬된 페이지의 소멸될 날짜/시간

Status

서버에서 리턴한 HTTP의 상태바의 값

cachecontrol

Proxy Server ASP에 의해서 만들어진 결과 캐쉬 여부

charset

컨텐트 헤더에 문자세트 덧붙임

isclientconnected

사용자가 서버에 연결중인지의 여부

 

Method (메소드)

 

AddHeader

HTML 헤더에 추가, 수정

AppendToLog

서버의 Log에 텍스트를 추가하게 한다.

Clear

버퍼링된 HTML의 내용 삭제

End

페이지 처리를 중단하고 현재의 결과를 리턴하게 함

Flush

버퍼링 결과를 바로 리턴

Write

화면에 변수나 문자열을 출력

BinaryWrite

텍스트를 브라우저에 캐릭터 셋 없이 출력

Redirect

URL의 이동



더 자세한 사항과, 컬렉션이나 프로퍼티에 대한 사항은 원문을 참조-
http://www.w3schools.com/asp/asp_ref_response.asp 

'WEB > ASP' 카테고리의 다른 글

[ASP] Include file  (0) 2011.10.19
[ASP] asp 내장객체 <Server Object>  (0) 2011.09.05
[ASP] asp 내장객체 <Session Object>  (0) 2011.09.04
[ASP] asp 내장객체 <Application Object>  (0) 2011.09.03
[ASP] asp 내장객체 <Request Object>  (0) 2011.09.02
[ASP] asp내장객체 <Response Object>  (0) 2011.09.01
Posted by 하품 - yawn 하품 - yawn
JAVA2011.01.01 14:37

자바에서의 변수
자바의 변수는 8가지 기본형 변수(boolean, char, byte, short,int long, float, double)를 제외한 모든 변수는 참조형 변수이다.
(new를 이용하여 인스터스화를 해야하는 모든 변수들)

그렇기에 이런 인스턴스들 간의 대입연산(=)은 모두 Call by Reference 형태로 연산이 된다.
즉, 객체가 가진 값이 대입되는 것이 아닌 그 주소가 대입되는 것.

ArrayList<String> a1 = new ArrayList<String>();
		
a1.add("abcdef");
		
		
ArrayList<String> a2 = new ArrayList<String>();
a2 = a1; //Call by Reference
//a2 = (ArrayList<String>) a1.clone();  //Call by Value
		
a2.clear();
a2.add("ghijk");
		
System.out.println(a1.get(0));
System.out.println(a2.get(0));
<

그렇기에 위의 코드의 결과는 
ghijk
ghijk
가 나온다. 값이 아니라 주소가 넘어갔기에 나타나는 현상.
이를 값만 전달하려면 기본적으로 지원하는 clone 메소드를 이용하면 된다.
 



객체와 인스턴스.
자바에서는 클래스로부터 객체를 만드는것을 인스턴스화(instantiate) 라 하며 객체를 (instance)라고 한다.
또한 인스턴스는 직접 다룰 수 있는것이 아니라 참조변수를 통해서만 다룰 수 있다.
 
ex>
TV t = new TV();

TV는 클래스. t는 참조 변수이다. new TV() 로 인스턴스가 생성되고, 생선된 인스턴스의 주소가 참조변수 t에 대입된다. 
또한 하나의 참조변수는 하나의 인스턴스의 주소만을 저장 할 수 있다. 
별 것 아니지만 굉장히 중요한 개념(특히 내가) 



클래스변수, 인스턴스변수, 지역변수

변수의 종류

선언위치

생성시기

클래스변수

클래스 영역

클래스가 메모리에 올라갈 때

인스턴스변수

인스턴스 생성시

지역변수

메서드 영역

변수 선언문 수행시


클래스변수는 멤버변수중 static이 붙은 놈.
모든 인스턴스가 공유하는 변수, 인스턴스화를 안하고도 사용가능(클래스명.변수명 ex: TV.lcd)

참조 : http://rockdrumy.tistory.com/214

참고-static method 는 같은 클래스내의 인스턴스 변수나 인스턴스 메소드를 호출하지 못한다.
이유는 인스턴스멤버가 존재하는 시점에 클래스멤버는 항상 존재하나, 클래스멤버가 존재하는 시점에 인스턴스멤버가 존재할 수도 있고 존재하지 않을 수도 있기 때문이다.
http://blog.naver.com/rio_song/130108339020

 

자바에도 참조형 매개변수(reference type)이 있다.

Call by Reference를 위한 참조형 매개변수가 있댄다.
매개변수를 쓰는 곳에 Data a 이런식으로 쓰면 된다하네..(ex : static void change(Data a))
자바에는 포인터가 없대서 없는줄 알았는데.... 이게 뭐야 몰라 무서워...



업캐스팅(Up-casting) 과 다운 캐스팅(Down-casting)

업캐스팅 : 자손타입-> 조상타입 형변화 <형변환 생략가능> 
다운캐스팅 : 조상타입->자손타입 형변화 <형변환 생략불가>
 


매개변수의 다형성

- 참조형 매개변수는 메서드 호출시, 자신과 같은 타입 또는 자손타입의 인스턴스를 넘겨줄 수 있다
class Product 가 있고 이를 상속하는 자식클래스로 tv, com, audio가 있을때.
buy(tv t), buy(com c), buy (audio a) 등으로 각각의 타입으로 매개변수를 받는 메소드가 있다면
각각의 클래스는 Product에서 상속함으로
buy(Product p)
라는 하나의 메소드로 다 받을 수 있다.

ex>
buy(Product p){
money = money - p.price;
bonusPoint = bonusPoint + p.bonusPoint;
 }


업캐스팅(up-casting)

하위 클래스형에서 상위 클래스형으로 캐스팅 되는것.(자바는 모든것이 클래스)
class a()
class b extends a()

형태의 클래스 두개가 있다면
a c = new b();
형태로 b가 a로 업캐스팅 된다.
이때 a에 존재하는 메소드만 사용이 가능한다. b에만 존재하는 메소드에는 접근이 불가능(업캐스팅 되어서 제한됨)

그러나 b에서 a의 메소드가 오버라이딩 되었다면, 오버라이딩된 b의 메소드가 호출이 된다.

ex> 
class Shape {
   public void draw(){ //내용 생략 }
}
class Circle extends Shape{
   public void draw(){ //내용 생략 }
}
위의 저런 두가지 클래스가 있다고 할때


Shape s = new Shape();
s.draw(); //Shape의 draw() 메서드 호출
Circle c = new Circle();
c.draw(); //Circle의 draw() 메서드 호출

이런 결과가 나온다.
클래스, 추상클래스, 인터페이스 모두 동일하게 업캐스팅이 가능하다.

은닉, 보호, 오류감소 등의 목적으로 업캐스팅을 사용한다.
 

다운캐스팅은 업캐스팅한 것을 다시 돌려줄때 이용.
반드시 명시적 캐스팅을 해주어야한다 (변환할형) abc 등....
그리고 잘못하면 심각한 에러가 발생하니 주의할것.


int <-> String 형변환
 
String -> int

String s = "236222";
int i = Integer.parseInt(s);

int -> String

int i = 222333;
String s= Integer.toString(i); 



문자열(String) 비교시 왜 equals를 써야 하는가?

String변수는 기본자료형 변수가 아니라 참조자료형 변수, 즉 객체이다. C로 생각하자면 포인터 변수나 마찬가지.
거기다 자바가가지는 리터럴 상수("abc" 처럼 ""안에 있는것)가 저장되는 공간의 특성 때문이다.

예를 들어 String s= "abc"; 라고 선언을 하면 "abc"가 메모리에 올라가고, s는 abc를 가르키는 주소가 저장된다.
그리고 이후에 생성되는 "abc"란 리터럴 상수는 모두 같은 주소를 갖게 된다.
s1="abc", s2="abc"하면 s1,s2 모두 같은 주소를 가르키게 된다는 것.

단 s1="abc"한후, s2= new String("abc")를 해버리면, new를 써버리면 "abc"가 올라가는 새로운 메모리가 생성된다.
s1, s2를 모두 출력하면 동일하게 "abc" 가 나오지만, 가르키는 주소가 다르므로
s1==s2는 false가 되는 것.

그렇기에 이를 제대로 비교하려면 equals 메소드를 사용해야 한다.


String  참조변수는 stack에 리터럴 상수는 haep메모리에 올라감. 이 heap메모리의 해시코드를 갖고 비교하는 equals메소드를 사용해야 원하는 결과를 얻을 수 있음.

 ㄴㅇ



Posted by 하품 - yawn 하품 - yawn