如何将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
假设您正在尝试发送邮政请求。您没有邮政请求处理程序,即。无doPost()
,因此您继承了返回405 Method Not Allowed
响应的HttpServlet
的实现。您会看到,如果您做了
System.out.println(oc.getResponseCode());
而是将您的doGet
更改为doPost
。或两者都取决于您。