2013-09-28 69 views
0

我有以下提供的代碼:查看由Java Servlet中生成的HTML頁面

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

    public class HelloServlet extends HttpServlet { public void doGet(HttpServletRequest     request, HttpServletResponse response) 
     throws IOException, ServletException { 
     /* set the output content type */ 
     response.setContentType("text/html"); 
     /* create a class to write the output */ 
     PrintWriter out = response.getWriter(); 
     /* write an html document */ 
     out.println("<html>"); 
     out.println("<head>"); 
     out.println("<title>HelloServlet</title>"); 
     out.println("</head>"); 
     out.println("<body>"); 
     out.println("<h1>Hello, from my first servlet!</h1>"); 
     out.println("</body>"); 
     out.println("</html>"); 
     } 
    } 

我可以在此使用Java博士的自定義版本編譯,但是當我嘗試運行它,我得到的以下錯誤:「靜態錯誤:此類沒有接受String []的靜態主要方法。」

我是否應該使用另一個應用程序(如XAMPP)來查看結果,或者我給出的代碼不正確?

+0

因此,servlet不是獨立的Java應用程序。它們在像Tomcat或Jetty這樣的servlet容器內運行。我建議查找一些servlet教程。 – Aurand

回答

0

我會推薦像使用tomcat 7一樣在本地服務器上運行它。也可以添加一個URL映射到你的doGet方法。另外,如果你使用eclipse,你會爲自己節省很多麻煩,Web開發人員有一個eclipse版本。

+0

我有Eclipse,並且遇到了麻煩。也許我有錯誤的版本。我會檢查它! –

0

Servlet會從其他類中調用。 基於HTML表單中提到的操作,servlet的doGet或doPost方法將被調用。

所以如果你只是想測試你的servlet的功能,只需添加一個代碼段像

public void main(string[] args){ 
    doGet(\*required params to call get*\); 
} 

另外,你不知道的servlet將通過GET或POST調用,但你有相同的功能需求都。然後添加此代碼段將是可取的

public doPost(\*args*\){ 
    doGet(\*args*\)l 
}