Wie erhalten wir in einer Java -Webanwendung den Inhalt in der Postanfrage? Und Probleme, auf die geachtet werden müssen.
Normalerweise kann die Verwendung von Anforderungen zum Erhalt von Parametern direkt von URL- oder AJAX -Daten über REQ.GetParameter (Name) übermittelte Parameter abrufen. Der Körper hat jedoch keinen Namen und kann nicht durch Parameternamen erhalten werden. Zu diesem Zeitpunkt müssen Sie den IO -Stream verwenden, um den Inhalt im Körper zu erhalten.
Hier ist ein Code:
Paket com.lenovo.servlet; import java.io.bufufferedReader; import Java.io.ioException; import Java.io.inputStreamReader; import Javax.servlet.servlet.ServletException; Import.Servlet.htp.htplet; javax.servlet.http.httpServletResponse; import org.apache.commons.lang.stringutils; import org.apache.log4j.logger; import com.alibaba.dubbo.common.utils com.lenovo.utils.webcontext; öffentliche Klasse BusinessServlet erweitert HttpServlet {public static Final Logger log = logger.getLogger (BusinessServlet.Class); / ** * */ Private statische endgültige lange Serialversionuid = 1L; privater statischer BusinessService -Service; static {service = (businessService) webcontext.getbean ("businessService"); } @Override Protected void dagget (httpServletRequest req, httpServletResponse resp) löscht ServletException, ioException {dopost (req, resp); } @Override Protected void dopost (httpServletRequest req, httpServletResponse res) löst ServletException aus, ioException {bufferedReader reader = new bufferedReader (neuer InputStreamReader (req.getInputStream ()); String body = ioutils.read (Leser); String name = req.getParameter ("Name"); if (Stringutils.isnotblank (Körper)) {log.info ("Geschäft erhalten etwas mit Körper:"+Körper); } res.setcharactercoding ("utf-8"); Res.SetContentType ("application/json"); res.setStatus (httpServletResponse.sc_ok); res.getWriter (). println (service.getName (name)); }} In dieser Code -Dopost -Methode wird der IO -Stream verwendet, um die vom Kunden eingereichte Körper eingereicht zu erhalten, sodass wir die vom Client eingereichten Parameter erhalten.
Es ist zu beachten, dass: Um die Körperparameter zu erhalten, müssen Sie sie vor der Anforderung aufrufen. GetParameter () Methode (falls Sie den Parameter von QueryString einnehmen müssen), da nach dem Aufrufen der GetParameter () -Methode die Körperparameter über IO -Streams ungültig werden (Rückgabe "für persönliche Tests).
Darüber hinaus wird hier die Ioutils.read (Reader) -Methode von Dubbo-2.5.3.Jar verwendet, um den Inhalt des Postkörpers zu lesen.
Das obige ist der gesamte Inhalt dieses Artikels. Ich hoffe, es wird für das Lernen aller hilfreich sein und ich hoffe, jeder wird Wulin.com mehr unterstützen.