###前提・実現したいこと
サーブレットクラスを定義してブラウザから占い結果をリクエストして実行したい
ブラウザに「2018/1/1の運勢は○○です」とランダムに表示したい。
###発生している問題・エラーメッセージ
日付以降が??????となってしまう 「2018/1/1?????????」と表示されてしまう。
###該当のソースコード
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; /** * Servlet implementation class Sample */ @WebServlet("/Sample") public class Sample 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>"); } /** * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response) */ protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { } }
###試したこと
デバッグして見たところ、「//HTMLを出力」の下の段から、変数に
org.apache.catalina.connector.CoyoteWriter@5103e95bと出力されてしまう。
###補足情報(言語/FW/ツール等のバージョンなど)
Pleiades
java7
Eclipse4.7.2
Tomcat7
回答1件
あなたの回答
tips
プレビュー