サーブレットから送られてきた文字が表示されない

このQ&Aのポイント
  • Windows2000、Tomcat-3.3a環境でJSP+DBを使用したプログラムで、サーブレットからのデータがブラウザに表示されない問題が発生しています。
  • Tomcatの画面にはエラー表示はなく、HTMLデータは表示されるものの、文字やタブが表示されず、真っ白な状態となっています。
  • METAタグの設定や文字種類の変更など、問題の原因を特定するために様々な試みを行いましたが、解決には至っていません。
回答を見る
  • ベストアンサー

サーブレットから送られてきた文字が表示されない

urizakaです さて、OSはWindows2000、アプリケーションサーバーはTomcat-3.3aという環境でJSP+DB(posgreSQL windows-Native版)でサーブレットからBeanにDBのデータを検索させるというきわめてオーソドックスなプログラムを組んだのですが、どうしたわけかブラウザー(IE6.0)の画面にJSPで設定したタブや文字が表示されず、真っ白に表示されてしまいます。プログラムのエラーかと思って、Tomcatの画面を見てみたのですが、Tomcatにはエラーらしい表示はなく、それどころか表示→ソースの順番に見てみるとちゃんとそこには表示したかったデータのHTMLデータがある状態です。表示→エンコードで文字種類を変えてもだめでした。別にMETAタグで変な設定をしているわけではないのですが・・・ ちなみに、JSPのソースコードは以下のようです <%@ page import = "NeoBean" %> <jsp:useBean id="neobean" scope="session" class="NeoBean"/> <HTML> <head> <title>サンプルでGO!</tilte> </head> <body> <input type="button" value="aaaa"> <H3>サンプル画面表示</H3> <table width="100%" border="1"> <% int i = 0; for(int lp = 1; lp <= neobean.getID().size(); lp++){ %> <TR> <TD width="20%"> <% out.println(neobean.getID().elementAt(i)); %> </TD> <TD width="80%"> <% out.println(neobean.getName().elementAt(i)); %> </TD> </TR> <% i++; } %> </table> </body> </HTML> すみませんが、ご存知の方よろしくお願いします。

  • Java
  • 回答数1
  • ありがとう数1

質問者が選んだベストアンサー

  • ベストアンサー
noname#30871
noname#30871
回答No.1

 Javaとは関係なく、HTMLに誤りがあります。 > </tilte>

urizaka
質問者

お礼

urizakaです 申し訳ありません、私も今気づいて慌てて戻ってきたのですが・・・遅かった amajun様をはじめとして、皆様にはほんとうにご迷惑をおかけしました。

関連するQ&A

  • HTMLの質問なのかJAVAサーブレットの質問なのか微妙なのですがテー

    HTMLの質問なのかJAVAサーブレットの質問なのか微妙なのですがテーブルを一行に二つ表示したいのですが表示はできるんですが表示位置を中央にすることができなくて困ってます どうすれば中央にすることができますか? while(rs2.next()){ String name = rs2.getString("st.staff_name"); String kana = rs2.getString("st.staff_kana"); String birthday = rs2.getString("st.birthday"); String sex = rs2.getString("sm.sex"); String blood = rs2.getString("bm.blood_type"); String hight = rs2.getString("st.hight"); String weight = rs2.getString("st.weight"); String reration = rs2.getString("st.reration"); String mobile = rs2.getString("st.mobile_tel"); String tel = rs2.getString("st.tel"); out.println("<br></br><TABLE border=0 align=\"center\"><table border=1 align=\"left\"><tr><th width=150>氏名</th>"); out.println("<td width=200>"+name+"</td></tr><tr>"); out.println("<th>ヨミガナ</th>"); out.println("<td>"+kana+"</td></tr><tr>"); out.println("<th>生年月日</th>"); out.println("<td>"+birthday.replace("-", "/")+"</td></tr><tr>"); out.println("<th>性別</th>"); out.println("<td>"+sex+"</td></tr><tr>"); out.println("<tr><th>身長</th>"); out.println("<td>"+hight+"</td></tr>"); out.println("<tr><th>体重</th>"); out.println("<td>"+weight+"</td></tr>"); out.println("<tr><th>血液型</th>"); out.println("<td>"+blood+"</td></tr>"); out.println("<tr><th>携帯電話番号</th>"); String mtel=""; if(mobile!=null&&mobile.length()>0){ for (int i = 0; i < mobile.length(); i++) { char ch = mobile.charAt(i); if(i==3){ mtel+="-"; } if(i==7){ mtel+="-"; } mtel+=ch; if(mobile.length()==0){ mtel="-"; } } }else{ mtel="不所持"; } out.println("<td>"+mtel+"</td></tr>"); out.println("<tr><th>自宅電話番号</th>"); String ttel=""; for (int i = 0; i < tel.length(); i++) { char ch = tel.charAt(i); if(i==4){ ttel+="-"; } if(i==6){ ttel+="-"; } ttel+=ch; } out.println("<td>"+ttel+"</td></tr>"); out.println("<tr><th>続柄</th>"); out.println("<td>"+reration+"</td>"); out.println("</tr></table>");

  • なぜかうまく表示されないNetscape

    まずは以下のHTMLをご覧ください。 ---------------------------------------------------------------- <html> <head></head> <body> <table border="1" width="100%"> <tr> <td width="28%"> </td> <td width="24%"> </td> <td width="24%"> </td> <td width="24%"> </td> </tr> </table> <table border="1" width="100%"> <tr> <td width="28%"> </td> <td width="12%"> </td> <td width="12%"> </td> <td width="12%"> </td> <td width="12%"> </td> <td width="12%"> </td> <td width="12%"> </td> </tr> </table> </body> </html> ---------------------------------------------------------------- これをブラウザで表示させますと上下に2つのテーブルが表示されます。 まずIEのほうで表示させますと、上下2つのテーブルの罫線が widthで指定してあるので、ほぼぴったり罫線の位置が合うのですが、 Netscapeのほうで表示させるのと、なぜか罫線の位置が大きく異なって表示されます。 これの原因は何でしょうか? また、Netscapeみたいに大きく罫線の位置がずれるような 方法はないものでしょうか?

  • テキストを表示すると文字化けする

    まず、HTMLから !DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=windows-31j"> <title>メール送信フォーム</title> </head> <body> <h2>メール送信フォーム</h2> <form action="conf.jsp" method="POST"> <table summary="" border="0"> <tr> <td>お名前</td> <td><input type="text" name="name" size="20"></td> </tr> <tr> <td>メールアドレス</td> <td><input type="text" name="from" size="20"></td> </tr> <tr> <td>メールタイトル</td> <td><input type="text" name="title" size="20"></td> </tr> <tr> <td>メッセージ</td> <td><textarea rows="5" name="message" cols="40"></textarea></td> </tr> <tr> <td colspan="2"><input type="submit" value="内容の確認"></td> </tr> </table> </form> </body> </html> それを受けるconf.jspで文字化けします。 が、1つ文字化けせずに表示する方法があります。 <%@ page language="java" contentType="text/html; charset=Shift_JIS" pageEncoding="Shift_JIS"%> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=Shift_JIS"> <title>メール送信フォーム</title> </head> <body> <h2>メール送信内容確認画面</h2> <% request.setCharacterEncoding("Shift-JIS"); ↑ここですね↑見にくくてすいません。 ここでShift_JISに変換されてちゃんと表示されます。 でも、これは後から付け加えたものでソースコードには最初ありませんでした。 //フォームの値を取得 String mName = request.getParameter("name"); String mFrom = request.getParameter("from"); String mTitle = request.getParameter("title"); String mNaiyou = request.getParameter("message"); //値をチェック boolean errFlg = false; if (mName.equals(" ")) { out.println("<p>お名前を入力して下さい。"); errFlg = true; } if (mFrom.equals(" ")) { out.println("<p>メールアドレスを入力して下さい。"); errFlg = true; } if (mTitle.equals(" ")) { out.println("<p>タイトルを入力して下さい。"); errFlg = true; } if (mNaiyou.equals(" ")) { out.println("<p>内容を入力して下さい。"); errFlg = true; } if (errFlg == false) { %> <h2>内容を確認して送信ボタンをクリックして下さい</h2> <form action="sendMail.jsp" method="POST"> <table border="0"> <tr> <td width="100">お名前</td> <td width="300"><%= mName %></td> </tr> <tr> <td width="100">メールアドレス</td> <td width="300"><%= mFrom %></td> </tr> <tr> <td width="100">メールタイトル</td> <td width="300"><%= mTitle %></td> </tr> <tr> <td width="100">メッセージ</td> <td width="300"><%= mNaiyou %></td> </tr> <tr> <td colspan="2"><input type="submit" value="送信"></td> </tr> </table> <input type="hidden" name="name" value="<%= mName %>"> <input type="hidden" name="from" value="<%= mFrom %>"> <input type="hidden" name="title" value="<%= mTitle %>"> <input type="hidden" name="message" value="<%= mNaiyou %>"> </form> <% }%> </body> </html> 何故、文字化け状態になるのでしょう。 アドバイス宜しくお願い致します。

  • jsp、サーブレットの質問です。

    Tomcatを使用してjspとサーブレットを使い掲示板のような投稿サイトもどきを作成していますが解決できない部分があります。 ↓は表示用のjspです♪ <html> <head> <title>Insert title here</title> </head> <body> <% String lsts = (String)request.getAttribute("lst"); %> <table border="4"> <tr> <td>日時</td> <td>タイトル</td> <td>スレッド主</td> <td></td> </tr> <tr> <td><%for(int i = 0; i<lsts.length(); i++){ out.println(lsts); } %> </td> <td><%out.println(); %></td> <td><%out.println("");%></td> <td> </td> </tr> </table> </form> </body> </html> こちらがサーブレットです otected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { /*DB接続処理は省略します*/ try{ ps = (PreparedStatement) con.prepareStatement(sql); String sql = "select * from thred"; ResultSet rs = ps.executeQuery(); //テーブル内一覧取得 while(rs.next()){ rs.getString("time"); rs.getString("title"); rs.getString("id"); rs.getString("thredid"); String s = (rs.getString("time")+","+ rs.getString("title")+","+rs.getString("id")); String[] lsts = s.split(","); List<String> thlists = Arrays.asList(lsts); String ss = (thlists.get(0)); request.setAttribute("thlst",ss); RequestDispatcher dispatcher= request.getRequestDispatcher("/list.jsp"); dispatcher.forward(request,response); } }catch(SQLException e){ e.printStackTrace(); } catch(ClassNotFoundException e){ e.printStackTrace(); }finally{ try { con.close(); } } } jspの方にサーブレットでthredDBから抜き取ったtimeとtitleとidを全て表示させたいのですが 現状だと 2014-06-03 06:45:02  aaaa 1 の行だけがたくさん表示されてしまいます 恐らくスコープを取得した時点でこの↑の1行のものしかとれてこれていないのだと思います... どのように処理を行ったらよいのでしょうか? DBの中身は画像添付いたしますっ

  • 項目名が勝手に折れる・・・

    HTML超初心者です。 上司から電子書類のHTMLを作るように言われたのですが、項目名が勝手に折れて表示されてしまいます。どうしたらちゃんと一行に表示されるのでしょうか? 下のソースで、「123」の下に「1.たいとる」を一行で表示させたいのですが… 申し訳ありませんが、よろしくお願い致します!! <TABLE width="100%"><TR><TD> <TABLE width="10%" border=1 align=left> <TBODY> <TR> <TD noWrap align=middle>123</TD> <BR></TD> </TBODY> </TABLE> <TABLE width="50%" border=1 align=right> </TABLE> </TD></TR></TABLE> <P><BR> <table> <tr> <TD width="91">1.たいとる</TD>

    • ベストアンサー
    • HTML
  • HTMLを使って表を作成しているのですが、枠線がキレイに揃いません。

    HTMLを使って表を作成しているのですが、枠線がキレイに揃いません。 下のソースで50と130のとこをきちんとエクセルのように枠線揃えたいのですが、 どのようにしたら良いのでしょうか? よろしくお願いします。 <HTML> <BODY> <TABLE border=1><TR> <TH width="50"></TH> <TH width="135"></TH> <TH width="65"></th> <TH width="65"></th> <TH width="65"></th> </TR><TR> <TD colspan="5"> <TABLE border=1><TR> <TD width=50>50</TD> <TD width=200>200</TD> <TD width=130>130</TD> </TR><TR> <TD width=50>50</TD> <TD width=200>200</TD> <TD width=130>130</TD> </TR></TABLE> </TD> </TR><TR> <TD colspan="5"> <TABLE border=1><TR> <TD width=50 rowSpan=2>50</TD> <TD width=135 rowSpan=2>135</TD> <TD width=65 rowSpan=2>65</TD> <TD width=130 colSpan=2>130</TD> </TR><TR> <TD width=65>65</TD> <TD width=65>65</TD> </TR><TR> <TD width=50>50</TD> <TD width=135>135</TD> <TD width=65>65</TD> <TD width=65>65</TD> <TD width=65>65</TD> </TR><TR> <TD width=250 colSpan=3>250</TD> <TD width=65>65</TD> <TD width=65>65</TD> </TR></TABLE> </TD> </TR><TR> <TD colspan="5"> <TABLE border=1><TR> <TD width=250>250</TD> <TD width=130>130</TD> </TR></TABLE> </TD> </TR> </TABLE> </BODY> </HTML>

    • ベストアンサー
    • HTML
  • 動く文字について

    以下のようなテーブルを作りたいと思っているのですが、borderを1にすると動く文字が表示されるのですが、0にすると表示されないんです。どうすれば動くようになりますか? <Table border="1" Width="666" Height="58" Cellspacing="0" Cellpadding="0"> <Tr> <Td RowSpan="2" Width="23%">1</Td> <Td> <MARQUEE scrollamount="1" scrolldelay="25" truespeed>123456789</MARQUEE> </Td> </Tr> <Tr> <Td> <MARQUEE scrollamount="1" scrolldelay="25" truespeed>987654321</MARQUEE> </Td> </Tr> </Table>

    • ベストアンサー
    • HTML
  • テーブルの横幅を常にブラウザ一いっぱいに表示するに

    テーブルの横幅を常にブラウザ一いっぱいに表示するには? たとえば *********************************************** <HTML> <HEAD> <TITLE>test</TITLE> </HEAD> <BODY> <table border=1 cellspacing=0 cellpadding=0> <caption>キャプション</caption> <tr> <td>内容1</td> <td>内容2</td> </tr> </table </BODY> </HTML> *********************************************** を作ると、画像のようにコンパクトに表示されてしまいます。 やりたい事はブラウザの横幅が 10cmなら画面いっぱいテーブルを表示させて、 20cmなら画面いっぱいにテーブルを表示させたいです。 <table border=1 cellspacing=0 cellpadding=0 width="2000"> するとはみ出してしまうし、 <table border=1 cellspacing=0 cellpadding=0 width="1000"> だと小さすぎます。 誰がどのブラウザで開いても、横幅は画面いっぱいに入るように表示するにはどういうタグを書けばいいのでしょうか?

    • ベストアンサー
    • HTML
  • 特定の文字列に囲まれた文字列を複数同時に抽出したい

    ホームページのソースの中から特定の文字列(タグ含む)に囲まれた文字を 複数同時にテキストファイルに抽出したいです。 例えば <table><tr><td width="100">い</tr></table> <table><tr><td width="88">ろ</tr></table> <table><tr><td width="55">は</tr></table> <table><tr><td width="100">にほ</tr></table> <table><tr><td width="55">へと</tr></table> とあった場合、「width="100">」と「</tr>」を指定して、 「い」と「にほ」をテキストファイルに書き出したいです。 何か良いソフトはないでしょうか?

  • Macのieで文字がテーブルからはみ出て表示される

    私は普段、Windowsでホームページを作成しているのですが、 テーブル内のテキストの文字間や行間をスタイルシートで調節すると、 Windowsではどのブラウザでも問題なく表示されるのですが、 Macのie(5.2)で見ると、テーブル内で改行されずに 文字がはみ出して表示されてしまいます。 文字がはみ出ないようにするにはどのようにすればよいのでしょうか? よろしくお願いします。 (例) 【CSS】 td { line-height : 1.5 ; letter-spacing : 0.5em ;} 【HTML】 <table width="50%" border="1"> <tr> <td width="100%"> あいうえおかきくけこさしすせそたちつてとなにぬねのはひふへほまみむめもやゆよらりるれろわん。 </td> </tr> </table>

    • ベストアンサー
    • HTML

専門家に質問してみよう