1. 웹프로그래밍 언어 작동원리 :
1) 인터프리터 :
웹프로그래밍에 사용되는 일반적인 언어(php, asp, jsp)는 인터프리터로 되어있으며
"해석기"가 코드를 한줄씩 해석하여 사용자가 이해할수 있는 문서인 HTML로 변환해 준다.
인터프리터는 컴파일러보다 가벼우며 융통성이 좋아 웹에서 사용하기에 적합하다.
2) 2Tier , 3Tier(단계, 계층) :
2Tier : Server(웹서버 : Asp, jsp, php) / Client(사용자 : HTML)
3Tier : Server(웹서버 : Asp, jsp, php) / Client(사용자 : HTML) /
+ Component(별도의 기능과 함수를 모아 컴파일한 모듈(프로그램)) (ex. Active X)
3) 웹사이트 작동 구조 :
웹서버 + 웹언어 해석기 + DB서버
(ex. IIS + ASP + MSSQL, Apache + PHP + MYSQL, Iplanet + JSP + ORACLE )
2. 웹프로그래밍 언어의 종류와 성격
1) asp (Active Server Page) :
asp 는 MS에서 개발된 웹프로그래밍 언어이다.
비주얼 베이직과 거의 비슷하며 웹언어중 코드를 가장 이해하기 쉽다.
asp 는 웹에서 정보를 주고받기 위한 5가지 객체를 가지고 있다.
Request 객체 : 서버쪽에 정보를 요청 하여 받아내도록 하는 객체
Response 객체 : 서버쪽에서 사용자가 보이는 화면으로 정보를 뿌려 주는 객체
Server 객체 : 서버에 위치하는 다른 객체를 사용할 수 있도록 하는 객체
Application 객체 : 서버가 끊길때까지 정보를 가지고 있는 객체
Session 객체 : 사용자가 로긴하고 로그아웃 할때까지 사용자정보를 가지고 있는 객체
2) php (Personal Hypertext Preprocessor) :
php 는 모든것이 함수로 되어 있어 사용하고 이해하기 편리하다.
오픈소스이다.
C 언어 기반이다.
3) jsp (Java Server Pages) :
Java 언어를 기반으로 하는 스크립트 언어이다.
Java 는 클래스를 중심으로 한 서블릿과 Java Beans 컴포넌트를 이용하여 다양한 기능을 구사할 수 있다.
따라서 Java 의 기능을 아는것이 매우 중요하다.
확장성이 좋아 어느 운영체제에서도 사용할 수 있다.
4) .net(닷넷) , EJB(Enterprise Java Beans) :
기존의 스크립트 언어와 함께 각 기능들을 모듈화 하여 사용할 수 있도록 만들었다. (Component 제작)
3. 데이터 베이스 용어
1) 테이블(table) :
데이터베이스의 하나의 개체를 의미한다. (ex. 회원)
2) 칼럼(Column) :
테이블 내부의 세로줄을 지칭한다. (ex. 이름, 주민번호, 회사, 전화번호 , 가입경로, 기입일)
3) 레코드(Record) :
테이블 내부의 가로줄 한줄 즉 정보를 의미한다.
(ex.
홍길동 | ****** - ******* | A회사 | 010-2345-**** | 네이버를 통해 | 2006-01-01 |
레코드 셋은 레코드들의 묶음을 의미한다.
4) 쿼리문 :
SQL 이라고 하며 질의어라 한다.
데이터를 조회(Select), 수정(Update), 삭제(delete), 저장(insert) 한다.
(ex.
- 조회
select 이름,회사 from 회원 where 가입일='2006-01-01'
해석 : 회원 테이블에서 가입일이 2006-01-01 인 사람의 이름과 회사정보를 조회하라.
- 삭제
delete from 회원 where 가입일='2007-04-01'
해석 : 회원 테이블에서 가입일이 2007-04-01 인 회원을 지워라.
- 수정
update 회원 set 전화번호='011-2345-****' where 주민번호='******-*******'
해석 : 회원 테이블에서 주민번호가 ******-******* 인 회원의 전화번호를 011-2345-**** 로 수정하라.
- 저장
insert into 회원 (이름,주민번호,회사,전화번호,가입경로,가입일)
value ('주몽','******-*******','LK그룹','010-2222-****','지인을 통해','2007-04-11')
해석 : 회원 테이블에 새로운 정보를 저장하라. )
4. 데이터 베이스와의 연결
1) asp 에서 msssql 서버 데이터 가져오기
- 데이터 베이스 연결정보
StrConn = "Provider=SQLOLEDB;Data Source = DB서버명;
Initial Catalog=DB명:User ID =DB접근계정명;Password=DB접근 패스워드;"
해석 : StrConn 변수에 데이터 베이스 연결 정보를 담는다.
Data Source 에는 DB 서버명을, Initial Catalog 에는 DB명(IP주소)을, 계정과 비밀번호를 입력한다.
데이터 베이스 관리시스템인 DBMS 에는 여러개의 DB를 만들어 관리할 수 있으므로 DB명을 지정해준다.
DB에 따라 ID, Password 를 별도로 부여하며 권한을 줄수 있으므로 미리 변수에 담아놓는다.
- 데이터베이스 연결 객체 선언
set Conn = server.CreateObject("ADODB.Connection")
해석 : server 객체의 CreateObject 메소드를 사용하여 데이터 베이스 연결을 하겠습니다 라고 정의하며
연결객체 Conn 을 만든다. (set : 새로운 객체를 선언)
- 데이터 베이스 연결
Conn.open StrConn
해석 : Conn이라는 데이터 베이스 연결객체의 메소드 open 을 이용해 변수에 지정된 DB연결 정보를 연결한다.
- 데이터 베이스 실행을 통한 레코드셋으로 받기
Dim sql
sql="select * from 테이블명"
set Rs = Conn.execute(sql)
해석 : Dim sql (sql 이라는 변수를 선언한다) sql 에 쿼리문("select * from 테이블명")을 담는다.
set Rs (Rs 라는 객체를 선언한다) Rs 객체는 Conn 이라는 위에서 만든 객체의 메소드 execute 를 통해
sql 의 변수에 저장된 쿼리문을 실행시켜 레코드 셋을 받는다.
2) php 에서 mssql 서버 데이터 가져오기
- 데이터 베이스 연결정보
$hostname = DB서버 IP
$user_id = 권한이 있는 DB접근 ID
$password = 패스워드
$DbName = DB명
해석 : php 에서는 $문자가 붙으면 변수이다.
데이터 베이스에 접근하기 위하여 서버IP, ID, Password, DB명을 변수에 저장한다.
- 데이터 베이스 연결설정
$Conn = MSSQL_CONNECT($hostname, $user_id, $password);
해석 : php 에서는 MSSQL_CONNECT 라는 함수가 데이터 베이스와의 연결을 시켜준다.
- 데이터 베이스 연결
mssql_select_db($DbName, $Conn);
해석 : php 는 데이터 베이스 DB명을 선택하게 하는 함수를 별도로 가지고 있다.
- 데이터 베이스 실행을 통한 레코드셋으로 받기
$sql = "select * from 테이블명"
$Rs = mssql_query($sql, $Conn)
해석 : sql 변수에 쿼리문을 저장한 다음 mssql_query 함수를 이용하여 데이터를 받아와 Rs에 저장한다.
3) jsp 에서 mssql 서버 데이터 가져오기
- 데이터 베이스 연결정보
Class.forName("com.microsoft.jdbc.sqlsever.SQLSeverDriver");
String strUrl = "jdbc:microsoft:sqlserver:서버아이피:databasename=DB명";
String strUser_id = 권한이 있는 DB접근 ID;
String strPassword = 패스워드;
해석 : 기본적으로 클래스를 사용한다. 기능을 사용하려면 먼저 클래스를 선언해야 한다.
Class.forName() 파라미터의 클래스를 사용
com.microsoft.jdbc.sqlsever.SQLSeverDriver 는 sqlserver 를 사용하기 위한 클래스
문자열로 선언된 strUrl, strUser_id, strPassword 에 (IP, DB명), ID, Password 를 대입한다.
- 데이터 베이스 연결설정
Connection Conn = DriverManager.getConnection(strUrl, strUser_id, strPassword);
해석 : DriverManager 객체의 getConnection 메소드를 사용해 연결객체 Conn 을 생성한다.
- 데이터 베이스 연결
Statement stmt = Conn.createStatement();
해석 : 생성된 연결객체 Conn 의 createStatement() 메소드를 실행하여 SQL 쿼리를 생성, 실행하여 결과를 가져오게 할 작업 영역을 stmt 객체를 만든다.
- 데이터 베이스 실행을 통한 레코드셋으로 받기
String strSql = "select * from 테이블명"
Result rs = stmt.executeQuery(strSql);
해석 : 문자열로 선언된 strSql 변수에 쿼리문을 담고 stmt 객체의 executeQuery() 메소드를 사용해 실행하여
rs 객체에 저장하다.
6. 쿠키와 세션
사용자가 사이트에 접속하면 접속정보가 생긴다. (ex. 로그인 정보, 구매물품 등등)
세션 : 접속정보를 서버가 가지고 있음
쿠키 : 접속정보를 사용자의 PC에 텍스트 파일로 저장
위 글은 냐하님(ttaeseung)의 글
웹기획 이해하기 - 강좌15. 웹기획자 입장에서 웹프로그래밍 이해하기 글을 참조하여서 작성하였습니다.
http://blog.naver.com/ttaeseung/120036872378