
JAVAの「スッキリわかるサーブレット&JSP入門」という書籍で勉強中なのですが、まず、tomcatで動作確認するために下記のサンプルを試したらできました。
eclipseでtomcatをサーバーにしてやっています。
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>Insert title here</title> </head> <body> hello! </body> </html>
これを実行すると、、、
そのまま書籍の通り進めていくサーブレットとやらを使ってみるのですが、下記コードを実行しても404が返ってきます。
package servlet; import java.io.IOException; import java.io.PrintWriter; import java.text.SimpleDateFormat; import java.util.Date; import javax.servlet.ServletException; import javax.servlet.annotation.WebServlet; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; @WebServlet("/SampleServlet") public class SampleServlet extends HttpServlet { private static final long serialVersionUID = 1L; protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { // 運勢をランダムで決定 String[] luckArray = { "超スッキリ", "スッキリ", "最悪" }; // 0以上3未満の整数を乱数で生成 int index = (int) (Math.random() * 3); String luck = luckArray[index]; // 実行日を取得 Date date = new Date(); SimpleDateFormat sdf = new SimpleDateFormat("yyyy/MM/dd"); String today = sdf.format(date); // HTMLを出力 response.setContentType("text/html; charset=UTF-8"); PrintWriter out = response.getWriter(); out.println("<html>"); out.println("<head>"); out.println("<title>スッキリ占い</title>"); out.println("</head>"); out.println("<body>"); out.println("<p>" + today + "の運勢は" + luck + "です</p>"); out.println("</body>"); out.println("</html>"); } }
パスが違うようなので、
http://localhost:8080/example/SampleServlet.java
と、手動でアクセスしようとすると、、、
またもや404エラー。
まだ第3章でしょっぱなからつまづいているのですが、何がいけないのでしょうか?
この土日で終わらせたいのに、、、
プロジェクトは、動的WEBプロジェクトです。
動的WEBプロジェクト->新規->JSPファイル、で作りました。
このあたりは書籍の通りなので間違いないと思うのですが、、、
土日で申し訳ないんですが、
教えていただけませんでしょうか。
〜追記〜
eclipseではエディタの左に×がついてるのが気になります。
×があるのはこれで全部ですl。
~追記~
Tomcatは最新の方がいいと思って9にしていたんですが、8にしました。
もう一度、最初から書籍の通りにMacとWinでやったら下記コードの実行をMacではできました。
Winでは、昨日では
import javax.servlet.annotation.WebServlet;
@WebServlet("/SampleServlet")
に×がついていました。
今日起きて、やってみると、何故か9行目が読み込めていました。何故なのか、、、
しかし、14行目のエラーは変わらずです。
Macでは問題なくできています。
Macのeclipseは、
http://mergedoc.osdn.jp/ではなく
http://www.eclipse.org/から本体だけをDLして
http://tomcat.apache.org/download-80.cgi#8.0.36を別途DLしてeclipse.app内の適当なところに設置して
それを使っています。
Winのeclipseは、
http://mergedoc.osdn.jp/から取得し、
最初から
C:\Eclipse\pleiades_neon_4.6\tomcat\8
に入っているものを使っています。
os:Win&Mac
eclipse:4.6 neon
tomcat:8

回答4件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2016/09/03 05:10
退会済みユーザー
2016/09/03 05:25 編集
2016/09/03 11:14
2016/09/03 11:28