Microsoft가 ASP (ActiveServerPage)를 출시 한 후 강력한 기능과 쉬운 -Learn을 가진 대다수의 사람들에게 사랑을받습니다. 그러나 Microsoft 제품의 일반적인 문제가 있으며 Windows 플랫폼에서만 사용할 수 있지만 Linux에서만 사용할 수 있지만 가장 강력한 DCOM 제어는 사용할 수 없습니다. Java의 기초에 따라 Sun Company가 개발 한 JSP (Java ServerPages)는 역동적 인 페이지와 정적 페이지의 분리, 하드웨어 플랫폼의 구속과 분리되어 있으며 포스트 컴파일 작업은 실행 효율성을 크게 향상 시켰으며 점차적으로 인터넷. 주류 도구. ASP를 적용하는 대부분의 프로그래머를 사용하기 위해 JSP를 신속하게 배울 수 있습니다. 유사성과 유사성은 다음과 같습니다.
1. 구조
JSP와 ASP는 "<%"및 "%>"를 사용하여 마크 사이의 코드 ASP가 JavaScript 및 JSP가 Java 코드라는 것입니다. JSP는 웹 페이지의 표현식 형태를 서버 측의 코드 로직과 분리합니다. 서버 프로세스의 JSP 페이지로서 먼저 서렛 (서버 -사이드 Java 프로그램)으로 변환되었습니다.
Servlet은 HTTP 프로토콜의 요청 및 응답을 지원합니다. JSP가 순수한 Java 코드로 변환 될 때. 여러 사용자가 동시에 JSP 페이지를 요청하면 인스턴스형 스레드를 적용하여 요청에 응답하십시오. 이러한 스레드는 ASP 스레드 관리자 기능과 유사한 웹 서버 프로세스에 의해 관리됩니다. 프로세스를 작성하려는 각 요청에 대한 CGI와 비교 하여이 방법은 훨씬 더 효율적입니다.
2. 성능과 플랫폼 관련이 없습니다
C ++, VB와 같은 언어와 비교할 때 Java는 덜 효율적인 언어로 간주되지만 플랫폼의 효율성과 관련이 없습니다. Java의 컴파일 코드는 바이트 코드로 운영 체제의 JVM (Java VirtualMachine) 가상 머신에 의해 설명됩니다.
바이트 코드는 변경없이 모든 플랫폼에서 마이그레이션 할 수 있습니다. 크로스 -플랫폼 프로그래밍은 특히 그래픽 인터페이스를 사용할 때 모든 운영 체제의 "최소 센터"를 채택하는 경향이 있습니다 (서블릿에는 그래픽 인터페이스가 필요하지 않음).
서블릿은 서버에서 실행 중이며 무거운 GUI (HTML의 GUI가 거의 없음)를로드 할 필요가 없기 때문에 기존 Java 프로그램 (애플릿, JavaApp)보다 빠릅니다. 또한 서비스의 바이트 코드는 고객의 요청이 수행 될 때만 실행되므로 서비스를 처음 호출 할 때 몇 초의로드 시간이 있지만 서버가 매우 빠르기 때문에 서버가 매우 빠릅니다. 달리는 서블릿을 캐시했습니다.
현재 JSP 서버에는 JIT (Java Instant Compiler)가 있으므로 JSP의 실행은 실행 실행을 설명 할 때마다, 특히 코드에 사이클 작업이있을 때 JSP의 속도가 더 빠릅니다. 1 1 1 1 1 1 1 1은 빠르며 빠르게 1 1 1 1 1 1 1 더 빠릅니다 1 1 1 1 1 1 1은 더 빠릅니다 1 1 1. ~ 2 수량.
3. 세션 관리
사용자의 작동 상태를 추적하기 위해 ASP 응용 프로그램 세션 객체. JSP는 httpsession이라는 객체를 사용하여 동일한 함수를 달성합니다. 세션 정보는 서버에 저장되며 세션의 ID는 클라이언트 쿠키에 저장됩니다. 클라이언트가 쿠키를 금지하는 경우 세션 ID는 URL 뒤에 가져와야합니다.
세션은 일반적으로 서버에서 30 분 만료 시간을 설정하고 고객이 활동을 중지 한 후 자동으로 실패합니다. 세션에서 저장 및 검색된 정보는 int, double 등과 같은 기본 데이터 유형이 될 수는 없지만 Java의 해당 객체 (객체) 여야합니다.
4. 응용 프로그램 관리
때로는 서버가 전체 애플리케이션에 직면 한 매개 변수를 관리하여 각 고객이 동일한 매개 변수 값을 얻을 수 있도록해야합니다. ASP와 마찬가지로 ASP는 응용 프로그램 객체를 사용하고 JSP는 ServiceContext 객체를 사용하며 작업 방법은 세션과 동일합니다.
5. serversideInincludes
ASP와 JSP는 서버에서 동일합니다. ASP 및 JSP는이 기능을 지원하여 가상 파일을 구현하는 서버 (IIS, APACHE)를 지원할 수 있습니다. 그러나 JSP는 파일 자체가 포함 된 코드 자체가 아니라 동적 페이지의 결과에 포함되어 있습니다. 포함 된 파일이 다른 서버에 있으면 코드와 객체가없는 매우 효과적인 기능입니다.
6. Java 구성 요소 : Javabeans
Javabeans는 미리 정해진 기능을 완료하는 일부 포장의 객체 데이터입니다. Javabeans 및 JSP는 다음과 같이 COM 및 ASP와 비교됩니다.
COM 객체는 종종 비즈니스 로직을 캡슐화하고 ASP 페이지에 대한 완전한 고강도 계산에 사용됩니다. 재사용 가능한 구성 요소는 해석 된 스크립팅 언어 (vbscript, jscript)가 아닌 컴파일 언어 (c ++, vb)로 구성되기 때문에 재사용 가능한 구성 요소는 페이지를 간단하고 빠르게 만듭니다.
Javabeans는 Java 언어로만 개발 될 수 있으며 Com은 표준 객체 모델을 충족하는 모든 언어 (Visual J ++ 포함)에 의해 개발 될 수 있습니다. 반면에 Javabeans는 개발하기가 더 쉽습니다. Java를 마스터하면 Javabeans의 구조를 이해하기가 매우 쉽기 때문입니다. COM의 복잡성으로 인해 C ++ 및 VB의 기초가있는 경우 마스터에 대한 많은 학습과 교육이 필요합니다. 추가 노력이 필요합니다.
COM 구성 요소는 기존 구성 요소를 수정하려면 서버를 다시 시작해야합니다. Javabeans는 개발자가 서버에 완전히 액세스 할 필요가 없다면 큰 이점입니다. 비 비영리 직원이 라이브러리를 사용하여 동적 웹 사이트를 개발할 수있는 완전한 Javabeans 라이브러리를 만들 수 있습니다.
Bean은 서버 측에서 데이터베이스 연결을 관리 할 수 있습니다.
Javabeans는 구조 객체 모델을 준수합니다. 각 Bean은 매개 변수 매개 변수가없는 생성자가있는 생성자에 의해 설정됩니다. Bean의 Built -in 속성을 설정하려면 속성 이름이있는 SetProperty 태그를 사용해야합니다. 속성을 설정할 수 있으면 Bean은 setxxxx 메소드가 필요하고 xxxx는 실제 속성 이름으로 대체합니다.
7. JSP 및 데이터베이스
ASP는 ODBC를 사용하여 ADO를 통해 데이터베이스에 연결하고 Java는 JDBC 기술이라는 데이터베이스를 연결합니다. 대상 데이터베이스에는 데이터베이스 및 Java에 대한 JDBC 드라이버 앤 변명이 필요하므로 Java는 표준 방식으로 데이터베이스에 액세스 할 수 있습니다. JDBC는 서버의 데이터 소스를 사용하지 않습니다. JDBC 드라이버가있는 한 Java는 데이터베이스에 액세스 할 수 있습니다. 특정 데이터베이스에 JDBC 드라이버가 없지만 ODBC 드라이버 만있는 경우 Java는 JDBC 호출을 ODBC 통화로 변환하기 위해 JDBC-ODBC 브리지를 제공합니다. 모든 Java 컴파일러에는 무료 JDBC-ODBC 브리지가 있습니다. 이론적으로 브리지는 모든 일반적인 데이터베이스 제품에 액세스 할 수 있습니다.
결론적으로 :
JSP 모델은 ASP 이후에 정의됩니다. 동시에 JSP는 비효율적 인 스크립팅 언어가 아닌 유연하고 강력한 Java 언어를 사용합니다. ASP 개발자는 Windows 플랫폼을 기반으로 기술 만 사용할 수 있으며 Java 및 JSP는 크로스 플랫폼입니다.