웹 개발자에게 필요한 주요 기술은 다음 기술입니다.
웹 애플리케이션 개발 기술은 더욱 성숙해지고 복잡해졌습니다. 이제 웹 애플리케이션을 구축하려면 단순한 HTML 기술 이상의 것이 필요합니다. 데이터베이스 액세스, 스크립팅 언어 및 관리는 모두 웹 프로그래머에게 필요한 기술입니다. 시장에서 인기 있는 웹 개발자가 되기 위해서는 어떤 역량이 필요한지 살펴보겠습니다.
제네바 근처의 고에너지 물리학 연구 센터인 CERN(유럽 입자 물리학 연구소)이 1991년 웹을 출시한 이후 웹 기술은 정적 콘텐츠와 CGI(Common Gateway Interface)에서 서블릿 기술과 JavaServer Pages로 발전했습니다. 그러나 경쟁이 치열한 사회에서 웹 프로그래머에게는 더 많은 지식이 필요합니다. 예를 들어, 인터뷰에서 XML에 익숙하고 JNDI(언뜻 보기에는 웹 프로그래밍과 밀접하게 관련되지 않은 것처럼 보일 수 있는 두 가지 기술)에 대한 경험이 있다고 언급했다면 미래의 상사에게 더 깊은 인상을 남길 것입니다. 인상. Java 프로그래밍 언어와 객체 지향 프로그래밍에 대해 이미 알고 있다고 가정하면 웹 개발자가 일상 작업에 필요한 두 가지 기술 세트는 다음과 같습니다. 첫 번째 그룹에는 모든 웹 프로그래머가 보유해야 하는 기술이 포함됩니다. 두 번째 그룹에는 고급 프로그래머가 되기 위해 마스터해야 하는 기술이 포함되어 있습니다.
기본 기술 자신을 웹 개발자라고 부르고 싶다면 반드시 갖추어야 할 기술은 다음과 같습니다.
HTML(하이퍼텍스트 마크업 언어)
HTML은 브라우저에 표시되는 거의 모든 것에 대한 언어입니다. HTML이 웹 프로그래머의 생존 본능과 같은 것은 당연합니다. 여전히 HTML에서 <tr> 또는 <b>를 찾아야 한다면 HTML 기술을 향상시켜야 합니다. HTML의 현재 버전은 4.01이며 http://www.w3.org/TR/1999/REC-html401-19991224/ 에서 자세한 내용을 확인할 수 있습니다.
서블릿과 JSP
Java 서블릿 기술은 Java 웹 애플리케이션을 개발하기 위한 주요 기술입니다. 1996년 썬 마이크로시스템즈에서 개발했으며 현재 버전은 2.3이지만 2.4 버전을 준비하는 사람들도 있다.
JSP는 서블릿 기술의 확장으로 현재 버전은 1.2입니다(버전 2.0은 곧 완성될 예정입니다). 어떤 사람들은 JSP가 서블릿을 대체한다고 생각하지만 사실은 그렇지 않습니다. 복잡한 웹 애플리케이션에는 서블릿과 JSP가 함께 사용됩니다.
Java로 웹 프로그래밍을 시작하는 가장 좋은 방법은 서블릿 기술을 배우는 것입니다. 웹 애플리케이션에서 JSP 페이지만 사용하려는 경우에도 여전히 서블릿 기술을 배워야 합니다. 보다 복잡한 웹 애플리케이션에서는 JSP 페이지가 표시용으로만 사용되는 반면 JavaBeans 및 사용자 정의 태그 라이브러리는 비즈니스 로직을 포함하는 데 사용됩니다. 즉, JavaBeans 및 사용자 정의 태그 라이브러리에도 능숙해야 합니다.
자바스크립트
JavaScript는 모든 주요 브라우저에서 실행되는 스크립팅 언어입니다. 클라이언트 측 프로그래밍에는 JavaScript를 사용합니다. 클라이언트 측 프로그래밍에서 가장 중요한 작업은 사용자 입력의 유효성을 검사하는 것입니다. 클라이언트 측 입력 유효성 검사를 사용하면 서버 작업 부하가 줄어들고 응답 시간이 향상된다는 이점이 있습니다. 또한 JavaScript는 리디렉션, 쿠키 처리, 애플릿 제어, 탐색 트리 생성, 브라우저의 새 인스턴스 열기 등에 사용될 수 있습니다.
SQL(구조적 쿼리 언어) 및 JDBC(Java 데이터베이스 연결)
오늘날 대부분의 웹 애플리케이션에는 관계형 데이터베이스의 데이터에 액세스하는 기능이 포함되어 있습니다. 웹 프로그래머는 데이터베이스에서 데이터를 저장, 검색 및 조작하는 방법을 알아야 합니다. 때로는 데이터베이스를 디자인하고 데이터베이스에 테이블과 기타 구조를 구축해야 하는 경우도 있습니다. SQL은 데이터베이스의 데이터를 조작하는 데 사용되는 언어입니다. 일반적으로 SQL 문을 작성하고(종종 동적으로) 이를 데이터베이스 서버에 전달한 다음 데이터를 다시 가져와야 합니다(있는 경우).
Java 언어를 사용하려면 JDBC를 사용하여 웹 애플리케이션이 데이터베이스 서버와 통신할 수 있도록 해야 합니다. JDBC는 JDBC 핵심 API(응용 프로그래밍 인터페이스)와 JDBC 선택적 패키지 API의 두 부분으로 구성됩니다. 첫 번째 그룹은 연결 만들기, 테이블의 레코드 읽기, 업데이트 및 삭제와 같은 기본 데이터 작업을 수행하는 데 사용됩니다. 두 번째 그룹은 연결 풀링, 트랜잭션 및 RowSet과 같은 고급 데이터베이스 연결 기능을 제공합니다. 현재 JDBC 버전은 3.0이고 API는 J2SE v. 1.4에 포함되어 있습니다.
웹 컨테이너 관리 및 애플리케이션 배포 서블릿과 JSP 페이지는 서블릿/JSP 컨테이너 또는 웹 컨테이너라는 엔진에서 실행됩니다. 최소한 테스트 및 프로덕션 실행을 위해 웹 리소스를 배포하는 방법을 알아야 합니다. 예를 들어 Tomcat을 사용하는 경우 Tomcat이 JSP 페이지를 호출하는 방법을 알 수 있도록 구성 파일(server.xml)에서 애플리케이션을 매핑하는 방법을 알아야 합니다. 또한 라이브러리를 저장할 위치와 애플리케이션 배포 설명자를 만드는 방법을 알아야 합니다.
XML(확장 가능 마크업 언어)
XML은 컴퓨터 분야에서 성공적인 떠오르는 별입니다. 1996년 월드 와이드 웹 컨소시엄(World Wide Web Consortium)에 의해 개발된 XML은 이제 데이터 교환 및 확장 가능한 데이터 구조에 대한 표준으로 널리 인정받고 있습니다. XML은 Java 웹 개발에서 중요한 역할을 합니다. 예를 들어, 각 애플리케이션의 배포 설명자는 XML 형식입니다. 게다가 웹 서비스를 개발한다면 주로 HTTP와 XML을 기반으로 하는 SOAP(Simple Object Access Protocol)을 사용하게 될 것입니다.
또한 웹 응용 프로그램에서는 XML을 사용하여 계층적 데이터를 저장할 수도 있습니다.
모델 2 아키텍처는 해당 카테고리에서 가장 앞선 기술입니다. 이 구조는 상당히 복잡한 Java 웹 애플리케이션을 구축하는 데 권장됩니다. 모델 2 구조는 모델-뷰-컨트롤러 설계 패러다임을 기반으로 합니다.
고급 기술 다음 기술은 초보자와 구별됩니다.
JSTL(JSP Standard Tag Libraries), Jakarta Taglibs 프로젝트 및 기타 라이브러리 애플리케이션 개발 속도를 높이려면 코드를 자주 재사용해야 합니다. 간단히 말해서, 코드 재사용은 누군가가 이미 특정 기능을 수행하는 코드를 작성한 경우 직접 작성하는 것보다 해당 코드를 사용하는 것이 더 낫다는 것을 의미합니다. 따라서 JSP에서는 사용자 정의 태그를 사용할 수 있습니다. 사용할 수 있는 라이브러리가 여러 개 있는데, 가장 널리 사용되는 라이브러리는 Apache의 Jakarta Taglibs 프로젝트에 있는 라이브러리입니다. 이 패키지는 http://jakarta.apache.org/taglibs/index.html 에서 다운로드할 수 있으며 새 클래스 생성을 시작하기 전에 이 패키지에 이미 있는 모든 것을 사용할 수 있습니다.
JSTL은 최근 표준이 되었습니다. 다른 태그 라이브러리는 무료 또는 상업적으로 사용할 수 있습니다.
아파치 스트럿츠 프로젝트
Struts는 Model 2 Java 웹 애플리케이션 구축을 위한 프레임워크를 제공하는 Apache 후원 공개 자원 프로젝트입니다. Struts는 MVC 구조를 위한 자체 Controller 구성 요소를 제공하고 모델에는 EJB, JDBC 및 JNDI를 사용하며 View에는 JSP 및 기타 기술을 사용합니다. 이 프로젝트에 대한 자세한 정보는 해당 웹사이트( http://jakarta.apache.org/struts/index.html )에서 확인할 수 있습니다.
XHTML(확장 가능한 하이퍼텍스트 마크업 언어)
XHTML은 HTML과 XML을 결합하려는 기술입니다. XHTML은 차세대 HTML로 생각할 수 있습니다. 현재 버전은 1.0입니다(두 번째 버전은 2002년 8월 1일에 출시되었습니다). XHTML은 HTML만큼 대중적이지는 않지만 앞으로는 더 중요한 역할을 할 것입니다. 웹 디자인 전문가인 Molly Holzschlag에 따르면 기업이 XHTML로 전환하게 된 주된 이유는 공개 액세스(접근성)에 관한 미국 법률 때문입니다. XHTML에 대한 자세한 내용은 Holzschlag의 인터뷰를 참조하세요.
DHTML(동적 HTML)
DHTML을 사용하면 사람들이 웹 사이트에서 더 많은 상호 작용을 할 수 있습니다. 예를 들어 DHTML을 사용하면 사용자가 링크 위로 마우스를 이동할 때 하위 메뉴를 쉽게 만들고 표시할 수 있습니다. DHTML 사용 시 가장 큰 과제는 크로스 브라우저 페이지를 만드는 것입니다. 실제로 이론적으로 페이지 디자인은 도구를 사용하여 동적 HTML이 생성되는 아티스트가 처리해야 합니다. 하지만 일반적으로 웹 프로그래머는 모든 부분을 통합하는 역할을 담당하며, 페이지에서 생성된 코드가 깨졌을 경우 이를 수정하려면 DHTML을 이해해야 합니다.
애플릿 프로그래밍
애플릿은 특히 DHTML이 출현하기 전에는 대화형 기능을 제공하는 데 중요했습니다. 이제 애플릿의 역할은 줄어들었고, 더 이상 애플릿을 사용하지 않는 프로그래머들이 늘어나고 있습니다. 새로운 브라우저에서 애플릿에 대한 기본 지원을 제공하지 않기로 한 Microsoft의 결정은 웹 응용 프로그램에서 애플릿의 역할을 크게 줄였습니다. 그러나 애플릿은 죽지 않았습니다. 뉴스 헤드라인 표시와 같은 특정 작업의 경우 애플릿은 여전히 대체 불가능하며 브라우저 간 호환성 문제를 일으키지 않습니다.
HTTP 프로토콜
Java 웹 프로그래머는 서블릿 및 JSP API 사용과 같이 HTTP보다 더 높은 프로토콜을 사용하는 경우가 많습니다. 이러한 API는 HTTP 프로토콜의 복잡성을 숨깁니다. 따라서 HTTP 프로토콜에 대해 많이 알지 못해도 중요한 애플리케이션을 구축할 수 있습니다. 파일을 첨부 파일로 업로드하거나 전송하는 등 원시 데이터를 처리해야 하는 경우에만 프로토콜에 대한 추가 지식이 필요합니다.
EJB(엔터프라이즈 JavaBeans)
EJB는 J2EE의 일부이며 확장성과 성능이 웹 애플리케이션의 주요 요구 사항일 때 중요합니다. 현재 사양(EJB 2.0)에는 세션 EJB, 엔터티 EJB 및 메시지 구동 EJB의 세 가지 유형의 EJB가 있습니다. 새로운 사양인 버전 2.1이 설계 중입니다.
JNDI(Java 이름 지정 및 디렉토리 인터페이스)
EJB에 대한 액세스는 JNDI 이름 지정 서비스를 통해 수행되므로 엔터프라이즈 Bean을 개발할 때 JNDI가 중요합니다. 특정 이름과 연관된 객체를 찾으려면 이름 지정 서비스를 사용하십시오. EJB 컨텍스트에서 이름 지정 서비스는 Bean의 이름이 지정된 Enterprise Bean을 찾습니다. 따라서 EJB 애플리케이션을 개발하려면 JNDI를 이해하는 것이 중요합니다. 또한 JDBC는 JNDI를 사용하여 관계형 데이터베이스에 액세스할 수 있습니다.
기타 도구 특정 지원 도구를 찾을 수 있는 곳을 알면 경력을 쌓는 데 도움이 될 수 있습니다. 예를 들어, 벤치마킹 작업을 수행하도록 배정받은 경우 Apache의 Jakarta 프로젝트에서 Jmeter를 다운로드할 수 있다는 사실을 알게 되면 기뻐할 것입니다. 또한 출력 결과를 PDF 형식으로 보내야 하는 경우 http://www.lowagie.com/iText/ 에서 무료로 다운로드할 수 있는 Java-PDF 라이브러리를 사용하는 것이 좋습니다. 인터넷 기술은 광범위하고 빠르게 발전하고 있습니다. 이는 웹 프로그래머로서 업계에 어떤 새로운 기술이 등장하고 어떤 주요 사건이 일어나고 있는지 항상 주의를 기울여야 한다는 것을 의미합니다. 이와 관련하여 인터넷 자체보다 더 큰 자원은 없습니다.
저자 소개:
웹용 자바
서블릿, JSP, EJB 포함
Budi Kurniawan은 인터넷 및 객체 지향 프로그래밍을 전문으로 하고 Java 및 Microsoft 기술을 가르치는 IT 컨설턴트입니다. 그는 베스트셀러인 Java for the Web with Servlets, JSP, and EJB: a Developer's Guide to Scalable Solutions(New Riders)의 저자이며 BrainySoftware com got에서 다운로드할 수 있는 가장 인기 있는 Java Upload Bean을 개발했습니다. 많은 중요한 회사들이 라이센스를 부여하고 프로젝트에 사용했습니다. Budi는 [email protected] 으로 연락할 수 있습니다.