JSP・Servlet・Beanがうまくいかなくて困っています。開発環境はWindowsXP JDK5とEclipse3.2とTomcat5.5を使って作っています。 じゃんけんをするゲームを作ったのですが、コンピュータの手は文字列も画像もきちんと出るのですが、自分の手が文字列は文字化けして画像も正しく表示されません。 JSPのcharsetやServletのrequest.setCharacterEncoding()メソッドなど文字化け等で考えられることはいろいろ調べてやってみたつもりなのですがどうもうまくいきません。コンソールに値を出力するようにしてデバックもやってみてはいるのですが、同様に文字化けした値が入ってしまいます。どなたかご教授下さい。以下にソースを書きます。 <!--JankenStart.jsp--> <%@page language="java" import="java.lang.*, java.util.*" contentType="text/html; charset=Shift_JIS"%> <html> <head><title>じゃんけんゲーム</title></head> <body> <h2>このゲームはコンピュータとじゃんけんをします!<br> コンピュータに勝てるかな?</h2> <form action="../JankenAction"> あなたの手: <input type="radio" name="te1" value="グー">グー<img src="../img/hand4-1-3.gif"> <input type="radio" name="te1" value="チョキ">チョキ<img src="../img/hand4-1-1.gif"> <input type="radio" name="te1" value="パー">パー<img src="../img/hand4-1-2.gif"><p> <center><input type="submit" value="勝負"></center> </body> //JankenAction.java package servlets; import java.io.*;import javax.servlet.*;import javax.servlet.http.*;import beans.JankenBean; public class JankenAction extends HttpServlet{ public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException{ request.setCharacterEncoding("Windows-31J"); response.setCharacterEncoding("Windows-31J"); String te=request.getParameter("te1"); JankenBean jankenBean=new JankenBean(); jankenBean.setJibun(te); jankenBean.setComputer(); jankenBean.setHantei(); request.setAttribute("hoge", jankenBean); RequestDispatcher rDispatcher=request.getRequestDispatcher("JSP/JankenKekka.jsp"); rDispatcher.forward(request, response); } } //JankenBean.java package beans; public class JankenBean { private String computer=null;private String jibun=null; private String hantei=null;private String jgazou=null; private String cgazou=null; public String getComputer(){ return computer; } public String getCgazou(){ return cgazou; } public void setComputer(){ int random =(int)(Math.random()*3); if(random==0){ System.out.println("グー"); computer="グー"; cgazou="img/hand4-1-3.gif"; } else if(random==1){ System.out.println("チョキ"); computer="チョキ"; cgazou="img/hand4-1-1.gif"; }else{ System.out.println("パー"); computer="パー"; cgazou="img/hand4-1-2.gif"; } System.out.println("computer"+computer); } public String getJibun(){ return jibun; } public String getJgazou(){ return jgazou; } public void setJibun(String te){ jibun=te; if(jibun.equals("グー")){ jgazou="img/hand4-1-3.gif"; } else if(jibun.equals("チョキ")){ jgazou="img/hand4-1-1.gif"; }else{ jgazou="img/hand4-1-2.gif"; } System.out.println("jibun"+jibun); } public String getHantei(){ return hantei; } public void setHantei(){ String hantei2=""; if( (computer.equals("グー"))&&(jibun.equals("チョキ"))||(computer.equals("チョキ"))&&(jibun.equals("パー"))||(computer.equals("パー"))&&(jibun.equals("グー")) ){ System.out.println("コンピュータの勝ち"); hantei2="コンピュータの勝ち"; } else if( (computer.equals("グー"))&&(jibun.equals("パー")) ||(computer.equals("チョキ"))&&(jibun.equals("グー")) ||(computer.equals("パー"))&&(jibun.equals("チョキ")) ){ System.out.println("あなたの勝ち"); hantei2="あなたの勝ち"; }else{ System.out.println("あいこ"); hantei2="あいこ"; } hantei=hantei2; } }
↧