已正確安裝 JDK 與 Resin 3.0。
原始文檔有三處錯誤,修正後可運行版本:
<web-app>
<servlet servlet-name='hello-world' servlet-class='test.HelloWorld'/>
<servlet-mapping url-pattern='/hello' servlet-name='hello-world'/>
</web-app>
修正點:
<servlet> 必須置於 <servlet-mapping> 之前。<servlet> 標籤以 /> 自閉合(原漏寫)。<init-param greeting='Hello, World'/>(導致啟動失敗)。路徑:$app-dir/WEB-INF/classes/test/HelloWorld.java(或編譯後的 .class)。
package test;
import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;
public class HelloWorld extends HttpServlet {
public void doGet(HttpServletRequest req, HttpServletResponse res)
throws ServletException, IOException {
res.setContentType("text/html");
PrintWriter pw = res.getWriter();
pw.println("<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.0 Transitional//EN\">");
pw.println("<html><head><title>Hello, world!</title></head>");
pw.println("<body bgcolor=#cc99dd><h1>Hello, world!</h1></body></html>");
pw.close();
}
}
https://localhost:8080/hello 應顯示「Hello, world!」。註:原文檔使用 init-param 讀取問候語,因移除該參數,此處直接寫死輸出。