서블릿과 웹 서비스의 차이점
이 둘의 차이점은 무엇입니까?나는 구글에 대한 몇 가지 결과가 확정적이지 않다는 것을 알았다.
다음은 후속 질문입니다.
예를 들어 봄 MVC 웹 앱을 만들고 @Controller 주석을 사용하여 몇 개의 클래스에 주석을 달아 프런트 엔드 -> 백엔드 및 백엔드로부터 정보를 정상적으로 전송할 수 있는 것을 만듭니다.아마 백엔드 측에는 일부 데이터베이스가 관련되어 있을 수 있습니다.
그걸 뭐라고 부르겠어요?다른 웹 서비스나 서블릿 같은 것을 사용하시겠습니까?
웹 서비스는 REST 프로그래밍 패러다임 또는 SOAP 프로토콜을 사용하여 클라이언트에 서비스 방법을 제공하는 서비스입니다.웹 서비스를 구현하는 방법은 여러 가지가 있습니다.웹 서비스를 작성하는 가장 간단한 방법은 클래스를 작성하고 여기에 주석을 다는 것입니다.@WebService
★★★★★★★★★★★★★★★★★」@WebMethod
의 주석javax.jws
★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★main
함께 사용 다음음음음:
Endpoint.publish("http://localhost:8089/myservice", new MyWebService());
그 결과 등록된 URL에서 WSDL을 표시할 수 있으며 Soap이 있는 경우UI 또는 기타 SOAP 클라이언트도 웹 서비스를 테스트하여 사용할 수 있습니다.
한편, 서블릿은 HTTP 요구 및 응답을 전송하기 위해 사용됩니다.JSP 및 HTML을 사용하여 웹 응용 프로그램을 작성하거나 XML 및 JSON 응답(RESTful 서비스와 마찬가지로)을 처리하고 SOAP 메시지를 수신 및 반환하는 데 사용할 수 있습니다.웹 서비스 아래의 한 계층으로 생각할 수 있습니다.서블릿에는 현재 Java 서블릿 사양 버전 4.0인 자체 표준이 있습니다.
보다 포괄적이고 실용적인 접근법은 프레임워크를 사용하여 웹 서비스를 작성하고 이를 Tomcat이나 JBoss와 같은 애플리케이션 서버 또는 서블릿 컨테이너에 게시하는 것입니다.이 경우 Servlet을 사용하여 SOAP 또는 REST 메시지를 전송하는HTTP 요청 전송을 처리합니다.
서블릿 기술을 사용하여 웹 서비스를 작성하려면 JAX-WS(SOAP용 등)를 사용할 수 있습니다.RESTful 서비스를 작성하려면 JAX-RS(Jersey를 기준으로 구현)를 사용할 수도 있고 Spring WebMVC를 사용할 수도 있지만, 제가 알기로는 그것이 이 프레임워크의 주요 목적이 아니며 저지가 상당히 사용하기 쉽습니다.
질문에 :@Controller
주석은 봄 특유의 고정관념 주석으로 콩이 무엇을 해야 하는지에 대해 봄에게 알려줍니다.컨트롤러의 정확한 반환 방법은 메서드의 실제 구현에 따라 달라집니다.보통 텍스트, HTML, JSON, XML, 바이너리 데이터 또는 원하는 것을 반환하도록 Spring을 구성할 수 있습니다.
, 에는있 with, 석 with with with with with with with with with with with with with with with with with with with with with with with 가 주석이 붙은 @Controller
아직 서블릿이 아니라 그냥 콩입니다.서블릿을 사용하는 방법은 주로 사용하는 프레임워크에 따라 달라집니다.를 들어 Spring을 은 Springs에 됩니다.DispatcherServlet
올바른 콩으로 요청을 전송합니다. Tomcat을 하는 을 쓸 수 .javax.servlet.http.HttpServlet
.doGet
HTTP GET을 사용합니다.
지금 설명하시는 것은 웹 어플리케이션입니다. 사람이 브라우저를 사용하여 소프트웨어 시스템과 상호 작용합니다.
웹 서비스는 소프트웨어 시스템이 HTTP, XML 또는 JSON을 사용하여 사용자 없이 서로 통신할 수 있는 방법입니다.
서블릿은 HTTP 요청에 응답하는 Java 고유의 소프트웨어 기술 방법입니다.봄 MVC에서는 웹 어플리케이션 작성을 용이하게 하기 위해 많은 구현 세부사항을 추상화하지만 커버 아래에 서블릿을 사용합니다.
제 견해로는 웹 서비스는 비즈니스 고유의 기능과 같은 상위 수준의 추상화를 정의합니다.서블릿은 데이터 전송을 담당하는 소프트웨어 구현 컴포넌트에 불과합니다.
웹 서비스 구현은 일반적으로 데이터 수신에 서블릿에 의존합니다.그러나 프로토콜 데이터를 처리하는 사용자 지정 계층을 사용할 수도 있습니다.
@Controller는 아마도 서블릿보다는 Web Service와 더 관련이 있을 것입니다.서블릿은 트랜스포트 구현의 한 가지 방법입니다.
Servlet과 Web Service의 가장 분명한 차이점은 HTTP를 통해 서블릿에 액세스하고 SOAP(Simple Object Access Protocol)를 통해 웹 서비스에 액세스한다는 것입니다.그러나 실제로는 서블릿을 직접 호출할 수 없습니다.발신자가 어플리케이션 밖에 없는 경우에만 URL 접속을 열어 서블릿에 파라미터를 설정할 수 있습니다.또, 발신자가 지정할 수 있는 파라메타를 제한할 수 없습니다.발신자는 서블릿이 수신할 수 있는 파라미터도 알 수 없습니다.따라서 웹 서비스를 사용하여 다른 응용 프로그램에 API를 제공하는 것이 좋습니다. 웹 서비스의 WSDL 파일은 호출자에게 웹 서비스를 호출하기에 충분한 정보를 제공할 수 있습니다.
서블릿은 HTTP 쿼리 핸들러입니다.수신 쿼리로 원하는 작업을 수행할 수 있습니다.JVM에서 실행되는 서블릿입니다.
웹 서비스는 다소 엄격한 프로토콜과 연결됩니다.인터페이스(API)는 사용 가능한 메서드와 그 인수 및 서비스에 대한 반환값을 사용하여 정의됩니다.
이 인터페이스는 프로토콜 메커니즘을 사용하여 노출됩니다.이러한 프로토콜은 서비스를 실행하는 호스트에 관계없이 PHP, Java, C# 또는 사용자 고유의 언어를 사용하여 동일한 웹 서비스를 정의할 수 있습니다.프로토콜에 대한 쿼리를 이해하고 클라이언트가 읽을 수 있는 답변을 생성할 수 있는 코드 조각만 있으면 됩니다.
예를 들어 SOAP은 웹 서비스 프로토콜입니다.위키피디아 정의:
SOAP(원래 Simple Object Access Protocol)는 컴퓨터 네트워크에서 웹 서비스를 구현할 때 구조화된 정보를 교환하기 위한 프로토콜 규격입니다.
웹 서비스는 서블릿보다 높은 수준에서 작동합니다.서블릿은 서버 측 컴포넌트를 쓰는 기능을 제공하는 단순한 API입니다.
예를 들어 RESTfull은 서블릿과 함께 많은 다른 "기능"을 포함하는 웹 서비스입니다.전개하려면 web.xml을 다음과 같이 정의할 수 있습니다.
<servlet>
<servlet-name>jersey-serlvet</servlet-name>
<servlet-class>com.sun.jersey.spi.container.servlet.ServletContainer</servlet-class>
<init-param>
<param-name>com.sun.jersey.config.property.packages</param-name>
<param-value>jersey.rest.test</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
그것은 서블릿에 불과하다.
웹 서비스는 Servlet Container 클래스를 사용합니다. Servlet 클래스는 다시 Servlet 클래스로, 요청을 깨끗하고 구조화된 방식으로 처리합니다.REST는 REPRESTION STatless Protocol의 약자입니다.이 요청에는 데이터가 저장되지 않습니다.
REST Web Service는 HTTP 메서드를 지원합니다.
- GET - 일반적으로 데이터를 가져옵니다.
- POST - 새 개체를 삽입합니다.
- PUT - 기존 개체를 업데이트합니다.
- DELETE - 객체를 삭제합니다.
임의의 유형의 HTTP 메서드를 사용할 수 있는 웹 서비스 클래스에 URL을 얼마든지 매핑할 수 있습니다.
한편, 서블릿 마다 실행할 수 있는 URL 매핑은 1개 뿐입니다.요청 파라미터 조건의 도움으로 최종 요건을 달성할 수 있지만, 오늘날 서블릿을 사용하는 것은 깨끗한 방법을 제공하지 않습니다.
웹 서비스에서는 메서드 레벨뿐만 아니라 클래스 레벨에서도 URL 경로를 정의할 수 있습니다.이것에 의해, 보다 구조적인 방법으로 코드화할 수 있습니다.
언급URL : https://stackoverflow.com/questions/5930795/difference-between-servlet-and-web-service
'programing' 카테고리의 다른 글
주석을 사용하지 않는 잭슨의 필드를 제외하려면 어떻게 해야 합니까? (0) | 2023.03.23 |
---|---|
Woocommerce : 모든 제품 업데이트 기능 (0) | 2023.03.23 |
MySQL 데이터베이스 연결 IIS10을 설정하는 동안 WordPress 오류 발생 (0) | 2023.03.23 |
레일: active_model_serializer와의 깊이 중첩된 연관성을 직렬화하는 중 (0) | 2023.03.23 |
Mongoose에서 Enum을 생성하여 사용하는 방법 (0) | 2023.03.23 |