CH 5. ASP.NET Object Response Object Request Object Server Object Application Object Session Object Post back Cookies
새 웹 사이트 만들기 시작 – 모든 프로그램 – Visual Web Developer 2010 – – 새 웹 사이트 – ch5 생성 다음에 다시 작업을 추가할 경우에는 웹 사이트 열기로 접근 컴퓨터 공학과 웹 서버 프로그래밍
새 웹 사이트 만들기 Default.aspx 파일 우측 마우스 버튼 후 삭제한다. 새 항목 추가하여 코드보기로 전환 다음에 다시 작업을 추가할 경우에는 웹 사이트 열기로 접근 컴퓨터 공학과 웹 서버 프로그래밍
새 웹 사이트 만들기 한 줄 입력 후 Ctrl + F5 로 실행 컴퓨터 공학과 웹 서버 프로그래밍 다음에 다시 작업을 추가할 경우에는 웹 사이트 열기로 접근 컴퓨터 공학과 웹 서버 프로그래밍
새 웹 사이트 만들기 디자인 모드로 전환 후 문자열 입력 후 실행하여 어느 문자열이 먼저 출력되는지 확인 다음에 다시 작업을 추가할 경우에는 웹 사이트 열기로 접근 컴퓨터 공학과 웹 서버 프로그래밍
ASP.NET 객체 Page 클래스에 정의되어 있는 멤버 Response 객체 : Server에서 Client로 정보 전송 Request 객체 : Server 에 정보 요구 Server 객체 : 웹 프로그래밍에서 필요한 기능 Application 객체 : 웹에서 사용되는 정보 저장 Session 객체 : 각 사용자별 정보 저장 PostBack : 페이지 새로 고침 Cookies – 각 사용자별 정보 저장 : Client 에 저장 Request Server Client Response 컴퓨터 공학과 웹 서버 프로그래밍
Response 객체 Write() : 문자열 출력 Response.Write(“Hi<br />”) Redirect() : 다른 페이지로 이동 Response.Redirect(“aaa.aspx”); Cookies : 쿠키 정보를 클라이언트에 저장 내 컴퓨터에 있는 쿠키를 읽어오면 request 컴퓨터 공학과 웹 서버 프로그래밍
Response 객체 Response_Write.aspx 파일 생성 후 디자인 보기에서 표준 컨트롤의 버튼 작업 영역으로 두 개 드래그 컴퓨터 공학과 웹 서버 프로그래밍
Response 객체 첫 번째 버튼 선택 후 속성창에서 ID : btnClick 으로 Text : 클릭하세요 로 수정 후 ENTE 컴퓨터 공학과 웹 서버 프로그래밍
Response 객체 두 번째 버튼 선택 후 속성창의 아래 부분에서 Text : 자바스크립트출력 로 수정 ID : btnJavaScript 로 수정 후 ENTER 컴퓨터 공학과 웹 서버 프로그래밍
Response 객체 버튼 2개 각각 더블 클릭하여 코드 보기로 전환 코드 보기로 전환하는 방법 3가지 컨트롤 더블 클릭 버튼 2개 각각 더블 클릭하여 코드 보기로 전환 코드 보기로 전환하는 방법 3가지 컨트롤 더블 클릭 ***.aspx.cs 파일 더블 클릭 디자인 보기에서 빈 공간 더블 클릭 컴퓨터 공학과 웹 서버 프로그래밍
Response 객체 - 출력문 네모 안 소스 입력 후 실행 @ “ “ 의미 “ “ 사이의 문장을 한 줄로 인식해라 네모 안 소스 입력 후 실행 화면에 나오게 하려면 페이지로드에 쓰면된다. 자바스크립트 -> 회원가입할때 인증할때 사용한다. 닷넷에서 제공하지 않기때문에 사용하기 불편함 String 변수에 @아래 내용을 다 넣겠다!!!! Window.alert 경고창 출력 텍스트박스해서 오류나면 -> 소스보기에서 ontextchanged="TextBox1_TextChanged" 지워준다 ㅎㅎ!!!! @ “ “ 의미 “ “ 사이의 문장을 한 줄로 인식해라 컴퓨터 공학과 웹 서버 프로그래밍
Response 객체 - Redirect Method Response_Redirect.aspx 파일 생성 후 버튼 하나와 링크버튼 하나 드래그 한 후 속성 지정 후 각각 버튼 더블 클릭 컨트롤 컨트롤 ID 속성(Text) Button1 btnYahoo 야후로 이동 LinkButton1 btnLink KBS로 이동 컴퓨터 공학과 웹 서버 프로그래밍
Response 객체 - Redirect Method 네모 안 소스 입력 후 시작 페이지 지정 후 실행 컴퓨터 공학과 웹 서버 프로그래밍
Request 객체 Request 객체 : 사용자의 정보(client)를 서버로 가져올 때 사용 - 폼 데이터, 브라우저 정보, 클라이언트 IP 주소 등 UserHostAddress : 클라이언트의 IP 주소 Cookies : 클라이언트에 저장한 쿠키 값을 읽어 온다. Request.QueryString[] : GET 방식으로 전송되어 온 값을 가져온다. Request.Form[] : Post 방식으로 넘겨져 온 값 받을 때 사용 Request.Parms[] : 폼으로부터 전송되어져 온 Get/Post 방식 모두 사용 Response.Write(“IP 주소 : “ Request.UserHostAddress “<br />”) ; 컴퓨터 공학과 웹 서버 프로그래밍
Request.aspx 디자인에서 Request.aspx 파일 생성 후 TextBox 4개 Button 1개 드래그 한 후 다음 속성 값 지정 Form 컴퓨터 공학과 웹 서버 프로그래밍
Request 객체 속성 값 ID 와 Text 값 지정 컴퓨터 공학과 웹 서버 프로그래밍
Request.aspx.cs 에서 자리 표시자란 ? 코드 보기에서 네모 안 소스 입력 후 실행하여 데이터 입력 후 확인 실행하여 데이터 입력 후 확인 문제점 ???? +는 문자열을 연결한다 {0}~{숫자} 개의 변수를 입력해줘야 한다. 컴퓨터 공학과 웹 서버 프로그래밍
Request 객체 - Form 방식 //[1] Request 객체의 QueryString 컬렉션 strUserId = Request.QueryString[“txtUserID"]; //[2] Request 객체의 Params 컬렉션 strPassword = Request.Params[“txtPassword"]; //[3] Request 객체의 Form 컬렉션 strName = Request.Form[“txtName"]; //[4] Request 객체 자체로 받기 strAge = Request[“txtAge"]; // 없거나 폼 데이터를 받아 올 때는 Form 방식 사용 Request.Params[“ID 값"]; 이나 Request.Form [“ID 값"]; 이나 Request [“ID 값"]; 사용 //추천 방법 컴퓨터 공학과 웹 서버 프로그래밍
Request .aspx.cs 에서 블록 선택 후 주석문 처리 컴퓨터 공학과 웹 서버 프로그래밍
Request .aspx 디자인모드에서 아래와 같이 Label 4개로 화면 디자인 후 코드 보기로 전환하여 코드 각자 입력 후 실행 컴퓨터 공학과 웹 서버 프로그래밍
Request.aspx.cs 에서 1. 아래와 같이 출력 되도록 각자 완성하시오. 2. 표로 만들어 출력 (Label, TextBox) 컴퓨터 공학과 웹 서버 프로그래밍
Request 객체 p153 속 성 설 명 ApplicationPath 클라이언트에서 요구한 서버의 가상 디렉터리 속 성 설 명 ApplicationPath 클라이언트에서 요구한 서버의 가상 디렉터리 physicalApplicationPath 물리적인 디렉터리 경로 Browser 사용자의 브라우저 정보 UserHostAddress 클라이언트의 IP 호스트 주소 UserHostName 클라이언트의 DNS 이름(없으면 IP 주소) Url 클라이언트가 요구한 URL 전체 경로 다음에 다시 작업을 추가할 경우에는 웹 사이트 열기로 접근 컴퓨터 공학과 웹 서버 프로그래밍
Client 정보 구하기 ClientInfo.aspx 파일 생성 후 코드보기에서 네모안 소스 입력 후 실행 다음에 다시 작업을 추가할 경우에는 웹 사이트 열기로 접근 컴퓨터 공학과 웹 서버 프로그래밍
Server 객체 Server 객체 : 서버측에 있는 어떤 기능을 웹 페이지에 표시할 때 필요한 유틸리티 기능을 모아 놓은 객체 MapPath(“.”) : 가상 디렉터리에 해당하는 실제 물리적인 경로 표시 UrlEncode() : 주어진 문자열을 URL 인코딩/디코딩 URL 문자열을 전송할 때 사용(Get-QueryString 방식일 때) ex) <a href=“Query.aspx?UserID=kbs&passsword=1111”> htmlEncode() : 주어진 문자열을 Html 인코딩 “<“ <, “>” > 컴퓨터 공학과 웹 서버 프로그래밍
Server 객체 – Map Path Server.aspx 파일 생성 후 네모 안 과 같이 Label 로 화면 구성 후 코드보기로 전환 컴퓨터 공학과 웹 서버 프로그래밍
Server 객체 – Map Path 네모 안 소스 입력 후 실행 컴퓨터 공학과 웹 서버 프로그래밍
Application - Session 변수 대상으로 적용. 사용자 별로 지정하지 못함. Session 변수는 사용자 별로 ID나 Password를 세션변수로 저장 후 각 페이지에서 필요할 때 마다 사용 연결이 차단되면 바로 소멸(20분 유지) Cookie는 클라이언트에 저장하는 하는 작은 정보 연결이 차단 되더라도 지정한 기간 동안 유지(미리 지정) Application변수 -> 전역변수 Session변수 -> 현재 접속한 사용자수 컴퓨터 공학과 웹 서버 프로그래밍
Application - Session 객체 - 웹사이트에 들어오는 각 사람의 정보를 일정시간 저장 - Session 유지 시간은 웹사이트를 빠져 나가고 나서 20분 SessionID : 사용자마다 주어지는 고유의 값 SessionTimeout : 나가고 난 후 세션 유지 시간(기본 20분) Abandon() : 현재 세션 지우기 Sesion_Start() : 한 명의 방문자가 들어올 때마다 실행 Session_End() : 한 명의 방문자가 나가고 나면 실행 수만 명이 접속하는 사이트는 세션변수 사용 안 함- 메모리 초과원인 컴퓨터 공학과 웹 서버 프로그래밍
Application - Session 객체 사용하는 정보로 연결이 끊어지면 세션변수도 일정시간 유지 후에 자동 삭제 됨.(20분) Ex) session[“starttime”] = DateTime.Now; session[“UserID”] = txtUserID; session[“Password”] = txtPassword; if (session[“UserID”] == Null) { 로그인 하세요 } else 반갑습니다. SBS님 컴퓨터 공학과 웹 서버 프로그래밍
Application - Session 객체 Application_Session.aspx 파일 생성 후 Label 4개 드래그 후 속성 값 지정 컨트롤 ID Text Label1 lblApplication “” Label2 lblSession Label3 lblSeesionID Label4 lblTimeout 컴퓨터 공학과 웹 서버 프로그래밍
Application - Session 객체 코드 보기에서 네모 안 입력 Lock 다른사람이 접속하지못하게 Unlock 컴퓨터 공학과 웹 서버 프로그래밍
Application - Session 객체 이어서 네모 안 입력 객체지향은 문자로 처리하기때문에 형변환을 사용함 컴퓨터 공학과 웹 서버 프로그래밍
Application - Session 객체 코드 보기에서 앞장에 이어서 네모 안 입력 후 실행 컴퓨터 공학과 웹 서버 프로그래밍
Application - Session 객체 새로 고침 여러 번 해 봄 주소 복사 한 후 브라우저 닫았다가 다시 열고 주소 붙여넣기 한 후 다시 호출함 접속자가 한 명이라도 있으면 살아있는 변수가 어플리케이션 변수 – 전체 접속자 수 세션 변수는 접속자 한명당 하나의 세션변를 할당 – 현재 동시 접속자 수 컴퓨터 공학과 웹 서버 프로그래밍
PostBack 이란 ? PostBack - 버튼이나 Select 등 웹폼의 컨트롤(서버 컨트롤)을 클릭 할 isPostBack – 처음으로 로드될 때 한번 만 출력하도록 지정할 때 사용. 사용자가 웹에서 입력한 정보나 변경한 정보는 서버로 전송하였다가 그 결과를 사용자에게 되돌려 줌(깜박거림) 서버 컨트롤(Button 등) 클릭시에 PostBack 발생됨 컴퓨터 공학과 웹 서버 프로그래밍
Page 클래스 – IsPostBack 속성 Page_Class.aspx 파일 생성 후 코드 모드에서 네모 안 입력 후 실행하여 확인 새로 고침 하더라도 False 처음에는 포스트백이 아니다. 다시게시 컴퓨터 공학과 웹 서버 프로그래밍
Page 클래스 – IsPostBack 속성 디자인 모드에서 Button 드래그 후 실행하여 버튼을 클릭 False True 로 변경됨 컴퓨터 공학과 웹 서버 프로그래밍
Page 클래스 – IsPostBack 속성 소스 수정 후 실행하여 확인 한번 읽어 온 것을 매번 읽어오지 마라 -- 성능 향상을 위해 컴퓨터 공학과 웹 서버 프로그래밍
Cookies 쿠키는 사용자마다 클라이언트에 저장하는 작은 정보 - 세션 변수는 세션이 끊어지면 소멸되지만 쿠키는 계속 저장 쿠키는 유효 기간이 지나면 자동 소멸 - 세션보다 보안이 약함. 쿠키 저장 장소 : C:\Documents and Settings\Administrators\Cookies 운영체제에 따라 차이 있음. 컴퓨터 공학과 웹 서버 프로그래밍
MSDN이란 ? 다음에 다시 작업을 추가할 경우에는 웹 사이트 열기로 접근 컴퓨터 공학과 웹 서버 프로그래밍
MSDN 이용 방법 주소창에 http://msdn.microsoft.com/ko-kr/ 입력 후 검색 창에서 쿠키 검색 다음에 다시 작업을 추가할 경우에는 웹 사이트 열기로 접근 컴퓨터 공학과 웹 서버 프로그래밍
MSDN 이용 방법 네모 안 읽어 보고 클릭 컴퓨터 공학과 웹 서버 프로그래밍 다음에 다시 작업을 추가할 경우에는 웹 사이트 열기로 접근 컴퓨터 공학과 웹 서버 프로그래밍
MSDN 다음에 다시 작업을 추가할 경우에는 웹 사이트 열기로 접근 컴퓨터 공학과 웹 서버 프로그래밍
Cookie 웹 페이지에서 바탕색이나 폰트등을 설정할 수 있다. 마지막으로 방문한 기록을 보여줄 수 있다 웹사이트에 접속시, 이전에 입력된 쿠키정보로 자동 로그인이 가능. 쿠키 쓰기 Response.Cookies["Users“] = “kbs"; Response.Cookies["Users"].Expires = DateTime.Now.AddDays(1d); 쿠키 읽기 Request.Cookies["Users“]; 다음에 다시 작업을 추가할 경우에는 웹 사이트 열기로 접근 컴퓨터 공학과 웹 서버 프로그래밍
Cookie.aspx Cookie.aspx 파일 생성 후 디자인 보기에서 Label 과 Button으로 화면 구성 후 속성 값 지정 후 코드보기로 전환 컨트롤 속 성 값 Button ID btnCookie Text 쿠키 값 읽어오기 Label lblDisplay “” 컴퓨터 공학과 웹 서버 프로그래밍
Cookies.aspx.cs 네모 안 소스 입력 후 실행하여 결과 확인 ???? 컴퓨터 공학과 웹 서버 프로그래밍
Cookie_RW.aspx Cookie_RW.aspx 파일 생성 후 디자인 보기에서TextBox, Button, Button, Label 로 화면 디자인 후 속성 값 지정 후 버튼 각각 더블 클릭 컨 트 롤 속 성 값 TextBox ID txtCookie Button1 btnWrite Text 쿠키 저장하기 Label lblRead “” Button2 btnRead 쿠키 읽어오기 컴퓨터 공학과 웹 서버 프로그래밍
Cookie_RW.aspx.cs 네모 안 소스 입력 컴퓨터 공학과 웹 서버 프로그래밍
실행 결과 2 3 1 4 실행 후 먼저 쿠키 읽어오기 버튼 클릭 하여 확인 후 값 입력하고 쿠키 저장하기 버튼 클릭 한 후 쿠키 읽어오기 버튼 클릭할 것 컴퓨터 공학과 웹 서버 프로그래밍
Cookie_RW.aspx.cs 네모 안 소스 추가 7일까지는 쿠키 보관 날자, 시, 분, 초 컴퓨터 공학과 웹 서버 프로그래밍
Cookie_RW.aspx.cs 쿠키 저장하고 나서 쿠키 읽어오기 할 것 다시 실행해도 KKKK 계속 출력됨 쿠키 저장하고 나서 쿠키 읽어오기 할 것 다시 실행해도 KKKK 계속 출력됨 인터넷 옵션에서 쿠키 삭제 후 다시 실행하여 확인 컴퓨터 공학과 웹 서버 프로그래밍
과 제 아래와 같은 형식으로 출력하시요. 컴퓨터 공학과 웹 서버 프로그래밍