في تطبيق Java Web ، كيف نحصل على المحتوى في هيئة طلب Post؟ والقضايا التي تحتاج إلى الانتباه إلى.
عادة ، يمكن استخدام طلب الحصول على المعلمات الحصول مباشرة على المعلمات المقدمة بواسطة عنوان URL أو AJAX من خلال req.getParameter (الاسم). ومع ذلك ، ليس للجسم اسم ولا يمكن الحصول عليه من خلال أسماء المعلمات. في هذا الوقت ، تحتاج إلى استخدام دفق IO للحصول على المحتوى في الجسم.
هنا رمز:
package com.lenovo.servlet ؛ import java.io.bufferedReader ؛ import java.io.ioException ؛ import java.io.inputstreamer ؛ import javax.servlet.servlet.servletexception ؛ 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. com.lenovo.utils.webContext ؛ يمتد Classervlet من الفئة العامة httpservlet {public static final logger = logger.getLogger (businsservlet.class) ؛ / ** * */ private Static Final Long SerialVersionuid = 1L ؛ خدمة الخدمات التجارية الثابتة الخاصة ؛ static {service = (businsservice) webContext.getBean ("ComminSservice") ؛ } override void void doget (httpservletrequest req ، httpservletresponse resp) يلقي servletexception ، ioException {dopost (req ، resp) ؛ } override void dopost (httpservletrequest req ، httpservletresponse res) يلقي servletexception ، ioException {bufferreader reader = new BufferEdReader (new inputStreamReader (req.getInputStream ())) ؛ سلسلة body = ioutils.read (reader) ؛ اسم السلسلة = req.getParameter ("الاسم") ؛ if (stringUtils.isnotBlank (body)) {log.info ("Business tribe with body:"+body) ؛ } res.SetchAracterEncoding ("UTF-8") ؛ Res.SetContentType ("application/json") ؛ Res.SetStatus (httpservletresponse.sc_ok) ؛ res.GetWriter (). println (service.getName (name)) ؛ }} في طريقة DOPOST هذه الرمز ، يتم استخدام دفق IO للحصول على الجسم المقدم من المنشور ، لذلك نحصل على المعلمات المقدمة من العميل.
تجدر الإشارة إلى ما يلي: للحصول على معلمات الجسم ، تحتاج إلى الاتصال به قبل request.getParameter () طريقة (إذا كنت بحاجة إلى أخذ المعلمة QueryString) ، لأنه بمجرد أن يتم استدعاء طريقة getParameter () ، سيتم الحصول على معلمات الجسم من خلال تدفقات IO (للعودة "" للاختبارات الشخصية).
بالإضافة إلى ذلك ، يتم استخدام طريقة ioutils.read (القارئ) من Dubbo-2.5.3.jar هنا لقراءة محتوى ما بعد الجسم.
ما سبق هو كل محتوى هذه المقالة. آمل أن يكون ذلك مفيدًا لتعلم الجميع وآمل أن يدعم الجميع wulin.com أكثر.