プロが教えるわが家の防犯対策術!

ローカルホストで下の三角形をクリックするとランダムに表示されるのですが、
何も表示されません。どうすればよいでしょうか?
jsp
<%@page contentType="text/html; charset=Windows-31J"%>

<HTML>
<BODY>
<HR>
<H2 td align="center" >くじを引いてください</H2></TR>


<P td align="center"></TR>
<img src="http://www.kk-mind.com/image/hls.jpg" >
<BR>

<A HREF="../servlet/input.OmikuziServlet">
<img src="http://www.misedas.net/item_images/item_group/l/ … NAME="text1" >
</A>
<HR>
</FORM>
</BODY>
</HTML>

JAVA
import java.io.IOException;
import java.io.PrintWriter;
import java.util.Random;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

public class OmikuziServlet extends HttpServlet {

public void doGet(HttpServletRequest request,
HttpServletResponse response)
throws ServletException, IOException {

request.setCharacterEncoding("Windows-31J");
response.setContentType("text/html; charset=Windows-31J");

PrintWriter out = response.getWriter();
String msg = request.getParameter("text1");
try{
int x = Integer.parseInt(msg);
x = (int)(Math.random() * 5) + 1;

String strResult = ""; //結果格納用
//数値によって画像を決定
switch(x){
case 0:
strResult = "車";
out.println("<HTML>");
out.println("<HEAD>");
out.println("<HR>");
out.println("<title>サンプル15-IMG</title>");
out.println("<img src=\"http://www.yousaydo.com/shopimages/yousaydo2nd/0 …
out.println("<HR>");
out.println("</BR>");
out.println("</BODY>");
out.println("<HTML>");
break;
case 1:
strResult = "マグカップ";
out.println("<HTML>");
out.println("<HEAD>");
out.println("<HR>");
out.println("<title>サンプル15-IMG</title>");
out.println("<img src=\"http://image.rakuten.co.jp/world-chara/cabinet/k …
out.println("<HR>");
out.println("</BR>");
out.println("</BODY>");
out.println("<HTML>");
break;

case 2:
strResult = "スリッパ";
out.println("<HTML>");
out.println("<HEAD>");
out.println("<HR>");
out.println("<title>サンプル15-IMG</title>");
out.println("<img src=\"http://item.shopping.c.yimg.jp/i/j/net-shibuya_k …
out.println("<HR>");
out.println("</BR>");
out.println("</BODY>");
out.println("<HTML>");
break;

case 3:
strResult = "コップ";
out.println("<HTML>");
out.println("<HEAD>");
out.println("<HR>");
out.println("<title>サンプル15-IMG</title>");
out.println("<img src=\"http://ec2.images-amazon.com/images/I/31xeukC9Ni …
out.println("<HR>");
out.println("</BR>");
out.println("</BODY>");
out.println("<HTML>");
break;

case 4:
strResult = "リラック間人形";
out.println("<HTML>");
out.println("<HEAD>");
out.println("<HR>");
out.println("<title>サンプル15-IMG</title>");
out.println("<img src=\"http://www.san-x.co.jp/relaxuma/campaign/img/59/ …
out.println("<HR>");
out.println("</BR>");
out.println("</BODY>");
out.println("<HTML>");
break;

case 5:
strResult = "筆箱";
out.println("<HTML>");
out.println("<HEAD>");
out.println("<HR>");
out.println("<title>サンプル15-IMG</title>");
out.println("<img src=\"http://www.zakka-bungu.com/site_data/cabinet/py3 …
out.println("<HR>");
out.println("</BR>");
out.println("</BODY>");
out.println("<HTML>");
break;
}
} catch (NumberFormatException e){
System.out.println("入力が正しくありません");
}
}
}

A 回答 (1件)

> ローカルホストで下の三角形をクリックするとランダムに表示されるのですが、何も表示されません。



すみません。おっしゃる意味がわかりません。
結局、表示されるのですか?されないのですか?
・ローカルホストで...表示されるのですが、『公開サーバーでは』何も表示されません
・...表示される『はずのプログラムな』のですが、何も表示されません
どちらの意味なのでしょうか?それとも、これ以外の意味なのでしょうか?

また、表示されないのは、前半のJSP(と言っても、これは実質ただのHTML)でしょうか?後半のservletでしょうか?

http環境はちゃんと設定できているのでしょうか?
Hello,Worldのような単純なservletでの動作確認くらいはできているのでしょうか?

そのあたりがはっきりしないと、考えようがありません。


> int x = Integer.parseInt(msg);
ここで例外が発生して、catchへ飛んでるのではないですか?
http://docs.oracle.com/javase/jp/1.5.0/api/java/ …
には、引数は10進整数の文字列でなければならないとあります。
msgは「String msg = request.getParameter("text1"); 」とあります。JSPを見ても、text1にそのような数字が入るようには見えません。
System.out.printlnが使われているので、htmlとしては出力されません。htmlサーバーのログに残ってませんか?



あと、直接は関係ないことですが
○ HTMLが無茶苦茶です。正しく書きましょう。
○ 画像を勝手に使ってないですか?自由素材でも無いものを勝手に使うのはルール違反です。
○ x = (int)(Math.random() * 5) + 1; では、xは0にはなりません。よって、case 0:は使われません。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!