Java Web Development에 참여한 기간 동안 Java 객체 지향적 사고 및 MVC 개발 모델에 익숙해졌습니다. 내가 현재 관여하는 프레임 워크는 Spring, SpringMVC, Hibernate입니다. 아래에서 wulin.com의 편집자는 Javaweb 관련 지식을 배우는 데 도움이되는 튜토리얼을 작성합니다. 관심있는 친구들이 그것을 언급 할 수 있습니다.
1. 기본 개념
1.1. 웹 개발에 대한 관련 지식
Web, English, Web은 웹 페이지의 의미를 의미하며 외부 액세스를 위해 인터넷 호스트의 리소스를 나타내는 데 사용됩니다.
인터넷에서 외부 액세스를위한 웹 리소스는 다음과 같이 나뉩니다.
1. 정적 웹 리소스 (예 : HTML 페이지) : 사람들이 탐색 할 수있는 웹 페이지의 데이터를 나타냅니다.
2. Dynamic Web Resources : 사람들이 검색 할 수 있도록 웹 페이지의 데이터를 말하면 프로그램에 의해 생성되며, 다른 시점에서 웹 페이지에 액세스 할 때 표시되는 컨텐츠는 다릅니다.
정적 웹 리소스 개발 기술 : HTML
일반적으로 사용되는 동적 웹 리소스 개발 기술 : JSP/Servlet, ASP, PHP 등
Java에서는 Dynamic Web Resource Development 기술을 종합적으로 Javaweb라고합니다.
1.2. 웹 응용 프로그램
웹 응용 프로그램은 일반적으로 웹 응용 프로그램이라고하는 브라우저 액세스 프로그램을 말합니다. 예를 들어, A.HTML, B.HTML .....와 같은 여러 웹 리소스가 있으며 이러한 여러 웹 리소스는 외부 세계에 서비스를 제공하는 데 사용됩니다. 현재이 여러 웹 리소스는 웹 애플리케이션 (또는 웹 응용 프로그램)을 형성하기 위해 디렉토리에 배치해야합니다.
웹 응용 프로그램은 HTML, CSS, JS 파일, JS 파일, Java 프로그램, 지원 JAR 패키지, 구성 파일 등과 같은 여러 정적 웹 리소스 및 동적 웹 리소스로 구성됩니다.
웹 애플리케이션이 개발 된 후 외부 세계에 액세스하려면 웹 응용 프로그램이 웹 서버에있는 디렉토리를 관리하기 위해 디렉토리를 넘겨야합니다. 이 프로세스를 가상 디렉토리 매핑이라고합니다.
1.3. 웹 개발의 역사
웹 개발의 두 단계 : 정적 및 동적
1.4. 정적 웹
*HTM 및 *HTML은 웹 페이지의 접미사입니다. 이러한 내용이 현재 서버에서 직접 읽히면 웹 페이지의 내용이 웹 서버를 통해 사용자에게 제공됩니다. 전체 정적 웹 작업의 프로세스 다이어그램은 다음과 같습니다.
정적 웹 프로그램에서 클라이언트는 웹 브라우저 (예 : Firefox 등)를 사용하여 네트워크 (네트워크)를 통해 서버에 연결하고 HTTP 프로토콜을 사용하여 요청 (요청)을 시작하고 지금 가져와야하는 페이지를 알려주고 웹 서버에 모든 요청을 전달합니다. 그런 다음 웹 서버는 사용자의 요구에 따라 파일 시스템 (모든 정적 페이지를 저장하는 디스크)에서 컨텐츠를 가져옵니다. 그런 다음 웹 서버를 통해 클라이언트로 반환됩니다. 클라이언트가 컨텐츠를 수신 한 후에는 브라우저가 렌더링하고 구문 분석하여 표시된 효과를 얻습니다.
정적 웹에는 몇 가지 단점이 있습니다.
1. 웹 페이지의 내용을 동적으로 업데이트 할 수 없으며 모든 사용자가 항상 보는 콘텐츠와 최종 효과는 동일합니다.
정적 웹 디스플레이를보다 아름답게 만들기 위해 JavaScript를 추가하여 페이지에 디스플레이 효과를 완료 할 수 있지만 이러한 효과는 브라우저를 통해 클라이언트의 사용자에게 표시되므로 서버 자체에 변경 사항이 없습니다.
정적 웹 클라이언트의 동적 효과를 실현하는 수단 :
• JavaScript
• vbscript
JavaScript는 실제 개발에서 가장 많이 사용됩니다.
2. 정적 웹은 데이터베이스에 연결할 수 없으며 사용자와의 상호 작용을 달성 할 수 없습니다.
데이터베이스를 사용하여 데이터를 저장하는 것은 대부분의 시스템을 선택하는 것입니다. 데이터베이스에서 데이터를 쉽게 관리 할 수 있으며 표준 SQL 문을 사용하여 추가, 삭제, 수정 및 검색 작업을 완료 할 수 있기 때문입니다.
1.5. 동적 웹
소위 다이나믹이 페이지가 이동한다는 의미는 아닙니다. 주요 특징은 "웹 변경의 페이지 표시 효과"이며 동적 웹은 대화식이며 웹 페이지의 내용을 동적으로 업데이트 할 수 있습니다. 전체 동적 웹 작업의 프로세스 다이어그램은 다음과 같습니다.
동적 웹 에서이 프로그램은 여전히 클라이언트와 서버를 사용하며 클라이언트는 여전히 브라우저 (예 : Firefox 등)를 사용하고 네트워크 (네트워크)를 통해 서버에 연결하고 HTTP 프로토콜을 사용하여 요청 (요청)을 시작합니다. 모든 요청은 먼저 웹 서버 플러그인 (서버 플러그인)으로 처리됩니다. 이 플러그인은 요청이 정적 리소스 ( *.htm 또는 *.htm)인지 또는 동적 리소스인지를 구별하는 데 사용됩니다.
웹 서버 플러그인에서 클라이언트가 정적 리소스 ( *.htm 또는 *.htm)를 요청하는 경우 웹 서버에 대한 요청을 직접 전달 한 다음 웹 서버가 파일 시스템에서 컨텐츠를 가져 와서 구문 분석 및 실행을 위해 클라이언트 브라우저로 다시 보냅니다.
웹 서버 플러그인이 클라이언트가 동적 리소스 ( *.jsp, *.asp/ *. aspx, *.php)를 요청하는 경우 먼저 웹 컨테이너 (웹 컨테이너)에 요청을 전달하고 웹 컨테이너의 데이터베이스를 연결하고 데이터베이스에서 데이터를 가져 와서 페이지의 표시 내용을 동적으로 조각합니다. 페이지의 디스플레이 컨텐츠를 함께 조각 한 후 모든 디스플레이 컨텐츠가 웹 서버로 전달 된 다음 웹 서버를 통해 구문 분석 및 실행을 위해 컨텐츠를 클라이언트 브라우저로 다시 보냅니다.
1.6. 동적 웹 응용 프로그램 구현 방법
현재 동적 웹을 구현하는 방법에는 여러 가지가 있으며 가장 일반적인 웹은 다음과 같습니다.
• Microsoft ASP, ASP.NET
• PHP
• Java Servlet/JSP
1. Microsoft ASP, ASP.NET
Microsoft의 역동적 인 웹 개발은 상대적으로 초기였으며, 미국의 첫 번째 웹 개발은 ASP였습니다. ASP는 HTML 언어에 VB 스크립트를 추가하지만 표준 개발 응용 프로그램은 ASP+COM을 사용해야합니다. 그러나 실제로 ASP를 개발할 때 기본적으로 수백 개의 코드가 한 페이지에 작성되며 페이지 코드는 매우 혼란 스럽습니다.
ASP 자체는 개발 플랫폼에 제한 사항이 있습니다 : Windows+IIS+SQL Server/Access. ASP는 Windows 운영 체제에서만 실행할 수 있습니다. ASP는 기본적으로 이제 제거되었습니다. 이제 기본적으로 ASP.NET을 사용하여 개발되었습니다. ASP.NET은 성능을 크게 향상 시켰으며 빠르게 발전하고 있지만 여전히 플랫폼에 의해 제한됩니다. C# 언어는 주로 ASP.NET에서 사용됩니다.
2.PHP
PHP는 매우 빠르게 개발되었으며 강력한 기능을 가지고 있으며 크로스 플랫폼 (플랫폼은 실행되는 운영 체제를 나타냅니다). 코드도 간단합니다.
3. 세부자/JSP
이것은 Sun에 의해 홍보 된 B/S 아키텍처의 구현 언어입니다 (Sun은 이제 Oracle에 의해 인수되었습니다). Java 언어는 간단하고 매우 깨끗하기 때문에 Java 언어를 기반으로 개발되었습니다.
서블릿/JSP 기술의 성능도 매우 높습니다. 플랫폼에 의해 제한되지 않으며 기본적으로 모든 플랫폼에서 사용할 수 있습니다. 또한 작동 중에 멀티 스레딩 처리 방법을 사용하므로 성능이 매우 높습니다.
Sun의 초기 웹 기술이 시작된 것은 서블릿 프로그램이었습니다. 서블릿 프로그램 자체를 사용할 때 몇 가지 문제가있었습니다. 모든 프로그램은 Java Code + HTML로 작성되었습니다. 즉 Java 출력 문을 사용하여 모든 HTML 코드를 라인별로 출력합니다. 그 후 Sun은 ASP에서 영감을 얻었고 JSP (Java Server Page)를 개발했습니다. 일부 JSP 코드의 작문 효과는 ASP의 작문 효과와 매우 유사합니다. 이를 통해 일부 ASP 프로그래머는 JSP 학습으로 전환하고 시장 경쟁력을 높일 수 있습니다.
2. 웹 서버
2.1. 웹 서버 소개
1. 웹 서버는 인터넷의 일부 유형의 컴퓨터에있는 프로그램을 말하며 요청을 만드는 브라우저에 문서를 제공 할 수있는 프로그램입니다. 웹 브라우저 (클라이언트)가 서버에 연결하고 파일을 요청하면 서버는 요청을 처리하고 파일을 브라우저로 다시 공급하며, 함께 제공되는 정보는 브라우저에 파일을 보는 방법 (예 : 파일 유형)을 알려줍니다.
2. 서버는 수동 프로그램입니다. 서버는 인터넷에서 요청을 보내는 브라우저가 실행되는 브라우저가 응답합니다.
2.2. 공통 웹 서버 소개
1. Weblogic
Weblogic은 American BEA Company가 제작 한 응용 프로그램 서버입니다. Bea Weblogic은 대규모 분산 웹 애플리케이션, 네트워크 응용 프로그램 및 데이터베이스 응용 프로그램을 개발, 통합, 배포 및 관리하기위한 Java 응용 프로그램 서버입니다. 대규모 네트워크 응용 프로그램의 개발, 통합, 배포 및 관리에 Java의 동적 기능과 Java Enterprise 표준의 보안을 소개합니다. 현재 가장 널리 사용되는 웹 서버이며 J2EE 사양을 지원하며 새로운 개발 요구 사항에 맞게 지속적으로 개선됩니다. 시작 인터페이스가 그림에 표시됩니다
2. WebSphere
WebSphere Application Server는 IBM의 전자 상거래 요금제의 핵심 부분 인 완전 작동하는 개방형 웹 애플리케이션 서버입니다. 인터넷 및 인트라넷 웹 애플리케이션을 구축, 배포 및 관리하기위한 Java 기반 애플리케이션 환경입니다. 이 완전한 제품 세트는 단순한 것에서 고급에서 엔터프라이즈 수준에 이르기까지 웹 애플리케이션 서버의 요구를 충족시키기 위해 확장되었습니다. 시작 인터페이스는 그림에 표시됩니다.
3. Tomcat
Tomcattomcat은 Java EE 표준을 구현하는 최소한의 웹 서버이며 Apache, Sun 및 기타 회사 및 개인이 개발 한 Apache Software Foundation의 Jakarta 프로젝트의 핵심 프로젝트입니다. Tomcat은 고급 기술, 안정적인 성능을 보유하고 있으며 오픈 소스가 없기 때문에 Java 애호가들에게 깊이 사랑 받고 있으며 일부 소프트웨어 개발자에 의해 인정 받았으며 현재 인기있는 웹 애플리케이션 서버가되었습니다. Javaweb 개발 학습은 일반적으로 모든 JSP 및 서블릿 사양을 지원하는 Tomcat Server를 사용합니다. 시작 인터페이스는 그림에 표시됩니다.
4. iis
Microsoft의 웹 서버 제품은 인터넷 정보 서비스 (IIS)로, 공개 인트라넷 또는 인터넷에 정보를 게시 할 수있는 웹 서버입니다. ⅱS는 현재 가장 인기있는 웹 서버 제품 중 하나이며 많은 유명한 웹 사이트가 ⅱS 플랫폼을 기반으로 구축되었습니다. IIS는 인터넷 정보 서비스 관리자라는 그래픽 인터페이스 관리 도구를 제공하며, 이는 구성 및 인터넷 서비스 제어에 사용할 수 있습니다.
IIS는 웹 브라우징, 파일 전송, 뉴스 서비스 및 이메일 전송에 각각 웹 서버, FTP 서버, NNTP 서버 및 SMTP 서버를 포함한 웹 서비스 구성 요소입니다. 네트워크 (인터넷 및 지역 지역 네트워크 포함)에 정보를 쉽게 게시 할 수 있습니다. 웹 서버의 기능을 확장하기위한 프로그래밍 인터페이스로서 ISAPI (Intranet Server API)를 제공합니다. 동시에 인터넷 데이터베이스 커넥터도 제공하여 쿼리를 활성화하고 데이터베이스를 업데이트 할 수 있습니다.
웹 개발을 배우려면 먼저 웹 서버를 설치 한 다음 사용자가 브라우저를 사용하여 액세스 할 수 있도록 웹 서버에서 해당 웹 리소스를 개발해야합니다.
3. Javaweb 응용 프로그램 개발 환경 구축 -Tomcat Server
3.1. 질문 : 웹 개발을 학습 할 때 왜 웹 서버를 먼저 설치해야합니까?
사용자가 액세스 할 수없는 로컬 컴퓨터에서 웹 페이지를 작성하지만 Tomcat 서버를 시작하고 Tomcat 서버에 웹 페이지를 배치하면 사용자가 액세스 할 수 있습니다. 이것이 무엇을 의미합니까?
1. 원격 컴퓨터에서 액세스하려는 웹 리소스에 상관없이 해당 네트워크 커뮤니케이션 프로그램이 있어야합니다. 사용자가 액세스 할 때 네트워크 커뮤니케이션 프로그램은 웹 리소스 데이터를 읽고 데이터를 방문자에게 보냅니다.
2. 웹 서버는 이러한 프로그램으로, 기본 네트워크 통신을 완료하는 데 사용됩니다. 이 서버를 사용하여 We Application의 개발자는 리소스가 클라이언트에게 전송되는 방법보다는 웹 리소스를 작성하는 방법에주의를 기울여야하므로 개발자의 개발 워크로드가 크게 줄어 듭니다.
3.2. Tomcat 서버를 다운로드하여 설치하십시오
Tomcat 공식 사이트 : http://jakarta.apache.org
Tomcat 설치 패키지 다운로드 : http://tomcat.apache.org/
[다운로드]를 클릭하여 아래 그림에 표시된 다운로드 페이지로 점프하십시오.
3.3. Tomcat 서버를 시작하고 테스트하십시오
Tomcat Server를 시작하십시오
bin 디렉토리에서 startup.bat 파일을 두 번 클릭하여 Tomcat 서버를 시작합니다.
Tomcat 서버 테스트
브라우저를 열고 http : // localhost : 8080/를 입력하십시오. 설치가 성공했음을 나타 내기 위해 다음 인터페이스를 표시 할 수 있습니다.
3.4. Tomcat 스타트 업 FAQ
Tomcat 서버가 정상적으로 시작할 수없는 이유는 일반적으로 다음과 같은 두 가지 이유입니다.
1. Java_Home 환경 변수를 설정하는 문제
bin 디렉토리에서 startup.bat 파일을 두 번 클릭하려면 Tomcat 서버를 시작하려면 Tomcat 서버 가이 java_home 환경 변수를 사용해야하기 때문에 Windows에서 Java_home 환경 변수를 설정하는 것입니다. Windows에 Java_home 환경 변수가 존재하지 않으면 Tomcat 서버를 시작할 수 없습니다.
Window에서 java_home 변수 구성
작동 단계 (Win7 System) : 컴퓨터 → "속성"→ 고급 시스템 설정 → 고급 → 환경 변수를 마우스 오른쪽 버튼으로 클릭하십시오.
시스템 변수 아래에서 "[new]"를 클릭하면 새로운 시스템 변수 대화 상자가 나타납니다. 먼저 변수 이름으로 java_home을 씁니다. 이름에서 알 수 있듯이 Java_home의 의미는 JDK의 설치 경로이며, JDK의 설치 경로를 변수 값으로 작성합니다. 예를 들어, 여기서 설정된 변수 값은 "d :/program files (x86)/java/jdk1.7.0"입니다. 변수 값을 설정 한 후 [확인] 버튼을 클릭하면 Java_Home 환경 변수가 아래 그림과 같이 설정됩니다. 시스템 변수에는 추가 "java_home"변수가 있습니다.
일반적으로 Java 개발 학습의 첫 번째 단계는 경로 환경 변수를 구성하는 것입니다. 더 나은 구성 방법은 먼저 Java_home 환경 변수를 구성한 다음 경로 변수에서 "%java_home%"를 사용하여 Java_home 변수의 값을 참조하는 것입니다.
따라서이 java_home 환경 변수는 일반적으로 창에서 구성됩니다. Java_home 환경 변수를 구성하는 것을 잊어 버린 경우 위의 방법을 사용하여 구성 할 수 있습니다.
2. 포트 점유 문제
Tomcat 서버는 시작할 때 기본적으로 포트 8080을 사용해야 하므로이 포트 8080이 다른 응용 프로그램에서 점유되면 Tomcat 서버는 정상적으로 시작할 수 없습니다. 당신이 보는 현상은 "Tomcat Server Startup 인터페이스가 예외 오류 메시지를 인쇄 한 다음 자동으로 닫히게됩니다"입니다.
이 창의 시작부터 닫는 시간은 매우 짧기 때문에 Tomcat 이이 창을 통해 시작할 때 오류 예외 정보를보기가 어렵습니다. 따라서 일반적으로 Tomcat 서버에서 기록한 로그 (log) 정보를 통해 Tomcat 서버의 작동 만 볼 수 있습니다.
Tomcat 서버의 루트 디렉토리에 로그 폴더가 있습니다.
로그 폴더는 Tomcat의 로그 파일을 저장합니다. 로그 폴더를 열면 내부 로그 파일을 볼 수 있습니다. "catalina.yyyy-mm-dd.log"라는 로그 파일이 있습니다. 예를 들어, "Catalina.2014-05-17.log"로그 파일은 2014-05-17에서 Tomcat 서버의 작동을 기록합니다.
로그 정보는 Tomcat 서버의 작동을 명확하게 기록합니다. 포트 8080이 점유되어 있기 때문에 정상적으로 시작할 수없는 경우 위 그림에 표시된 예외 정보가 기록됩니다. 예외 정보를 확인하면 Tomcat 서버가 정상적으로 시작할 수없는 이유를 알 수 있습니다!
요약 : Tomcat 서버가 정상적으로 시작할 수없는 경우 먼저 Java_home 환경 변수가 구성되어 있는지 확인한 다음 Tomcat 서버의 포트가 다른 응용 프로그램에 의해 점유되어 있는지 확인하십시오.
이것은 Java Web Development 입문서 예제 분석 (요약 1)에 대한이 기사의 끝입니다. 나는 그것이 당신에게 도움이되기를 바랍니다!