0
背景的其他選項:當服務器返回HTTP響應代碼405
我試圖從從applet調用類的數據發送到一個servlet都在同一臺服務器上。
public class SendData {
public void send() {
URL url = new URL("http://address.edu/folder/package/Servlet.class");
URLConnection conn = url.openConnection();
conn.setUseCaches(false);
conn.setDoInput(true);
conn.setDoOutput(true);
ObjectOutputStream objout = new ObjectOutputStream(conn.getOutputStream());
Object data = new Object();
objout.writeObject(data);
objout.flush();
objout.close();
}}
該servlet看起來像:
public class Servlet extends HttpServlet {
public void doPost(HttpServletRequest req, HttpServletResponse resp) {
ObjectInputStream objin = new ObjectInputStream(req.getInputStream());
Object input = objin.readObject();
objin.close();
resp.setStatus(HttpServletResponse.SC_OK);
...// do other things
}}
問題:
傳回的錯誤是java.io.IOException: Server returned HTTP response code: 405 for URL: http://address.edu/folder/Servlet.class
。我正在使用我學校的服務器,但我不是100%確定的,但我不認爲服務器允許使用doPost方法。
有沒有辦法解決這個問題?如果我提供允許訪問的用戶名和密碼,我可以通過ftp連接到servlet.class嗎?我是一個完整的初學者,所以任何意見/建議將不勝感激!
編輯:添加的web.xml
<web-app xmlns="http://java.sun.com/xml/ns/j2ee" version="2.5"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
<servlet>
<servlet-name>Servlet</servlet-name>
<servlet-class>package.Servlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>Servlet</servlet-name>
<url-pattern>/Servlet</url-pattern>
</servlet-mapping>
</web-app>
這將返回相同的錯誤。您提到的配置對允許doPost方法有影響嗎?如果是這樣,我從哪裏開始? – GreenBeans
那就完全不同了。然後,您應該向我們展示您的web.xml(特別是Servlet和ServletMapping部分)以及可能相關的服務器日誌條目。 –
我添加了web.xml,但不知道如何獲取服務器日誌條目。 – GreenBeans