2014-03-05 80 views
0

我是java的Web開發新手,剛剛開始使用帶有「Welcome Servlet」項目的servlet。它有3個文件,1.默認包中的ColServlet.java。 2.在WebContent文件夾中的index.html。 3. WEB-INF文件夾中的web.xml。 ColServlet.java是:Servlet沒有顯示從html頁面獲取的數據

import java.io.*; 
import javax.servlet.*; 
import javax.servlet.http.*; 
    public class ColServlet extends HttpServlet 
{ 

public void doGet(HttpServletRequest request,HttpServletResponse response) 
       throws ServletException, IOException 

{ 
String colname = request.getParameter("col"); 
response.setContentType("text/html"); 
PrintWriter info = response.getWriter(); 

info.println("The color is: "); 
info.println(" <HTML>\n" + 
      "<HEAD><TITLE>Hello WWW</TITLE></HEAD>\n" + 
      "<BODY>\n" + 
      "<H1>Hello WWW</H1>\n" + 
      "<h1>"+colname+"</h1>"+ 
      "</BODY></HTML>"); 
info.close(); 
} 
} 

index.html文件是:

<html> 
    <head> 
     <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> 
      <title>Select Color</title> 
    </head> 
    <body> 
     <form method="GET" action="/ColServlet"> 
      Select the color: 
      <select name="col" size="3"> 
       <option value="blue">Blue</option> 
       <option value="orange">Orange</option> 
      </select> 
      <input type="submit" value="Submit"> 
     </form> 
    </body> 
</html> 

web.xml文件:

<web-app> 
    <servlet> 
     <servlet-name>Servlet1</servlet-name> 
     <servlet-class>ColServlet</servlet-class> 
    </servlet> 
    <servlet-mapping> 
     <servlet-name>Servlet1</servlet-name> 
     <url-pattern>/ColServlet</url-pattern> 
    </servlet-mapping> 
</web-app> 

NOW:問題是每當我選擇任何顏色,下一頁不顯示選定的一個。

+0

中號使用Eclipse和Tomcat 7.0 –

+0

什麼信息顯示在下一頁中? –

+0

在地址欄中輸入:http:// localhost:8080/ColServlet?col = orange On網頁: -------------------------------------------------- ------------- 類型狀態報告 消息/ ColServlet description請求的資源不可用。 ----------------------------------------------- --------------------------------- Apache Tomcat/7.0.52 –

回答

0

@SotiriosDelimanolis' comment開始,您應該更改<form>中的操作路徑以使用應用程序的上下文路徑。你應該在你的index.html文件更新該行:

<form method="GET" action="<applicationName>/ColServlet"> 

哪裏<applicationName>是你的Web應用程序,它通常是你的web項目的名字,例如:名稱「WelcomeServet」(不含引號)。

如果你碰巧使用JSP文件,而不是(可作爲重新命名的index.html的index.jsp以簡單),然後更新該行:

<form method="GET" action="${pageContext.request.contextPath}/ColServlet"> 
相關問題