JSP(JavaServer Pages) 는 Sun Microsystems 가 설립한 동적 웹 기술 표준입니다. JSP 기술은 ASP 기술과 약간 비슷합니다. Java 프로그램 세그먼트 (Scriptlet) 와 JSP 태그 (tag) 를 기존 웹 페이지 HTML 파일 (*) 에 삽입합니다. Htm, *. Html) 을 사용하여 JSP 파일 (*) 을 형성합니다. Jsp) 을 참조하십시오.
JSP 로 개발된 웹 응용 프로그램은 플랫폼 간, 즉 Linux 와 같은 운영 체제에서 실행할 수 있습니다.
JSP 기술은 Java 프로그래밍 언어를 사용하여 동적 웹 페이지를 생성하는 처리 논리를 캡슐화하는 XML 과 같은 태그와 scriptlets 를 작성합니다. 웹 페이지는 태그 및 스크립트를 통해 서버에 있는 기존 리소스의 응용 프로그램 논리에도 액세스할 수 있습니다. JSP 는 웹 페이지 디자인 및 디스플레이에서 웹 페이지 논리를 분리하여 재사용 가능한 구성 요소 기반 디자인을 지원하여 웹 기반 응용 프로그램 개발을 빠르고 쉽게 만듭니다.
웹 서버가 JSP 페이지 액세스 요청을 충족하면 먼저 프로그램 세그먼트를 실행한 다음 실행 결과를 JSP 파일의 HTML 코드와 함께 클라이언트에 반환합니다. 삽입된 Java 프로그램 세그먼트는 데이터베이스를 조작하고 웹 페이지를 리디렉션하는 등의 작업을 할 수 있습니다. 을 눌러 동적 웹 페이지를 작성하는 데 필요한 기능을 구현합니다.
JSP 는 Java 서블릿과 마찬가지로 서버측에서 실행되며 일반적으로 HTML 텍스트가 클라이언트에 반환되므로 클라이언트가 브라우저만 있으면 찾아볼 수 있습니다.
JSP 의 1.0 사양 최종 버전은 1999 년 9 월에 출시되고 2 월에는1..1사양이 출시되었습니다. 현재 JSP 1.2 규격이 비교적 새롭고 JSP2.0 규격 초안도 발표되었습니다.
JSP 페이지는 HTML 코드와 포함된 Java 코드로 구성됩니다. 서버는 클라이언트가 페이지를 요청한 후 이러한 Java 코드를 처리한 다음 생성된 HTML 페이지를 클라이언트의 브라우저에 반환합니다. Java 서블릿은 JSP 의 기술 기반이며, 대규모 웹 응용 프로그램 개발을 위해서는 Java 서블릿과 JSP 의 협력이 필요합니다. JSP 는 사용하기 쉽고, 객체 지향, 플랫폼 독립적, 보안 및 신뢰성, 주로 인터넷 지향과 같은 Java 기술의 모든 기능을 갖추고 있습니다.
JSP 기술의 장점
(1) 한 번 쓰고 여기저기 뛰어다니다. 이와 관련하여 Java 는 PHP 보다 낫습니다. 시스템 이외의 코드는 변경할 필요가 없습니다.
(2) 시스템에 대한 다중 플랫폼 지원. 기본적으로 모든 플랫폼의 모든 환경에서 개발, 모든 환경에 배포, 모든 환경에서 확장 가능합니다. ASP/PHP 에 비해 제한 사항이 분명합니다.
(3) 확장성이 뛰어납니다. 작은 Jar 파일에서 서블릿/JSP 실행, 여러 서버의 클러스터 및 로드 밸런싱, 여러 응용 프로그램의 트랜잭션 및 메시지 처리, 한 서버에서 수많은 서버에 이르기까지 Java 는 강력한 생명력을 보여 줍니다.
(4) 다양하고 강력한 개발 도구 지원. 이것은 ASP 와 매우 비슷하다. 자바 (Java) 는 훌륭한 개발 도구를 많이 가지고 있으며, 많은 것들이 무료이며, 많은 것들이 다양한 플랫폼에서 원활하게 실행될 수 있다.
JSP 기술의 약점
(1) ASP 와 마찬가지로 Java 의 장점 중 일부는 치명적인 문제입니다. 플랫폼 간 기능과 최고의 확장성으로 인해 제품의 복잡성이 크게 증가했습니다.
(Java 의 실행 속도는 클래스 메모리 상주에 의해 수행되므로 경우에 따라 사용되는 메모리는 사용자 수에 비해 실제로 "가격 대비 성능이 가장 낮습니다." 반면에 일련의 하드 디스크 공간이 필요합니다. 자바 파일,. 클래스 파일 및 해당 버전 파일입니다.
JSP 에 대한 6 개의 내장 객체:
요청, 응답, 출력, 세션, 애플리케이션, 구성, 페이지 컨텍스트, 페이지, 예외.
첫째, 요청 대상:
이 객체는 사용자가 제출한 정보를 캡슐화하며 객체에 해당하는 메서드를 호출하여 캡슐화된 정보를 얻을 수 있습니다. 즉, 이 객체를 사용하여 사용자가 제출한 정보를 얻을 수 있습니다.
둘. 응답 대상:
고객의 요청에 동적으로 응답하고 클라이언트에 데이터를 전송합니다.
셋. 。 세션 객체
1. session 이란 무엇입니까: session 객체는 JSP 내장 객체이며 첫 번째 JSP 페이지를 로드하여 세션 관리를 완료할 때 자동으로 만들어집니다.
클라이언트가 브라우저를 열고 서버에 연결하면 세션이 시작되고 클라이언트가 브라우저를 닫고 서버를 종료하면 세션이 종료됩니다. 고객이 서버에 액세스하면 서버의 여러 페이지 간에 연결을 반복하고 한 페이지를 반복해서 새로 고칠 수 있습니다. 서버는 그것이 어느 정도 같은 고객이라는 것을 알아야 하며, 이를 위해서는 세션 개체가 필요하다.
2.session 객체의 ID: 클라이언트가 서버의 JSP 페이지에 처음 액세스할 때 JSP 엔진은 session 객체를 생성하고 String 유형의 ID 번호를 할당합니다. 동시에 JSP 엔진은 이 ID 번호를 클라이언트로 전송하고 쿠키에 저장하여 세션 객체와 클라이언트 간에 일대일 관계를 설정합니다. 고객이 서버에 연결된 다른 페이지를 다시 방문할 때 고객에게 새 세션 개체가 할당되지 않습니다. 고객이 브라우저를 닫을 때까지 서버측에서 고객의 세션 개체가 취소되지 않고 고객의 세션에 대한 대응도 사라집니다. 클라이언트가 브라우저를 다시 열고 서버에 연결하면 서버는 클라이언트에 대한 새 세션 객체를 만듭니다.
넷. 。 적용 대상
1. 애플리케이션이란 무엇입니까?
이 응용 프로그램 개체는 서버가 시작된 후에 생성됩니다. 고객이 방문한 웹 사이트의 페이지 사이를 탐색할 때 이 응용 프로그램 개체는 서버가 종료될 때까지 동일합니다. 그러나 session 과는 달리 모든 고객의 애플리케이션 대상은 동일합니다. 즉, 모든 고객 * * * 이 기본 제공 애플리케이션 객체를 즐깁니다.
2.2.application 객체에 일반적으로 사용되는 메서드:
(1) public void set attribute (string key, Object obj): Object 매개 변수로 지정된 객체 obj 를 application 객체에 추가하고 추가된 객체에 index 를 지정합니다
(2) public object getattribute (string key): application 객체에서 키워드가 있는 객체를 가져옵니다.
동사 (verb 의 약자). 외부 객체
Out 객체는 클라이언트에 데이터를 출력하는 데 사용되는 출력 스트림입니다. Out 객체는 다양한 데이터를 내보내는 데 사용됩니다.
자동사. 과자
1 .. 과자란 무엇입니까?
쿠키는 웹 서버가 사용자의 하드 디스크에 저장하는 텍스트입니다. 쿠키를 사용하면 웹 사이트에서 사용자 컴퓨터에 정보를 저장하고 나중에 검색할 수 있습니다.
예를 들어, 웹 사이트는 각 방문자에 대해 고유한 ID 를 생성한 다음 각 사용자의 시스템에 쿠키 파일로 저장할 수 있습니다.
IE 브라우저를 사용하여 네트워크에 액세스하는 경우 하드 드라이브에 저장된 모든 쿠키를 볼 수 있습니다. 가장 일반적인 저장 위치는 c:\windows\cookies (Window2000 의 경우 c: \ documents and settings \ your user name \ cookies) 입니다
쿠키는 key= value 키워드로 레코드를 저장합니다.
2. 쿠키 객체를 생성하고 쿠키 객체의 생성자를 호출하여 쿠키를 생성합니다. 쿠키 객체의 생성자에는 쿠키 이름과 쿠키 값의 두 가지 문자열 매개 변수가 있습니다.
쿠키 c = 새 쿠키 ("사용자 이름", "존");
3. JSP 에서 패키지화된 쿠키 객체를 클라이언트에 보내려면 add Cookie()response 메서드를 사용합니다.
형식: response.addCookie(c)
4. 클라이언트에 저장된 쿠키를 읽고 요청 객체의 getCookies () 메서드를 사용하여 실행 중 클라이언트의 모든 쿠키 객체를 배열로 정렬합니다. 자신의 요구에 맞는 쿠키 객체를 체크 아웃하려면 배열에 있는 각 객체의 키워드를 반복해서 비교해야 합니다.
JSP 동적 웹 사이트 개발 기술
초기의 동적 웹 개발 기술은 CGI-BIN 인터페이스를 사용했습니다. 개발자는 웹 서버를 통해 전자를 호출하는 인터페이스 및 웹 기반 응용 프로그램과 관련된 별도의 프로그램을 작성합니다. 이 개발 기술에는 심각한 확장성 문제가 있습니다. 각각의 새로운 CGI 프로그램에는 서버의 새로운 프로세스가 필요합니다. 여러 사용자가 프로그램에 동시에 액세스하는 경우 이러한 프로세스는 충돌이 발생할 때까지 웹 서버에서 사용할 수 있는 모든 리소스를 소모합니다.
이러한 단점을 극복하기 위해 Microsoft 는 플러그인과 API 를 사용하여 웹 어플리케이션 개발을 단순화하는 동적 서버 페이지 (ASP) 기술을 제안했습니다. ASP 는 CGI 보다 HTML 태그 포함, 데이터베이스에 직접 액세스, 무한히 확장된 ActiveX 컨트롤 사용 등의 장점을 가지고 있어 프로그래밍 시 유연성이 뛰어납니다. 그러나이 기술은 기본적으로 Microsoft 의 운영 체제 플랫폼으로 제한되며, 주요 작업 환경은 Microsoft 의 IIS 응용 프로그램 구조이므로 ASP 기술은 플랫폼 간 웹 서버 프로그램 개발을 쉽게 실현할 수 없습니다.
PHP 동적 웹 사이트 개발 기술인 하이퍼텍스트 프리프로세서 (Hypertext Preprocessor) 는 ASP 와 유사하며 HTML 문서에 포함된 서버측 스크립팅 언어입니다. 그 문법의 대부분은 C, Java, Perl 등의 언어와 비슷하며 자신만의 독특한 스타일을 형성했다. 웹 프로그래머는 이 언어를 사용하여 동적 웹 페이지를 빠르게 개발할 수 있습니다. PHP 는 대부분의 유닉스 플랫폼, GUN/Linux 및 Microsoft Windows 플랫폼에서 실행할 수 있습니다. PHP 의 장점은 설치가 쉽고 학습 과정이 간단하다는 것입니다. 데이터베이스 연결이 편리하고 호환성이 뛰어납니다. 확장성이 뛰어납니다. 객체 지향 프로그래밍 등을 할 수 있습니다. 그러나 PHP 에도 몇 가지 약점이 있습니다. 주로 설명 언어이기 때문입니다. 다중 스레드 구조를 지원하지 않습니다. 플랫폼 및 연결 데이터베이스는 제한되어 있습니다. 특히 지원되는 표준에 대해서는 더욱 그렇습니다. 일부 전자 상거래 애플리케이션에는 PHP 가 적합하지 않습니다.
Java Servlets 기술과 같은 기술도 있습니다. Java 언어로 대화형 서버측 코드를 쉽게 작성할 수 있습니다. Java Servlets 는 Java 기술을 기반으로 서버측에서 실행되는 프로그램입니다 (애플릿과는 달리 브라우저 측에서 실행됨). 개발자는 이러한 Java Servlets 를 작성하여 웹 브라우저에서 HTTP 요청을 수신하고, 동적으로 응답을 생성 (이러한 요청을 완료하려면 데이터베이스를 쿼리해야 할 수 있음) 한 다음 HTML 또는 XML 문서가 포함된 응답을 브라우저로 보냅니다. 이 기술은 일반 페이지 디자이너에게는 쉽게 파악할 수 없다. 이 방법을 사용하면 전체 웹 페이지를 Java Servlets 로 만들어야 합니다. 개발자나 웹 관리자가 페이지 표시를 조정하려면 Java Servlets 를 편집하고 다시 컴파일해야 합니다.
Sun Microsystems Inc 는 웹 서버, 애플리케이션 서버, 거래 시스템 및 개발 툴 공급업체의 광범위한 지원 및 협력을 통해 Java 프로그래밍 환경을 지원하는 기존 기술과 도구 (예: Java Servlets 및 JavaBeans) 를 통합 및 균형있게 조정하고 웹 기반 애플리케이션을 개발하는 새로운 방법을 만들었습니다 이 동적 웹 사이트 개발 기술은 주로 다음과 같은 특징을 가지고 있습니다.
모든 웹 또는 응용 프로그램 서버에서 실행할 수 있습니다.
응용 프로그램의 논리 및 페이지 표시를 분리하십시오.
신속하게 개발하고 테스트 할 수 있습니다.
웹 기반 대화형 애플리케이션 개발 프로세스를 간소화합니다.
JSP 기술 방법
동적 웹 사이트를 빠르고 쉽게 개발할 수 있도록 JSP 는 다음과 같은 측면에서 플랫폼 간 동적 웹 사이트를 신속하게 구축하는 데 선호되도록 개선되었습니다.
1. 컨텐츠 생성 및 표시를 분리합니다.
JSP 기술을 통해 웹 페이지 개발자는 HTML 또는 XML ID 로 최종 페이지를 디자인하고 서식을 지정할 수 있으며 JSP ID 또는 템플릿이 있는 페이지에 동적 내용을 생성할 수 있습니다 (예: 계정 정보 요청 또는 특정 와인 한 병의 가격 등 요청에 따라 내용이 변경됩니다). ). 컨텐츠를 생성하는 논리는 logo 및 JavaBeans 구성 요소에 캡슐화되어 스크립트에 번들로 제공되며 모두 서버측에서 실행됩니다. 핵심 논리는 logos 와 JavaBeans 에 캡슐화되어 있으므로 웹 관리자와 페이지 디자이너는 콘텐츠 생성에 영향을 주지 않고 JSP 페이지를 편집하고 사용할 수 있습니다.
서버측에서 JSP 엔진은 JSP 태그 및 스크립트를 해석하고 요청된 내용 (예: JavaBeans 구성 요소 액세스, 데이터베이스 액세스 또는 JDBC 기술 포함 사용) 을 생성한 다음 결과를 HTML (또는 XML) 페이지로 브라우저에 다시 보냅니다. 이를 통해 작성자는 자신의 코드를 보호할 수 있을 뿐만 아니라 HTML 기반 웹 브라우저의 완전한 가용성을 보장할 수 있습니다.
2. 재사용 가능한 구성 요소
대부분의 JSP 페이지는 재사용 가능한 크로스 플랫폼 구성 요소 (JavaBeans 또는 Enterprise JavaBeans 구성 요소) 에 의존하여 응용 프로그램에 필요한 복잡한 처리를 수행합니다. 개발자는 공통 작업을 수행하는 구성 요소를 공유 및 교환하거나 더 많은 사용자와 고객 기반에 제공할 수 있습니다. 구성 요소 기반 접근 방식을 통해 전체 개발 프로세스를 가속화하고 다양한 조직에서 기존 기술과 개발 작업의 균형을 조정하여 결과를 최적화할 수 있습니다.
로고를 채택하다
웹 개발자가 모두 스크립팅 언어에 익숙한 프로그래머는 아니다. JSP 기술은 사용하기 쉬운 JSP 관련 XML 태그에 많은 동적 컨텐츠 생성에 필요한 함수를 캡슐화합니다. 표준 JSP logo 는 JavaBeans 구성 요소를 액세스 및 인스턴스화하고, 구성 요소 등록 정보를 설정 또는 검색하고, 애플릿을 다운로드하고, 인코딩하기가 더 어렵고 시간이 많이 걸리는 기능을 수행할 수 있습니다.
4. 적응 플랫폼
거의 모든 플랫폼에서 Java 를 지원하며 JSP+JavaBeans 는 거의 모든 플랫폼을 통과할 수 있습니다. JSP 와 JavaBeans 는 한 플랫폼에서 다른 플랫폼으로 재컴파일할 필요도 없습니다. Java 바이트 코드는 플랫폼과 무관하기 때문입니다.
5. 데이터베이스 연결
JDBC 는 Java 를 사용하여 데이터베이스에 연결하는 기술입니다. Java 프로그램은 JDBC 드라이버를 통해 데이터베이스에 연결하여 데이터 쿼리 및 추출 등의 작업을 수행합니다. Sun 은 또한 자바 프로그램을 통해 ODBC 드라이버로 데이터베이스에 액세스할 수 있는 Java-ODBC 브리지를 개발했습니다. 현재 대부분의 데이터베이스 시스템에는 ODBC 드라이버가 있으므로 Java 프로그램은 Oracle, Sybase, MS SQL 서버, MS Access 등의 데이터베이스에 액세스할 수 있습니다.
또한 JSP 기술은 logo 라이브러리 개발을 통해 더욱 확장될 수 있습니다. 타사 개발자 및 기타 사용자는 자주 사용하는 함수에 대한 고유 식별 라이브러리를 만들 수 있습니다. 이를 통해 웹 개발자는 익숙한 도구와 구성 요소를 사용하여 로고와 같은 특정 기능을 수행할 수 있습니다.
JSP 기술은 다양한 응용 프로그램 아키텍처에 쉽게 통합되어 기존 도구와 기술을 활용하고 엔터프라이즈급 분산 응용 프로그램을 지원하도록 확장할 수 있습니다. JSP 기술은 Java 기술 제품군과 Java 2 (Enterprise Architecture) 의 일환으로 매우 복잡한 웹 기반 애플리케이션을 지원할 수 있습니다.
JSP 페이지의 내장 스크립팅 언어는 Java 기반이며 모든 JSP 페이지가 Java Servlets 로 컴파일되므로 JSP 페이지는 강력한 스토리지 관리 및 보안을 포함하여 Java 기술의 모든 이점을 제공합니다. JSP 는 Java 플랫폼의 일부로 Java 프로그래밍 언어인 "한 번에 쓰고 어디에서나 실행" 하는 특징을 가지고 있습니다.
JSP 응용 프로그램 모델
JSP 기술을 사용하여 동적 정보는 JSP 를 사용하는 웹 서버 또는 응용 프로그램 서버에 설치된 JSP 엔진에 의해 실행되는 JSP 페이지로 표시됩니다. JSP 엔진은 JSP 페이지에 대한 클라이언트 요청을 수락하고 클라이언트에 대한 응답으로 JSP 페이지를 생성합니다.
JSP 페이지는 일반적으로 표준 Java 확장인 Java Servlets 로 컴파일됩니다. 페이지 개발자는 모든 Java 응용 프로그램 환경에 액세스하여 Java 기술의 확장성과 이식성을 활용할 수 있습니다. JSP 페이지가 처음 호출될 때 아직 존재하지 않으면 Java Servlets 클래스로 컴파일되어 서버의 메모리에 저장됩니다. 이렇게 하면 다음에 페이지를 호출할 때 서버가 매우 빠르게 응답할 수 있습니다 (CGI-BIN 이 각 HTTP 요청에 대해 새 프로세스를 생성하는 문제 방지).
JSP 페이지는 다양한 응용 프로그램 스키마나 모델에 포함될 수 있으며 다양한 프로토콜, 구성 요소 및 형식으로 구성된 컨소시엄에서 사용할 수 있습니다. JSP 기반 동적 정보 게시 기술은 개방적이고 확장 가능한 동적 웹 페이지 구축 표준입니다. 어떤 작성 도구를 사용하든 개발자는 JSP 페이지를 사용하여 다른 웹 응용 프로그램 서버에서 실행되는 휴대용 웹 응용 프로그램을 만들 수 있습니다.