>Java >java지도 시간 >Java의 서블릿에 대한 간략한 소개

Java의 서블릿에 대한 간략한 소개

黄舟
黄舟원래의
2017-07-21 16:18:362033검색

서블릿은 서버 측 프로그래밍 언어이자 J2EE의 핵심 구성 요소입니다. 이 글에서는 서블릿에 대한 기본 지식을 간략하게 소개하겠습니다. 관심 있는 친구들은 함께 살펴보세요

서블릿은 서버 측 프로그래밍 언어이자 J2EE의 핵심 구성 요소입니다(사실 제가 처음 접한 것은 J2EE 3의 13가지 표준을 학습한 후 EJB, Servlet, JSP) Servlet 기술의 도입으로 서버 측 개발에서 Java 언어의 기능이 확장되고 서버 측 개발 프로세스에서 Java 언어의 위상이 통합되었습니다. JSP 기술은 이제 널리 사용됩니다. 또한 Servlet의 원칙을 기반으로 하는 JSP+JavaBeanstalk+Servlet은 MVC 패턴을 구현하는 데 효과적인 선택이 되었습니다.

서블릿 소개

앞서 배운 JavaBeans와 마찬가지로 서블릿을 작성하려면 기본적으로 Java 클래스가 필요하지만 일반 Java 클래스와 달리 서블릿은 서버 측에서만 실행될 수 있습니다. 클래스는 특별한 사양을 따라야 하며 작동 중에 자체 수명 주기를 가져야 합니다. 이러한 기능은 서블릿에 고유합니다. 또한, Servlet과 HTTP 프로토콜은 서로 밀접하게 연관되어 있어 Servlet을 사용하면 HTTP 프로토콜의 거의 모든 측면을 처리할 수 있습니다. 이것이 개발자들이 Servlet을 선호하는 가장 큰 이유입니다.

서블릿 작동 원리

간단한 jsp+servlet 로그인 예제

JSP 페이지 코드


<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%> 
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> 
<html> 
 <head> 
 </head> 
 <body> 
  <form action="http://127.0.0.1:8080/JavaWebExercise/loginServlet" method="get"> 
    name:<input type="text" name="username"/> 
    <input type="submit" value ="submit"> 
  </form> 
 </body> 
</html>

LoginServlet 코드


package com.bjpowernode.test; 
import java.io.IOException;  
import javax.servlet.ServletException; 
import javax.servlet.http.HttpServlet; 
import javax.servlet.http.HttpServletRequest; 
import javax.servlet.http.HttpServletResponse;  
public class LoginServlet extends HttpServlet { 
  @Override 
  public void doGet(HttpServletRequest request, HttpServletResponse response) 
      throws ServletException, IOException { 
    String username=request.getParameter("username"); 
     
    System.out.println("username="+username); 
     
    response.setContentType("text/html;charset=UTF-8"); 
     
    response.getWriter().println(username+" login success"); 
  } 
  @Override 
  public void doPost(HttpServletRequest req, HttpServletResponse resp) 
      throws ServletException, IOException { 
    doGet(req, resp); 
  } 
}

구성 파일 코드


<?xml version="1.0" encoding="UTF-8"?> 
<web-app version="2.5"  
  xmlns="http://java.sun.com/xml/ns/javaee"  
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"  
  xsi:schemaLocation="http://java.sun.com/xml/ns/javaee  
  http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"> 
 <display-name></display-name>  
 <welcome-file-list> 
  <welcome-file>index.jsp</welcome-file> 
 </welcome-file-list> 
 <servlet> 
  <servlet-name>MyServlet</servlet-name> 
  <servlet-class>com.bjpowernode.test.LoginServlet</servlet-class> 
 </servlet> 
 <servlet-mapping> 
  <servlet-name>MyServlet</servlet-name> 
  <url-pattern>/loginServlet</url-pattern> 
 </servlet-mapping> 
</web-app>

프로세스 상세 explain

1. 요청된 URL은 http://127.0.0.1:8080/JavaWebExercise/loginServlet

2입니다. 요청이 Tomcat에 도달하면 서버는 해당 URL을 가로채고 클라이언트로부터 요청을 얻습니다(여기서는 JavaWebExercise).

3. 프로젝트를 찾은 후 URL에 따라 해당 서블릿 액세스 이름을 가로채세요. 여기는 loginServlet입니다.

4. loginServlet에 따라 Servlet 이름을 찾으세요. 여기는 MyServlet입니다.

5. Servlet 이름에 따라 해당 클래스 파일을 찾으세요. 다음은 com.bjpowernode.test 패키지 아래에 있는 LoginServlet 클래스입니다.

6. 리플렉션을 사용하여 검색된 서블릿 클래스를 인스턴스화합니다.

7. 요청 유형에 따라 배포를 위해 서블릿 상위 클래스에서 서비스 메서드를 호출합니다.

8. 서비스 배포에 따라 해당 doGet/doPost를 호출합니다(여기에서는 get 메서드라고 함).

9. 전달된 매개변수 값을 가져옵니다.

10. 다른 javaBeans를 호출하여 비즈니스 로직을 완성하세요.

11. 비즈니스 로직을 완성하고 서블릿으로 반환합니다.

12. html 문자열을 출력합니다.

13. html을 Tomcat 서버로 반환합니다.

14. 얻은 html을 통해 페이지를 렌더링합니다.

위 내용은 Java의 서블릿에 대한 간략한 소개의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.