Java는 동적 웹 애플리케이션을 개발하는 데 가장 많이 사용되는 프로그래밍 언어 중 하나입니다. 웹 애플리케이션은 웹 브라우저와 기술을 활용하여 인터넷을 통해 작업을 수행하는 컴퓨터 소프트웨어입니다. 웹 애플리케이션이 웹 서버에 배포됩니다.
자바 다음과 같은 몇 가지 기술을 제공합니다. 서블릿 그리고 JSP 이를 통해 서버에서 웹 애플리케이션을 쉽게 개발하고 배포할 수 있습니다. 또한 작업을 단순화하고 웹 애플리케이션을 개발하는 효율적인 방법을 제공하는 Spring, Spring Boot와 같은 일부 프레임워크를 제공합니다. 개발자의 노력을 줄여줍니다.
정적 HTML 페이지를 사용하여 웹 사이트를 만들고 CSS를 사용하여 스타일을 지정할 수 있지만 동적 웹 사이트를 만들려면 서버 측 기술이 필요합니다.
이번 섹션에서는 Java Servlet과 HTML을 사용하여 웹사이트를 만드는 방법을 살펴보겠습니다. 또한 이러한 기술이 웹 애플리케이션 개발에 어떻게 유용한지 살펴보겠습니다.
이 섹션에는 다음이 포함되어 있습니다.
- 웹 애플리케이션이란?
- 웹 서버 및 클라이언트
- HTML과 HTTP
- URL이란 무엇입니까?
- 서블릿이란?
- 웹 애플리케이션 개발에 서블릿이 유용한 이유
- Java 서블릿을 사용한 최초의 웹 애플리케이션
- 요약
웹 애플리케이션의 구성 요소를 이해해 보겠습니다.
웹 애플리케이션이란?
웹 애플리케이션은 모든 웹 브라우저를 사용하여 액세스할 수 있는 컴퓨터 소프트웨어입니다. 일반적으로 웹 애플리케이션의 프런트엔드는 거의 모든 웹 브라우저에서 지원하는 HTML, CSS, JavaScript와 같은 스크립팅 언어를 사용하여 생성됩니다. 반면 백엔드는 Java, Python, Php 등과 같은 프로그래밍 언어와 데이터베이스에 의해 생성됩니다. 모바일 애플리케이션과 달리 웹 애플리케이션 개발을 위한 특정 도구는 없습니다. 웹 애플리케이션 개발을 위해 지원되는 IDE 중 하나를 사용할 수 있습니다.
파이썬 필터링
웹 서버 및 클라이언트
웹 서버는 클라이언트의 요청을 처리하고 응답하는 프로세스입니다. 관련 프로토콜을 사용하여 클라이언트의 요청을 처리합니다. 웹서버의 주요 기능은 요청을 저장하고 웹페이지로 응답하는 것입니다. 클라이언트와 서버 사이의 매개체입니다. 예를 들어 Apache는 최고의 웹 서버입니다.
클라이언트는 사용자가 서버와의 통신을 요청하고 지원할 수 있는 소프트웨어입니다. 웹 브라우저는 웹 애플리케이션의 클라이언트입니다. 일부 주요 클라이언트로는 Google Chrome, Firefox, Safari, Internet Explorer 등이 있습니다.
HTML과 HTTP
HTML은 HyperText Markup Language를 나타냅니다. 웹 서버와 웹 클라이언트 통신을 위한 공통 언어입니다. 웹 서버와 웹 클라이언트는 모두 웹의 두 가지 서로 다른 소프트웨어 구성 요소이므로 둘 사이에 통신하는 언어가 필요합니다.
HTTP는 HyperText Transfer Protocol을 나타냅니다. 클라이언트와 서버 간의 통신 프로토콜입니다. 이는 TCP/IP 프로토콜 위에서 실행됩니다.
HTTP 요청의 필수 구성 요소 중 일부는 다음과 같습니다.
HTTP 방법: HTTP 메서드는 수행할 작업을 정의합니다. 일반적으로 GET, POST, PUT 등입니다.
URL: URL은 웹 애플리케이션을 개발하면서 정의한 웹 주소입니다. 웹페이지에 접속하는데 사용됩니다.
양식 매개변수: 양식 매개변수는 Java 메소드의 인수와 같습니다. 로그인 페이지에 사용자, 비밀번호 세부 정보와 같은 세부 정보를 제공하기 위해 전달됩니다.
URL이란 무엇입니까?
URL은 서버와 리소스를 찾는 데 사용되는 Universal Resource Locator를 나타냅니다. 웹페이지 주소입니다. 프로젝트의 모든 웹페이지에는 고유한 이름이 있어야 합니다.
URL은 다음과 같습니다.
http://localhost:8080/SimpleWebApplication/
어디,
http 또는 https: 통신에 사용할 프로토콜을 지정하는 URL의 시작점입니다.
로컬호스트: localhost는 서버의 주소입니다. 애플리케이션을 로컬에서 실행할 때는 localhost라고 합니다. 웹을 통해 프로젝트를 배포한 경우 'javatpoint.com'과 같은 도메인 이름을 사용하여 액세스됩니다. 도메인 이름은 서버를 IP 주소에 매핑합니다.
8080: 이는 로컬 서버의 포트 번호입니다. 이는 선택 사항이며 기계마다 다를 수 있습니다. URL에 포트 번호를 수동으로 입력하지 않으면 기본적으로 요청은 프로토콜의 기본 포트로 이동합니다. 일반적으로 0에서 1023 사이의 포트 번호는 HTTP, HTTPS, FTP 등과 같은 잘 알려진 일부 서비스용으로 예약되어 있습니다.
우리는 웹 애플리케이션의 모든 주요 구성 요소에 대해 논의했습니다. Java로 웹 애플리케이션을 구축하는 주요 동기를 살펴보겠습니다.
먼저 서블릿을 이해하세요.
서블릿이란?
서블릿은 웹 서버 내에서 실행되는 Java 프로그램입니다. 요청을 수신하고 관련 프로토콜(보통 HTTP)을 사용하여 응답합니다. 서블릿은 모든 유형의 요청에 응답할 수 있을 만큼 충분히 능력이 있습니다. 이는 일반적으로 응용 프로그램을 기능적으로 만드는 데 사용됩니다.
HTML과 CSS만 사용하여 정적 웹사이트를 만들 수 있지만 동적 웹사이트의 경우 서버측 프로그래밍 언어가 필요합니다. 이러한 애플리케이션을 위해 Java는 HTTP 관련 서블릿 클래스가 포함된 서블릿 기술을 제공합니다.
그만큼 javax.servlet 그리고 javax.servlet.http 패키지에는 서블릿을 생성하기 위한 인터페이스와 클래스가 포함되어 있습니다. 모든 서블릿은 라이프사이클 메소드를 정의하는 서블릿 인터페이스를 구현해야 합니다. 일반 서비스를 구현하기 위해 GenericServlet 클래스를 확장하여 사용할 수 있습니다. 그것은 제공한다 doGet 그리고 두포스트 HTTP 관련 서비스를 처리하는 방법.
서블릿이 왜 유용한가요?
웹 서버는 정적 HTML 요청을 처리할 만큼 능력이 있지만 동적 요청과 데이터베이스를 처리하는 방법을 모릅니다. 따라서 동적 콘텐츠를 위한 언어가 필요합니다. 이러한 언어는 PHP, Python, Java, Ruby on Rails 등입니다. Java에는 동적 콘텐츠와 데이터베이스를 다루는 두 가지 기술 Servlet과 JSP가 있습니다. Java는 또한 서블릿과 JSP를 쉽게 사용할 수 있도록 Spring, Spring Boot, Hibernate, Struts와 같은 프레임워크를 제공합니다.
서블릿과 JSP는 웹 서버의 기능을 확장하는 서버측 기술입니다. 동적 응답과 데이터 지속성을 지원합니다. 이러한 기술을 사용하면 웹 애플리케이션을 쉽게 만들 수 있습니다.
첫 번째 웹 애플리케이션을 만들어 보겠습니다.
Java 서블릿을 사용한 최초의 웹 애플리케이션
웹 애플리케이션을 만들려면 다음 도구가 필요합니다.
IDE(Eclipse 또는 Netbeans)
데이터베이스(Oracle 또는 MySQL )
서버( 수코양이 )
웹 애플리케이션을 생성하기 전에 위의 모든 도구가 시스템에 올바르게 설치되어 있는지 확인하십시오.
이제 아래 단계에 따라 웹 애플리케이션을 개발하십시오.
1단계: Eclipse 열기 동적 웹 프로젝트 생성
Eclipse IDE를 열고 다음으로 이동합니다. 파일-> 새로 만들기-> 동적 웹 프로젝트.
동적 웹 프로젝트가 IDE에 나열되지 않으면 다른 옵션으로 이동하여 검색하세요. 계속하려면 클릭하세요.
2단계: 프로젝트 이름 제공
이제 프로젝트 이름을 입력하고 클릭하세요. 다음 계속하다.
프롬프트에 따라 생성을 선택하십시오. web.xml 배포 설명자.
이제 프로젝트가 준비되었습니다. 프로젝트 구조는 다음과 같습니다:
math.pow 자바
3단계: 서블릿 생성
이제 마우스 오른쪽 버튼을 클릭하여 서블릿을 만듭니다. Java 리소스/src 폴더. 서블릿을 생성하려면 소스 폴더로 이동하여 새로운-> 서블릿 메뉴. 여기에 서블릿 이름을 제공하십시오.
다음을 클릭하세요. 마치다 단추. 지정된 대로 TestServlet을 생성합니다. 서블릿 이름 중 하나를 선택할 수 있습니다.
TestServlet.java:
import java.io.IOException; import javax.servlet.ServletException; import javax.servlet.annotation.WebServlet; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; /** * Servlet implementation class TestServlet */ @WebServlet('/TestServlet') public class TestServlet extends HttpServlet { private static final long serialVersionUID = 1L; /** * @see HttpServlet#HttpServlet() */ public TestServlet() { super(); // TODO Auto-generated constructor stub } /** * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response) */ protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { // TODO Auto-generated method stub response.getWriter().append('Served at: ').append(request.getContextPath()); } /** * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response) */ protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { // TODO Auto-generated method stub doGet(request, response); } }
4단계: Servlet Jar 파일 추가
우리는 서블릿이 많은 오류를 표시하는 것을 볼 수 있는데, 이는 우리가 추가하지 않았기 때문입니다. 서블릿 API jar 파일이 아직 없습니다. jar 파일을 추가하려면 프로젝트를 마우스 오른쪽 버튼으로 클릭하고 다음으로 이동하여 구성 옵션을 선택합니다. 빌드 경로-> 빌드 경로 구성 옵션. 이제 외부 JAR 추가 옵션.
서버를 설치한 디렉토리로 이동하여 서블릿-api.jar 파일.
딸깍 하는 소리 열려 있는 계속하다.
이제 선택하세요 적용 및 종료 옵션. 프로젝트에 jar 파일이 추가됩니다.
5단계: HTML 또는 JSP 파일 만들기
이제 첫 번째 웹 애플리케이션이 거의 준비되었습니다. 우리는 웹사이트에 표시하고 싶은 HTML 페이지를 만들 수 있습니다.
HTML 페이지를 생성하려면 웹 컨텐츠 폴더에서 새 HTML 파일 옵션을 선택합니다. 새로 만들기-> HTML 파일 이름이 적힌 메뉴 index.html .
우리는 다음 HTML 파일을 만들었습니다:
index.html:
<meta charset="<em">'UTF-8' > First Web Application <ul> <li> <a href="#">Home</a> </li> <li> <a href="#">News</a> </li> <li> <a href="#">Contact</a> </li> <li> <a href="#">About</a> </li> </ul> <img src="//techcodeview.com/img/java-tutorial/36/how-build-web-application-using-java.webp" alt="image">
이미지 파일을 다음 위치에 추가하세요. 웹 컨텐츠 폴더.
요약:
이 섹션에서는 Java Servlet을 사용하여 웹 애플리케이션을 만드는 방법을 설명했습니다. Java는 웹 애플리케이션을 쉽게 개발하는 데 도움이 되는 Spring 및 Spring Boot와 같은 다른 프레임워크를 지원합니다. 이러한 프레임워크는 개발자의 노력을 줄여줍니다.