Dans une application Web Java, comment obtenir le contenu de l'organisme de demande de la demande? Et les problèmes qui doivent être prêts attention.
Habituellement, l'utilisation de la demande pour obtenir des paramètres peut obtenir directement des paramètres soumis par URL ou des données AJAX via req.getParameter (nom). Cependant, le corps n'a pas de nom et ne peut pas être obtenu via des noms de paramètres. Pour le moment, vous devez utiliser le flux IO pour obtenir le contenu dans le corps.
Voici un code:
Package com.lenovo.servlet; import java.io.bufferedReader; import java.io.ioexception; import java.io.inputstreamreader; import javax.servlet.servlet.servletException; import javax.servlet.http.httpservlet; import javax.servlet.http.http. javax.servlet.http.httpservletResponse; import org.apache.commons.lang.stringutils; import org.apache.log4j.logger; import com.alibaba.dubbo.common.utils.ioutils; import com.lenovo.service.businesssvice; import; com.Lenovo.utils.webContext; Public Class BusinessServlet étend httpServlet {public static final logger log = logger.getLogger (businesservlet.class); / ** * * / private statique final long SerialVersionUID = 1l; Service de service d'affaires statique privé; statique {service = (businesservice) webContext.getBean ("BusinessService"); } @Override Protected void doGet (httpServletRequest req, httpservletResponse resp) lève ServletException, ioException {doPost (req, resp); } @Override Protected void doPost (httpServletRequest req, httpservletResponse res) lève ServletException, ioException {BuffereDaDer Reader = new BuffereDader (new InputStreamReader (req.getInputStream ())); String body = ioutils.read (lecteur); String name = req.getParameter ("name"); if (stringUtils.isnotblank (body)) {log.info ("Les entreprises reçoivent quelque chose avec le corps:" + corps); } res.SetcharAtterencoding ("UTF-8"); res.setContentType ("application / json"); res.setStatus (httpServletResponse.sc_ok); res.getwriter (). println (service.getName (name)); }} Dans cette méthode de code DOSTOST, IO Stream est utilisé pour obtenir le corps soumis par la publication, nous obtenons donc les paramètres soumis par le client.
Il convient de noter que: Pour obtenir les paramètres du corps, vous devez l'appeler avant la méthode request.getParamètre () (si vous devez prendre le paramètre QuerryString), car une fois que la méthode getParameter () sera appelée, les paramètres du corps seront obtenus via des flux IO seront invalides (retour "" pour les tests personnels).
De plus, la méthode ioutils.read (lecteur) de Dubbo-2.5.3.jar est utilisée ici pour lire le contenu de l'organisme de poste.
Ce qui précède est tout le contenu de cet article. J'espère que cela sera utile à l'apprentissage de tous et j'espère que tout le monde soutiendra davantage Wulin.com.