###前提・実現したいこと
JavaServletの初心者です。EclipseでのJavaServlet実行についてお聞きしたいです。 参考書のコードを丸写したが、うまく実行できません。
###発生している問題・エラーメッセージ
コード1で実行すると、「HTTPステータス 404 - /entry/servlet/foo.HelloServlet」のエラーが出ます。
type ステータスレポート メッセージ /entry/servlet/foo.HelloServlet 説明 The requested resource is not available
###該当のソースコード
コード➀
package foo;
import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
public class HelloServlet extends HttpServlet {
public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { PrintWriter out = response.getWriter(); out.println("Hello"); }
}```
###試したこと
いろいろと試しましたが、以下のコードで実行できるようになりました。
コード②
package foo;
import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
/**
- Servlet implementation class HelloServlet
*/
@WebServlet("/HelloServlet")
public class HelloServlet extends HttpServlet {
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { PrintWriter out = resp.getWriter(); out.println("Hello"); }
\\\\\\\\\\\\\\\\\
コード➀と違うところが2点:
1.以下のクラスがインプットされています。
import javax.servlet.annotation.WebServlet;
2.以下のコードが追加されています。
/**
- Servlet implementation class HelloServlet
*/
@WebServlet("/HelloServlet")
参考書はEclipseで実行する前提ではないないから、コード➀でもいけるかもしれないですが、これからはEclipseでServletを勉強するつもりですので、
コード②の意味と、なぜコード②で書かないと実行できないなのかを知りたいです。また、コード②で実行する時のパスは
http://localhost:8080/basic/HelloServlet
に対して、コード➀で実行する時のパスは
http://localhost:8080/basic/servlet/foo.HelloServlet
になっています。
ご教示していただければ幸いです。
}###補足情報(言語/FW/ツール等のバージョンなど)
より詳細な情報
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2016/11/27 18:08