la differenza in termini di flusso, so che doGet() è il pre-elaborazione e dopost è post-elaborazione, ma che cos'è?qual è la differenza tra doGet() e doPost() in termini di flusso?
risposta
la differenza in termini di flusso, so che doGet() è la pre-elaborazione e doPost è post-elaborazione, ma che cos'è?
In realtà, i metodi non hanno nulla a che fare con "pre-elaborazione" e "post-elaborazione".
Per capire a cosa servono i metodi, è necessario conoscere il protocollo HTTP.
HTTP è un protocollo di richiesta-risposta: il client (ad esempio un browser Web) invia una richiesta e il server (ad esempio un server Web) risponde con una risposta. Ogni richiesta è composta da una "riga di richiesta", una serie di linee di "intestazione" e facoltativamente un "corpo". Una tipica richiesta-line simile a questa:
GET http://www.w3.org/pub/WWW/TheProject.html HTTP/1.1
Le tre parti di questa linea sono:
- il metodo di richiesta HTTP (ad esempio "GET"),
- l'URL (ad esempio "http://www.w3.org/pub/WWW/TheProject.html "), e
- la versione del protocollo (ad esempio "HTTP/1.1")
infatti, la specifica HTTP definisce 8 standa rd Metodi di richiesta HTTP (GET, PUT, POST, DELETE, HEAD, OPTIONS, TRACE & CONNECT) ognuno dei quali ha un significato diverso. (Altri metodi sono definiti da altre specifiche.)
I metodi doGet
e doPost
nell'API Servlet
sono metodi per l'elaborazione delle richieste HTTP GET e POST rispettivamente. In effetti esistono altri metodi "doXxxx" che corrispondono agli altri metodi HTTP standard ... a parte CONNECT. (La semantica di CONNECT non è applicabile a un servlet ...)
Per ulteriori informazioni, fare riferimento allo HTTP 1.1 Specification e allo HttpServlet
javadoc.
risposta fantastica ... :) – TheLostMind
Vorrei aggiungere che un metodo GET (come HEAD) * a qualsiasi risorsa DOVREBBE NON hanno effetti collaterali che porterebbero a comportamenti errati se queste risposte sono prese da una cache * (estratto dalla specifica HTTP 1.1 citata sopra) => GET dovrebbe essere usato solo per leggere qualcosa ma non per cambiare qualcosa –
il doget() ottenuto server prima che sul web? qualcosa del genere? –
doGet()
edoPost()
sono richieste HTTP gestite dalle classi servlet.In doGet(), i parametri vengono aggiunti all'URL e inviati insieme alle informazioni di intestazione . Questo non succede in caso di doPost(). In doPost(), i parametri vengono inviati separatamente. Poiché la maggior parte dei server Web supporta solo una quantità limitata di informazioni da allegare alle intestazioni , la dimensione di questa intestazione non deve superare i 1024 byte. doPost() non ha questo vincolo. Di solito i programmatori trovano che sia difficile scegliere tra doGet() e doPost().
doGet() deve essere utilizzato quando una piccola quantità di dati e dati non sensibili come una query deve essere inviata come richiesta. doPost() deve essere utilizzato quando deve essere inviata una quantità relativamente grande di dati sensibili. Gli esempi inviano i dati dopo aver compilato un modulo o aver inviato l'ID di accesso e la password .
È importante citare la fonte: http://www.careerride.com/Servlet-doGet-doPost.aspx –
- 1. Quando utilizzare doGet, doPost e service
- 2. Qual è la differenza tra un flusso di lavoro e un diagramma di flusso, se presente?
- 3. Qual è la differenza tra classe astratta e interfaccia in termini di archiviazione in JVM
- 4. Qual è la differenza tra l'albero di ricerca Array e Binary in termini di efficienza?
- 5. Servizi Java RESTful - Qual è la differenza tra QueryParam e PathParam in termini di utilizzo?
- 6. Qual è la differenza tra UTF8/UTF16 e Base64 in termini di codifica
- 7. Qual è la differenza tra == e =: = in Erlang se usato con termini in generale?
- 8. Qual è la differenza tra cogliere e raccogliere in Rails?
- 9. Qual è la differenza tra memset e memcpy in C
- 10. Qual è il significato dei termini "Flusso normale" e "Fuori flusso", in termini di HTML, CSS e Browser?
- 11. Qual è la differenza tra Boxing e AutoBoxing in Java?
- 12. Qual è la differenza tra MessageListener e Consumer in JMS?
- 13. F #: In termini reali, qual è la differenza tra una "stringa" e una "opzione stringa"?
- 14. Quindi qual è la differenza tra distribuito e in cluster?
- 15. Qual è la differenza tra PreserveReferencesHandling e ReferenceLoopHandling in Json.Net?
- 16. Qual è la differenza tra = e: =
- 17. Qual è la differenza tra dict() e {}?
- 18. Qual è la differenza tra ("") e (null)
- 19. Qual è la differenza tra Verilog! e ~?
- 20. Qual è la differenza tra `##` e `hashCode`?
- 21. qual è la differenza tra:.! e: r !?
- 22. Qual è la differenza tra $ e $$?
- 23. Qual è la differenza tra {0} e +?
- 24. Qual è la differenza tra i termini "file sorgente" e "unità di traduzione"?
- 25. Qual è la differenza tra? : e ||
- 26. qual è la differenza tra [[], []] e [[]] * 2
- 27. Qual è la differenza tra " " e ""?
- 28. Qual è la differenza tra {0} e ""?
- 29. Qual è la differenza tra .ToString() e + ""
- 30. Qual è la differenza tra C# e visual C#?
I documenti dovrebbero probabilmente rispondere a questa domanda per te, ad esempio, dove viene indicato "Chiamato dal server (tramite il metodo di servizio) per consentire a un servlet di gestire una richiesta GET." –