HelloServletという名前のサーブレットがあります。
import java.io.*;
import javax.servlet.*;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
public class HelloServlet extends HttpServlet
{
public void doGet(ServletRequest request, ServletResponse response)
throws ServletException, IOException
{
response.setContentType("text/html");
PrintWriter pw = response.getWriter();
pw.println("<html>");
pw.println("<head>");
pw.println("<title> Hello World </title>");
pw.println("</head>");
pw.println("<body>");
pw.println("<h1> Hello, World!</h1>");
pw.println("</body>");
pw.println("</html>");
pw.close();
}
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException
{
doGet(request, response);
}
}
それをファイルにコンパイル.class
し、tomcatディレクトリにC:/tomcat/webapps/ALTest1/WEB-INF/classes/
配置します-サーブレットマッピング(url-patternをとして配置/hi
)とそのサーブレットエントリを作成しましたC:/tomcat/webapps/ALTest1/WEB-INF/web.xml
すべて正常に動作しますが、ブラウザにアクセスしてアクセスすると、http://localhost:8080/ALTest1/hi
次のようなエラーメッセージが表示されます。
HTTP STATUS 405 - HTTP METHOD GET is not supported by this URL
...ファイルに両方doPost
とdoGet
メソッドがあるので、これは奇妙です。HelloServlet.class
したがって、doGet
サポートされていない場合でも、POSTを処理するdoPostメソッドがありますが、それでも機能しません。