我似乎无法得到这个,但我知道这很简单。 getIntHeader
无法正常工作,因为它只返回-1。这让我很生气,所以我知道新鲜的眼睛会帮助我完成精神障碍。
以下是该行:
this.price = request.getIntHeader("price");
欢迎所有建议 提前谢谢
答案 0 :(得分:0)
根据Java EE文档,-1表示请求中不存在具有您指定名称的标头。
因此...
检查名称。
在调试器或浏览器或wireshark中查看请求,看看它有哪些标题。
决定如何处理丢失的标题,或者您是否只是在寻找错误的标题。
名称“price”看起来并不像http标头的名称那样常规。 因此,您可能正在寻找实际以其他方式提供的标题中的内容,例如查询参数,表单字段等
如果您的客户端没有发送标题,则无法接收和处理它。
Java EE Doc我读到的是没有关于标题存在时会发生什么但是值不是整数的情况,因为价格通常不会。我希望在这种情况下可能会抛出NumberFormatException。但是没有尝试过,可以想象它可能会吃异常并返回-1。我敢打赌它会抛出NumberFormatException,在这种情况下。