* Classic ASP는 웹 애플리케이션 개발을 돕는 여러 내장 객체와 컬렉션을 제공합니다. 이들을 통해 사용자 입력을 수집하거나 서버-클라이언트 간 데이터 전송, 상태 유지 등을 효율적으로 수행할 수 있습니다. 내장 객체와 컬렉션에 대해 알아봅시다.
Classic ASP의 주요 내장 객체 및 컬렉션
- Request 객체
- 설명: 클라이언트가 서버로 보낸 요청 데이터를 수집.
- 주요 컬렉션:
- Request.QueryString: URL 쿼리 문자열(GET 요청)을 통해 전달된 파라미터를 읽음.
- Request.Form: HTML 폼을 통해 POST 방식으로 전달된 데이터를 읽음.
- Request.Cookies: 클라이언트가 서버에 전송한 쿠키 정보를 읽음.
- Request.ServerVariables: 서버 및 환경 변수 정보(IP 주소, 브라우저 정보 등)를 읽음.
- 예시:
asp코드 복사productID = Request.QueryString("productID") username = Request.Form("username") clientIP = Request.ServerVariables("REMOTE_ADDR")
- Response 객체
- 설명: 서버가 클라이언트에 응답할 내용을 설정 및 전송.
- 주요 메서드 및 속성:
- Response.Write: 텍스트나 HTML 코드를 클라이언트로 출력.
- Response.Redirect: 클라이언트를 다른 페이지로 리디렉션.
- Response.Cookies: 클라이언트에게 보낼 쿠키를 설정.
- Response.ContentType: 응답 콘텐츠의 MIME 타입을 설정.
- 예시:
asp코드 복사Response.Write "Hello, world!" Response.Cookies("userID") = "abc123" Response.Redirect "welcome.asp"
- Server 객체
- 설명: 서버에서 특정 기능을 수행하거나 다른 구성 요소를 생성하는 데 사용.
- 주요 메서드:
- Server.CreateObject: COM 객체를 생성.
- Server.HTMLEncode / Server.URLEncode: HTML 및 URL 인코딩을 처리.
- 예시:
asp코드 복사Set objConn = Server.CreateObject("ADODB.Connection") encodedURL = Server.URLEncode("http://example.com")
- Session 객체
- 설명: 사용자의 세션 상태를 유지하여 로그인 정보나 사용자 설정을 저장.
- 주요 메서드 및 속성:
- Session("변수명"): 세션에 변수를 저장하거나 불러옴.
- Session.Abandon: 현재 세션을 종료.
- 예시:
asp코드 복사Session("username") = "홍길동" userSession = Session("username")
- Application 객체
- 설명: 애플리케이션 전역에서 공유되는 데이터를 저장. 모든 사용자에게 동일하게 적용됨.
- 주요 메서드 및 속성:
- Application("변수명"): 애플리케이션 전역 변수 설정 및 접근.
- Application.Lock / Application.Unlock: 동시 접근을 방지하기 위해 잠금/해제.
- 예시:
asp코드 복사Application.Lock Application("totalVisitors") = Application("totalVisitors") + 1 Application.Unlock
- Err 객체
- 설명: 오류 발생 시 오류 번호, 설명 등을 제공하여 오류 처리를 지원.
- 주요 속성 및 메서드:
- Err.Number: 오류 번호.
- Err.Description: 오류 설명.
- Err.Clear: 오류 상태 초기화.
- 예시:
asp코드 복사On Error Resume Next Set obj = Server.CreateObject("NonExistentObject") If Err.Number <> 0 Then Response.Write "오류: " & Err.Description Err.Clear End If
- FileSystemObject
- 설명: 서버 파일 시스템에 접근하여 파일 생성, 삭제, 읽기, 쓰기 등을 할 수 있게 해주는 객체입니다. 서버 측 파일 조작이 필요할 때 자주 사용됩니다.
- 주요 메서드 및 속성:
- CreateTextFile: 새로운 텍스트 파일 생성.
- OpenTextFile: 파일을 읽기/쓰기 모드로 엽니다.
- DeleteFile: 파일 삭제.
- FileExists: 특정 경로에 파일이 존재하는지 확인.
- FolderExists: 특정 폴더가 존재하는지 확인.
- 사용 예시:
asp코드 복사Set fso = Server.CreateObject("Scripting.FileSystemObject") Set file = fso.CreateTextFile("C:\example.txt", True) file.WriteLine("Hello, World!") file.Close
알아두면 좋은 추가 사항
- Global.asa 파일:
- ASP 애플리케이션의 전역 설정을 정의하는 파일로, Application_OnStart, Application_OnEnd, Session_OnStart, Session_OnEnd와 같은 이벤트를 정의할 수 있습니다.
- 주로 애플리케이션 시작 시 초기화 작업이나 세션 종료 시 처리할 작업을 설정할 때 사용됩니다.
- ASP의 트랜잭션 처리:
- 트랜잭션을 필요로 하는 데이터베이스 작업에서 ObjectContext 객체를 통해 트랜잭션을 관리할 수 있습니다.
- 주요 메서드:
- SetComplete: 작업이 정상적으로 완료되었을 때 호출하여 트랜잭션을 커밋.
- SetAbort: 오류 발생 시 트랜잭션을 롤백.
- 보안 고려 사항:
- ASP에서는 사용자가 입력한 데이터에 대해 반드시 인코딩(HTML 및 URL)을 수행하여 보안에 취약한 입력값을 처리해야 합니다.
- Server.HTMLEncode와 Server.URLEncode는 HTML 및 URL 인젝션 방지에 유용합니다.
- 상태 관리:
- Session 객체와 Application 객체를 통해 상태를 유지하지만, 지나치게 많은 데이터를 저장할 경우 서버 성능에 영향을 미칠 수 있습니다.
- 쿠키를 통한 상태 유지 역시 한 방법으로, 사용자 데이터를 쿠키에 저장하고 필요할 때마다 읽어 올 수 있습니다.
'인턴' 카테고리의 다른 글
[29일차] VBScript (0) | 2024.11.21 |
---|---|
[25일차] MSSQL 프로시저 생성하기 (SSMS) (1) | 2024.11.15 |
[23일차] ASP - 브라우저 콘솔에 쿼리 값 출력하기 (0) | 2024.11.13 |
[23일차] ASP - 내장객체 Err (0) | 2024.11.13 |
[23일차] classic ASP - DB 연결 (global.asa에서 설정하는 방법) (0) | 2024.11.13 |