Les applets sont pas les seuls développeurs web de façon pouvez utiliser du code Java pour créer des sites Web . Servlets fonctionnent comme des objets individuels sur une Pages ( JSP ) Site JavaServer . Cependant, servlets rencontrent les mêmes problèmes que les autres programmes Java lorsque les tâches simultanées modifient la même variable de séquence . C'est parce que le modèle de logiciel de servlets , mais il ya des façons de gérer plusieurs processus au sein de la servlet pour prévenir ces problèmes. Servlet modèle objet
servlets fonctionnent comme des classes qui instancient pages comme des objets. Quand un développeur web appelle un objet servlet dans un cadre, le code de la servlet va au compilateur Java , le fichier de classe compilé va à l' environnement d'exécution Java du serveur ( JRE). Lorsque la page se charge pour le spectateur, le JRE exécutera ce fichier objet compilé dans ce cadre HTML spécifique. Toutefois, le cadre dans lequel les servlets fonctionnent n'est pas suffisamment sophistiqué pour gérer plusieurs objets d'instance .
Servlet simultanéité
développeurs Web peuvent intégrer le même objet dans différents cadres de la même page. Le code de l' objet sera exécuté indépendamment dans chacun de ces cadres. Cependant , ce sera le code de la même instance. Contrairement aux différentes instances de la même classe , qui ont tous ensembles indépendants de valeurs variables , chacun de ces cadres seront de l'exécution d' arrêt du même ensemble de valeurs de variables . Cela crée la question de la concurrence entre les objets servlets .
Servlet multitâche
Serveurs gérer le multitâche en servlets Java en créant plusieurs threads dans un seul processus , et non par la création de plusieurs processus . Cela peut être multi-tâches dans le cadre de la tâche réelle de la servlet , ou en raison de l' développeur web intégrant le même objet dans plusieurs cadres de page . Le JRE traitera chaque image comme un thread séparé . Ces multiples discussions depuis plusieurs cadres peuvent se chevaucher et les variables de corruption lorsque les threads modifient la même variable en même temps .
Concurrence sécurité
Il ya deux façons classiques de gestion des concurrences avec les servlets Java . La première est la méthode standard de Java de prévenir la corruption des données : objets de verrouillage. Ceux-ci permettent un fil pour verrouiller littéralement d'autres threads d'accéder à une variable jusqu'à ce qu'il se fait avec la variable. L'autre façon est de toujours explicitement les variables de référence et les valeurs au lieu de référencer «soi», un terme pour l'objet lui-même. État exact de l' objet sera différent entre les cadres , donc le code qui fait référence à des valeurs spécifiques ne rencontreront pas les mêmes erreurs de simultanéité que le code qui fait référence à l'état d'un objet.