Nel mio repository di Maven sotto groupId javax.servlet
ho questi due artefatti separati per servlet. Sono confuso quale devo usare per costruire una semplice applicazione servlet? Qual è la differenza tra questi due artefatti?Differenza tra javax.servlet-api.jar vs servlet-api.jar
risposta
è necessario aggiungere
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>javax.servlet-api</artifactId>
<version>3.1.0</version>
<scope>provided</scope>
</dependency>
al progetto. La versione di cui hai bisogno potrebbe essere diversa: dipende dal tuo contenitore servlet, ad es. Tomcat.
<scope>provided</scope>
perché non è necessario in fase di esecuzione, è già nel contenitore servlet.
Quindi intendete lo scopo di javax.servlet è solo per il mio sviluppo? E 'come l'analogia jdk e jre per javax.servlet-api e servlet-api? – fuzzy28
Sì, è solo per lo sviluppo, quindi il tuo codice potrebbe essere compilato con successo. In runtime il contenitore servlet fornirà le funzionalità necessarie. – dds
Non hai detto la differenza tra loro e perché usare uno sull'altro :( –
Vai con javax.servlet-api.jar, Molti sviluppatori includono erroneamente servlet-api.jar nella loro cartella WEB-INF/lib. Ciò non causa più un'eccezione poiché Tomcat e altri server di app lo riconosceranno come un problema durante la distribuzione del file JAR. Tuttavia, fa sì che il contenitore ignori qualsiasi file JAR che contiene javax/servlet/Servlet.class.
javax.servlet-api versione 3.0.1 ha una cartella di annotazione che contiene classi di annotazione differenti in cui la versione 2.5 o inferiore di servlet-apie (ovvero la versione 2.4) non contiene annotazioni.
L'annotazione rappresenta i metadati. Se si utilizza l'annotazione, il descrittore di distribuzione i.e. web.xml non è richiesto. Ad esempio, se si utilizza un'annotazione come @WebServlet("/hello")
nel file servlet, non è necessario menzionare la mappatura servlet nel file web.xml.
Alcune annotazioni utili sono:
@HandlesTypes
@HttpConstraint
@HttpMethodConstraint
@MultipartConfig
@ServletSecurity
@WebFilter
@WebInitParam
@WebListener
@WebServlet
- 1. differenza tra session.evict vs chiaro
- 2. Differenza tra document.hidden vs document.hasFocus()
- 3. Differenza tra "get' VS 'getProperty'
- 4. Differenza tra DataContractSerializer vs XmlSerializer
- 5. Differenza tra NSWindowController Vs NSViewController
- 6. Differenza tra carico vs DOMContentLoaded
- 7. Differenza tra oracle.sql.BLOB.DURATION_CALL vs oracle.sql.BLOB.DURATION_SESSION
- 8. Differenza tra IIS 6.0 vs IIS 7.0
- 9. Differenza tra sé debole vs sé debole()
- 10. Differenza tra Locale FRANCESE vs FRANCE Locale
- 11. che differenza tra InternalResourceViewResolver vs UrlBasedViewResolver
- 12. SQL: Differenza tra "BETWEEN" vs "current_date - number"
- 13. Differenza tra randint casuale vs randrange
- 14. Differenza tra io.open vs open in python
- 15. differenza tra grep Vs cat e grep
- 16. Differenza tra Spring JDBC Vs Plain JDBC?
- 17. Che differenza tra Jersey vs JAX-RS
- 18. Differenza tra :: class vs :: className() in Yii2?
- 19. Differenza tra variabili linux $ BASH_SUBSHELL vs $ SHLVL
- 20. Qual è la differenza tra colorWithSRGBRed vs colorWithDeviceRed vs colorWithCalibratedRed
- 21. Differenza tra AlertDialog.builder's obj.create() vs obj.show() vs obj.create(). Show()
- 22. iPhone: Differenza tra nil vs Nil e vero vs TRUE
- 23. differenza tra i386: x64-32 vs i386 vs i386: x86_64
- 24. dataset vs .data - Differenza?
- 25. Differenza tra elevazione e traduzioneZ
- 26. differenza tra System.exit() e killProcess()
- 27. Qual è la differenza tra Cassandra vs Oracle Coherence?
- 28. qual è la vera differenza tra lemmatization vs stemming
- 29. Qual è la differenza tra npm 3 vs Bower?
- 30. Differenza tra scorta vs gli stage in GIT
Quali sono i nomi artefatto che avete? – dds
Ho javax.servlet-api e servlet-api. Quale è quale? – fuzzy28