Em um aplicativo da Web Java, como obtemos o conteúdo no órgão de solicitação de postagem? E questões que precisam receber atenção.
Geralmente, o uso da solicitação para obter parâmetros pode obter diretamente os parâmetros enviados pelos dados URL ou AJAX através do req.getParameter (nome). No entanto, o corpo não tem nome e não pode ser obtido através de nomes de parâmetros. Neste momento, você precisa usar o fluxo de IO para obter o conteúdo no corpo.
Aqui está um código:
pacote com.lenovo.servlet; importar java.io.bufferedreader; importar java.io.ioException; importar java.io.inputStreamReader; importar javax.servlet.servlet.servleTleTexcept; import javax.serv.http.htttTlet; javax.servlet.http.httpServletResponse; importar org.apache.commons.lang.stringutils; importar org.apache.log4j.logger; importação com.alibaba.dubbo.common.utils.ioutils; importância com.lenovo.utils.webContext; public class BusinessServlet estende httpServlet {public static final logger log = logger.getLogger (BusinessServlet.class); / ** * */ private estático final serialversionuid = 1L; Serviço de serviço de negócios estático privado; static {Service = (BusinessService) webContext.getBean ("BusinessService"); } @Override Protected Void Doget (httpServletRequest req, httpServletResponse resp) lança servletexception, ioexception {dopost (req, resp); } @Override Protected void DoPost (httpServletRequest req, httpServletResponse res) lança servletexception, ioexception {buffarredreader leitor = new buffarredreader (new inputStreamReader (req.getInputStream ()); Corpo de sequência = ioutils.read (leitor); Nome da string = req.getParameter ("Nome"); if (stringutils.isnotblank (corpo)) {log.info ("negócios recebem algo com o corpo:"+corpo); } res.SetcharAcTerEncoding ("UTF-8"); Res.setContentType ("Application/JSON"); res.setStatus (httpServletResponse.sc_ok); res.getWriter (). println (service.getName (nome)); }} Neste método do Código DoPost, o fluxo de IO é usado para obter o corpo enviado post, por isso recebemos os parâmetros enviados pelo cliente.
Deve -se notar que: para obter os parâmetros do corpo, você precisa chamá -lo antes do método do solicitação.getParameter () (se você precisar pegar o parâmetro Querystring), porque uma vez que o método getParameter () for chamado, os parâmetros do corpo são obtidos por meio de fluxos de IO, serão inválidos (retornar "" para testes pessoais).
Além disso, o método ioutils.read (leitor) do dubbo-2.5.3.jar é usado aqui para ler o conteúdo do órgão de postagem.
O exposto acima é todo o conteúdo deste artigo. Espero que seja útil para o aprendizado de todos e espero que todos apoiem mais o wulin.com.