[JAVA] Comment utiliser la portée et le traitement des passes (servist)

portée

Une étendue est une zone de stockage utilisée lorsque vous souhaitez partager des données entre des servlets et des JSP. Il existe les trois types suivants en fonction de la plage de partage.

Enregistrer dans la portée dans la méthode doGet ou doPost du servlet Il existe de nombreuses façons de passer ensuite avec la méthode forward.

Le modèle pour la partie déclaration de la méthode doGet et de la méthode doPost est le suivant.

doGet,Déclaration de la méthode doPost


// doGet
Public void doGet(HttpServletRequest request, HttpServletResponse response)
      throws ServletException, IOException{
}

//idem pour doPost
Public void doPost(HttpServletRequest request, HttpServletResponse response)
      Throws ServletException, IOException{
}

Demande de portée

Une portée générée pour chaque requête du navigateur. En principe, il n'est pas conservé lors de la prochaine requête, du navigateur fermé ou du redémarrage du serveur d'applications.

Comment utiliser

//Enregistrer pour demander l'étendue
request.setAttribute("Nom d'attribut",Instance que vous souhaitez enregistrer);

//Obtenir une instance de la portée de la requête
Nom du type= (Moule) request.getAttribute("Nom d'attribut");


//Le nom de l'attribut est un index qui pointe vers la portée.
//Un type est le type d'une instance enregistrée
//Le nom est la variable de référence que vous souhaitez donner à l'instance acquise.

Portée de la session

Une étendue qui est conservée sauf si le navigateur est fermé ou expire.

Comment utiliser

//Zone de stockage sécurisée pour l'étendue de la session
HttpSession session = request.getSession();

//Enregistrer dans l'étendue de la session
Session.setAttribute("Nom d'attribut",Instance que vous souhaitez enregistrer)

//Obtenir une instance à partir de l'étendue de la session
Nom du type= (Moule) session.getAttribute("Nom d'attribut");

Champ d'application

Une étendue qui est conservée jusqu'à ce que le serveur d'applications soit arrêté. Il est conservé même si le navigateur est fermé.

Comment utiliser

//Zone de stockage sécurisée de la portée de l'application
ServletContext sc = getServletContext();

//Enregistrer dans le champ d'application
sc.setAttribute("Nom d'attribut",Instance que vous souhaitez enregistrer)

//Obtenir une instance à partir de la portée de l'application
Nom du type= (Moule) sc.getAttribute("Nom d'attribut");

Livraison du traitement

Lors du passage du processus au servlet ou JSP suivant, une méthode appelée forward est utilisée pour reprendre les données enregistrées dans la portée. Si les données ne sont pas héritées, le processus peut être transmis à l'aide de la redirection, mais il est souvent utilisé lors de la transmission à un site externe. La méthode de transfert ne peut passer le traitement qu'au sein du serveur.

vers l'avant

Une méthode pour hériter des données enregistrées dans la portée et passer le processus à la page suivante. Le serveur exécute automatiquement le processus suivant et le renvoie au navigateur. Lors du transfert du traitement au sein du même serveur, le transfert peut être utilisé même s'il n'y a pas de transfert de données particulier.

Comment utiliser

RequestDispatcher dispatcher = request.getRequestDispatcher("Destination de transfert");
dispatcher.forward(request, response);

//Nécessite les packages suivants
import javax.servlet.RequestDispatcher;

//Pour la destination de transfert, écrivez le chemin selon la structure du répertoire
//Par exemple:
request.getRequestDispatcher("/WEB-INF/jsp/hogehoge.jsp")

réorienter

Le serveur retourne au navigateur où accéder ensuite, et le navigateur demande le processus suivant à partir de la destination spécifiée. En raison de ce mécanisme, il est adapté pour accéder à des sites externes.

Comment utiliser

request.sendRedirect("Rediriger la destination");

//La destination de redirection peut être spécifiée par URL, ou un chemin selon la structure de fichier peut être utilisé dans le même serveur.
//Par exemple:
request.sendRedirect("http://www.hogehoge.com")
request.sendRedirect("/Nom du servlet")

Recommended Posts

Comment utiliser la portée et le traitement des passes (servist)
[Rails] Comment utiliser Scope
Comment utiliser StringBurrer et Arrays.toString.
Comment utiliser scope (JSP & Servlet)
Comment utiliser EventBus3 et ThreadMode
Comment utiliser l'égalité et l'égalité (comment utiliser l'égalité)
[Traitement × Java] Comment utiliser les variables
[Traitement × Java] Comment utiliser les tableaux
Comment utiliser OrientJS et OrientDB ensemble
[Traitement × Java] Comment utiliser la boucle
Comment configurer et utiliser kapt
[Traitement × Java] Comment utiliser la classe
[Traitement × Java] Comment utiliser la fonction
Comment utiliser les méthodes substring et substr
Comment utiliser @Builder et @NoArgsConstructor ensemble
[Java] Comment utiliser la classe FileReader et la classe BufferedReader
Comment utiliser Map
Comment utiliser rbenv
Comment utiliser fields_for
Comment utiliser java.util.logging
Comment utiliser la carte
[Ruby] Comment utiliser la méthode gsub et la sous-méthode
Comment utiliser collection_select
Comment utiliser Twitter4J
Comment utiliser active_hash! !!
Comment utiliser MapStruct
Comment utiliser le contrôle segmenté et les points à noter
Comment utiliser TreeSet
[Comment utiliser l'étiquette]
Comment utiliser l'identité
Comment utiliser le hachage
[Java] Notez comment utiliser RecyclerView et comment implémenter le traitement par balayage animé.
Comment utiliser Dozer.mapper
Comment utiliser Gradle
Comment utiliser org.immutables
Comment utiliser java.util.stream.Collector
Comment utiliser VisualVM
Comment utiliser Map
[Java] Comment utiliser la classe Calendar et la classe Date
Comment utiliser et appliquer la classe JFrame / Canvas de Java
Comment utiliser l'API Chain
[Java] Comment utiliser Map
Comment utiliser Queue avec priorité
[Rails] Comment utiliser enum
Comment utiliser JUnit (débutant)
Comment utiliser le retour Ruby
[Rails] Comment utiliser enum
Comment utiliser @Builder (Lombok)
Comment utiliser la classe Java
Comment utiliser Big Decimal
[Java] Comment utiliser removeAll ()