gpt4 book ai didi

java - 将 byte[] 从独立 main 发送到 servlet

转载 作者:行者123 更新时间:2023-12-01 13:31:12 25 4
gpt4 key购买 nike

如何将 byte[] 从测试客户端(独立)发送到 Servlet?

这是我的代码:

public class Sent
{
public static void main(String[] args) throws Exception
{
URL url = new URL("http://mydomain.com:8080/demo/myServlet");
HttpURLConnection oc = (HttpURLConnection)url.openConnection();

oc.setDoOutput(true);
oc.setUseCaches(false);

OutputStream os = oc.getOutputStream();
os.write("Hello world".getBytes());
os.flush();
os.close();
}
}

这是我的 servlet:

@WebServlet("/myServlet")
public class MyServlet extends HttpServlet
{
private static final long serialVersionUID=1L;

protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException,IOException
{
ServletInputStream sis = request.getInputStream();
int c;
while( (c=sis.read())>=0 )
{
System.out.println((char)c);
}

sis.close();
}
}

使用此代码,servlet 不会执行任何操作;我的意思是“什么都没有”,它不会在控制台上写任何内容...帮助。

谢谢。

最佳答案

当你打电话时

oc.setDoOutput(true);

HttpURLConnection 假定您正在尝试发送 POST 请求。您没有 POST 请求处理程序,即。没有 doPost(),因此您继承了 HttpServlet 的实现,该实现返回 405 Method Not Allowed 响应。如果你这样做你就会看到

System.out.println(oc.getResponseCode());

相反,将 doGet 更改为 doPost。或者两者兼而有之,由您决定。

关于java - 将 byte[] 从独立 main 发送到 servlet,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21557794/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com