当前位置: 首页 > 面试题库 >

Servlet参数和doPut

贾俊喆
2023-03-14
问题内容

尝试使用HttpServlet#doPut从PUT请求中获取参数:

public void doPut(HttpServletRequest request, HttpServletResponse response) {
    String name = request.getParameter("name");
    // name is null
}

使用curl发送请求:

curl  -X PUT \
      --data "name=batman" \
      --header "Content-Type: text/plain" http://localhost:8080/sample.html

使用doGet和GET curl请求可以正常工作。我想念什么吗?


问题答案:

基于评论和进一步的研究,我意识到Servlet无法假定有关将数据放入服务器的任何信息,因此不会解析名称/值对。

以下解决方案似乎是处理通过PUT传递的任何数据的正确方法,并且可以解析为XML,名称/值等。

BufferedReader br = new BufferedReader(new InputStreamReader(req.getInputStream());

String data = br.readLine();


 类似资料:
  • 所以我试图建立一个简单的网站,这样工作。 我在这里怎么办?而不是扩展另一个HTTPServlett 谢谢你抽出时间

  • 我对JSP/servlets相当陌生,我一直在研究一些东西,它已经工作了一段时间。我有一个名为'telgir.jsp'的jsp,我从这个jsp向一个名为'tel Kayit'的servlet传递一个URL参数。 在LocalHost上运行时JSP页面的一个示例URL: 当我在servlet中接收到参数时,参数发生了变化,因此无法正确地对其进行解码并获得结果。根据我的研究,我意识到“%”符号使我的代

  • 问题内容: 我有一个三层应用程序,我必须进行修改。我对Java的整个Web知识都是陌生的,所以请多多包涵。 当前,应用程序具有UI,应用程序和数据库层,但是我试图使用依赖注入将SQL数据库与数据库层分离。 因此,在某些时候,我不需要在应用程序中使用SQL Server凭据,因为数据库后端可能是纯文本。 关键是当前的SQL凭据作为init参数存储在web.xml文件中。这些是通过servlet代码获

  • 问题内容: 只是想知道是否有一种更优雅或更标准的方式来处理可选参数,或者是否必须检查每个参数是否为空。我有10多个可选参数,因此变得有点难看。 理想情况下,我想是这样的bash命令:。 问题答案: 编写这样的实用程序

  • 谁能给我一个提示如何解决这个问题?我这样做是为了通过servlet链接执行电子邮件确认,如果有人可以建议我另一个解决方案将非常感谢。

  • 给定以下web.xml: 如何告诉DropWizard将“模块”servlet上下文参数设置为“com.foo.MainModule”? 始终返回空列表。我们应该扩展这个类吗?