2011-01-19 17 views
15

Il metodo getServletContextName() restituisce il nome dell '"applicazione Web". Ciò significa che "ServletContext" non è altro che "applicazione web". Ok.Che cosa significa "Contesto" in "ServletContext"?

API definisce:

un ServletContextListener riceve le notifiche dei cambiamenti al contesto servlet dell'applicazione web fanno parte.

Che cosa significa "contesto servlet" della "applicazione Web"? Che cosa è in realtà "Contesto" in "ServletContext"?

+1

correlati: ([Che cosa è esattamente un contesto in Java?] http://stackoverflow.com/questions/3918083/what-exactly-is-a-context-in-java) – BalusC

+0

@BalusC Bella informazione! – Faisal

risposta

5

Context significa app web qui.

A ServletContextListener viene notificato quando un'app Web viene avviata o arrestata. In questo modo è possibile eseguire automaticamente le attività che devono essere eseguite all'avvio o all'arresto della web app.

+0

Quindi, guarda cosa dice l'API: "contesto servlet" della "web application".Cosa significa questa frase? Sembra strano, vero? – Faisal

+0

@Faisal Un'app Web può anche contenere elementi non servlet. Servlet Context si riferisce a cosa viene configurato tramite web.xml –

9

"Contesto" significa .. contesto - ha informazioni contestuali e funzionalità per una particolare applicazione web:

  • parametri a livello di applicazione
  • listener di eventi applicazione
  • metadati sull'applicazione

ServletContext è il contesto di un'applicazione Web Java (poiché utilizza servlet)

+0

Grazie! Ma cosa significa "contesto servlet" della "web application"? – Faisal

+0

@Faisal - vedi aggiornato – Bozho

+0

Grazie mille! Spiegazione molto bella Ma "ApplicationContext" sarebbe stato più appropriato di "ServletContext". Perché, il contesto (informazioni contestuali) non è pensato solo per servlet, ma anche per un JSP. – Faisal

20

Il nome è davvero, IMO, molto mal scelto.

È necessario leggere ServletContext come "il contesto generale di un'applicazione Web basata su API servlet". Mentre è necessario leggere ServletConfig (un'altra classe standard) come "La configurazione di un servlet".

Essi devono IMO avere denominato ServletContext come "WebAppContext" o "ApplicationContext", e ServletConfig come "ServletContext".

BTW, in JSP, l'ambito collegato a una JspPage è denominato "pagina"; l'ambito collegato a HttpServletRequest è denominato "richiesta"; l'ambito denominato a HttpSession è denominato "sessione" e l'ambito collegato a un ServletContext è denominato ... "applicazione".

+2

Sono d'accordo con te, ServletContext avrebbe dovuto essere denominato WebAppContext o ApplicationContext. Perché, il "contesto" (informazioni contestuali) non è inteso solo per servlet. È anche pensato per JSP. Tuttavia, alla fine JSP è un servlet. Quindi, avrebbero potuto chiamarlo ServletContext. :) Ma ApplicationContext sembra più appropriato. – Faisal

1

Un ServletContext è la rappresentazione runtime dell'applicazione Web.

1

ServletContext implica l'ambiente Context o Runtime del servlet. Le servlet vengono eseguite in contenitori Servlet come tomcat. Il contenitore servlet crea e fornisce l'ambiente di runtime per l'esecuzione del servlet e ne gestisce il ciclo di vita. Essa detiene anche altre informazioni, come: -

  • parametri a livello di applicazione
  • applicativi event listener
  • metadati sull'applicazione
Problemi correlati