2013-03-12 74 views
-1

我有這樣reverse.html爲根/反向目錄Java servlet類需要什麼操作變量?

<!DOCTYPE html> 
<html> 
    <body> 
    <h1>Assignment Servlets-2 - Reverse</h1> 

    <form method='post' action='ReverseServlet'> 
     Text: <input type='text' name='text' size='50'><br><br> 
     <input type='submit' value='submit'> 
    </form> 
    </body> 
</html> 

這是在/ WEB-INF目錄

<web-app xmlns="http://java.sun.com/xml/ns/javaee" 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" 
version="2.5"> 
    <servlet> <servlet-name>ReverseServlet</servlet-name> 
    <servlet-class>ReverseServlet</servlet-class> </servlet> 

    <servlet-mapping> <servlet-name>ReverseServlet</servlet-name> 
    <url-pattern>/reverse</url-pattern> 
    </servlet-mapping> 
</web-app> 

web.xml和這是ReverseServlet.java源,其被編譯成/ classes目錄

import java.io.* ; 
import javax.servlet.http.* ; 

public class ReverseServlet extends HttpServlet { 
    public void doGet(HttpServletRequest request, HttpServletResponse response) { 
     String text = request.getParameter("text"); 

     response.setContentType("text/html"); 
     try { 
      PrintWriter out = response.getWriter(); 
      out.println(new StringBuffer(text).reverse().toString()); 
      out.close(); 
     } catch(Exception e) { 
      System.out.println("cannot get writer: " + e); 
     } 
    } 
} 

他們都在正確的目錄,我可以加載reverse.html類文件,但動作WO不與ReverseServlet類綁定。我使用的是Tomcat 7.0,並且我已經獲得了一個簡單的servlet,因此我知道它已經正確安裝。它只是不會去servlet代碼後點擊提交...

回答

2

問題是你正在使用後發送請求方法並嘗試使用獲取方法。

1路:

嘗試channge postget或從表單中刪除方法屬性:
<form method='get' action='/reverse'>

OR

2路: 實現doPost方法在ReverseServlet爲了趕來自郵寄方式的要求:

public void doPost(HttpServletRequest request, HttpServletResponse response){...} 
+0

哦,甜美的主。它終於工作了!我很習慣查找錯誤和java邏輯的javac方法。看起來,Servlets比以前更難以使用100倍。也許因爲我現在還沒有和他們談過。謝謝! – 2013-03-12 15:25:32

1

形式的行動應該是servlet的URL,而不是它的名稱:

<form method='post' action='/reverse'> 
+0

我試圖改變它到localhost:8080/Reverse/reverse.html,我添加在/反向/反向的行動變量,因爲/反向沒有工作。它的意思是「指定的HTTP方法不允許用於請求的資源。」我只是在代碼中尋找一個可用的servlet嗎?這只是我第二次嘗試。 – 2013-03-12 02:59:21

相關問題