Maison  >  Article  >  Java  >  Une brève introduction aux servlets en Java

Une brève introduction aux servlets en Java

黄舟
黄舟original
2017-07-21 16:18:362004parcourir

Servlet est un langage de programmation côté serveur et un composant clé de J2EE. Cet article vous donnera une brève introduction aux connaissances de base du servlet. Les amis intéressés devraient y jeter un œil ensemble

Servlet est un langage de programmation côté serveur et un composant clé de J2EE (en fait, j'ai appris 13 du J2EE actuel, je n'ai été en contact qu'avec 3 standards, ce sont EJB, Servlet, JSP). L'introduction de la technologie Servlet a élargi les fonctions du langage Java dans le développement côté serveur, consolidé le statut du langage Java dans le processus de développement côté serveur, et est maintenant très utilisé. La technologie JSP est également basée sur le principe de Servlet+JavaBeanstalk+Servlet et est devenue un choix efficace pour implémenter le modèle MVC.

Introduction à Servlet

Comme le JavaBean appris plus tôt, Servlet est essentiellement une classe Java. L'écriture de servlet nécessite de suivre la syntaxe de base de Java, mais Différentes des classes Java ordinaires, les servlets sont des classes Java qui ne peuvent s'exécuter que côté serveur, et doivent suivre des spécifications spéciales et avoir leur propre cycle de vie pendant leur fonctionnement. Ces fonctionnalités sont uniques aux servlets. De plus, Servlet et le protocole HTTP sont étroitement liés, donc l'utilisation de Servlet peut gérer presque tous les aspects du protocole HTTP. C'est la principale raison pour laquelle Servlet est favorisé par les développeurs.

Principe de fonctionnement du servlet

Un simple exemple de connexion jsp+servlet

Code de page 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>

Code 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); 
  } 
}

Code du fichier de configuration


<?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>

Explication détaillée du processus

1 Soumettez le formulaire à Tomcat dans la page jsp, et l'url demandée est http://127.0.0.1 : 8080/JavaWebExercise/ loginServlet

2. Lorsque la requête parvient à Tomcat, le serveur intercepte l'URL pour obtenir le nom du projet demandé par le client (ici JavaWebExercise).

3. Après avoir trouvé le projet, interceptez le nom d'accès au servlet correspondant en fonction de l'url, voici loginServlet.

4. Recherchez le nom du servlet en fonction de loginServlet, voici MyServlet.

5. Recherchez le fichier de classe correspondant en fonction du nom du servlet. Il s'agit de la classe LoginServlet sous le package com.bjpowernode.test.

6. Utilisez la réflexion pour instancier la classe de servlet trouvée.

7. Selon le type de requête, appeler la méthode de service dans la classe parent du servlet pour la distribution

8. Appeler le doGet/doPost correspondant en fonction de la distribution du service. appeler la méthode get).

9. Obtenez la valeur du paramètre transmise.

10. Appelez d'autres javaBeans pour compléter la logique métier.

11. Complétez la logique métier et renvoyez-la au Servlet.

12. Affichez la chaîne html

13. Renvoyez le code HTML au serveur Tomcat

14. Rendu la page via le code HTML obtenu.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn