今までphpでウェブアプリをいくつか作りましたが、javaでは全く作ったことがないです。
Tomcat/サーブレット/JSPなどは初心者なので、質問させてください。
VM 環境で実装しています。
OS:Ubuntu 18.04 live server
Webサーバー:nginx
Webコンテナ:Tomcat9
プログラミング言語:Java です。
本を読みながらやっていますが、本の場合はeclipseにtomcatをダウンロードして、eclipseから新規ウェブプロジェクト作成みないに簡単にできてしまいますが、VM環境では結構ハードです。
できているところ
・一応 localhost:8080にアクセスするとtomcatのページが表示されている状態です。
・Tomcatのexamplesプログラミングなどもちゃんと実行されて、ブラウザ上にも表示されています。
分からないこと
Tomcatのexamples プログラミング(http://localhost:8080/examples/servlets/servlet/HelloWorldExample)と同じようなjavaファイルを作ってコンパイルして、ブラウザから(http://localhost:8080/examples/servlets/servlet/SampleServlet)アクセスしてみたら404になっています。
SampleServletのコード
package mypackage; import java.io.IOException; import java.io.PrintWriter; import java.text.SimpleDateFormat; import java.util.Date; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; public class SampleServlet extends HttpServlet { private static final long serialVersionUID = 1L; protected void doGet (HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { String[] luckArray = {"a", "b", "c"}; 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); response.setContentType("text/html; charset=UTF-8"); PrintWriter out = response.getWriter(); out.println("<html>"); out.println("<head>"); out.println("<title>hello</title>"); out.println("</head>"); out.println("<body>"); out.println("<p>"+today+"のランダムは"+luck+"です</p>"); out.println("</body>"); out.println("</html>"); } }
SampleServlet.javaは tomcat9/webapps/examples/WEB-INF/classes/
の中に置いてあります。
そもそも私のやり方が間違っているかもしれませんが、教えてください。
Tomcat/サーブレット/JSPについて勉強したいですが、いいサイトとかありましたら教えてください。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。