■■ Servlet/JSP(EJB含む) 質問スレ ■■
■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん
02/06/08 11:03ID:Kkr1yl67というわけでつくたよ。
0640nobodyさん
03/01/23 00:16ID:???VBのStrConvのノリを知っていると辛いよね。>日本語関係
こういうのはstaticメソッド作ってからパッケージ化していろんなところで使いまわせるようにしておくが吉。
0641ぁぁぁぁ
03/01/23 02:26ID:wnXMlhsvなんだか文字コードがややこしいですね。
参考書に
String name = request.getParameter("name");
name = new String(name.getBytes("8859_1"),"EUC_JP");
と出てきましたが「8859_1」という数字が何を意味するのやら(;・∀・)
APIドキュメントを見ても何がなんだか┐(´∀`)┌
もう早くも投げ出してしまいそう(´ヘ`;)
0642ぁぁぁぁ
03/01/23 02:27ID:wnXMlhsv0643nobodyさん
03/01/23 03:31ID:???そんな本は破り捨ててしまえ
request.setCharactorEncoding("EUC_JP");
String name = request.getParameter("name");
0644nobodyさん
03/01/23 08:25ID:???String name = new String( request.getParameter("name").getBytes("8859_1"), "JISAutoDetect")
でいいじゃん?
0645nobodyさん
03/01/23 08:41ID:???Servletコンテナが2.2にしか対応していない場合はそれでいいが、
今時2.2まで(Tomcatだったら3.x)で勉強しているとも思えないので、
もし641がTomcat4.x以降を使っているのだったら
request.setCharactorEncoding("JISAutoDetect");
String name = request.getParameter("name");
がいいんじゃないの?
ちなみに、8859-1は文字コードの一種ね。この文字コードセットには
日本語等のマルチバイト文字は含まれていない。
日本語であることが決まっていれば"JISAutoDetect"がおすすめ。
Shift_JISでもeuc-jpでもJIS(ISO-2022-JP)でも自動認識してくれる。
0646nobodyさん
03/01/24 00:42ID:vBd5rKCZprivate static String getErrorMessage = null;
private final static String MSGID_ERROR ="エラー";
private AAA() {
}
public final static String getSeireki(String pDate )
throws ZXY {
try {
pDate ="20030101";
return pSeireki;
} catch (Exception e) {
}
public static void namaCheck( String pName) throws
throws ZXY {
try {
if(Name == NULL){
//チェック結果
getErrorMessage = MSGID_ERROR;
}
} catch (Exception e) {
}
public final String Message() {
return Message;
}
0647nobodyさん
03/01/24 00:43ID:vBd5rKCZ<%@ page import="jp.co.AAA*" %>
<%@ page import="java.sql.*" %>
<%@ page import="java.util.*" %>
<%
String message = null; /* メッセージ文字列 */
AAA aaa = null; /* 追加情報チェック */
String date = null;
String name = null;
String seireki = null;
try {
date = (String)request.getParameter("date");
name = (String)request.getParameter("name");
seireki = aaa.getSeireki(date);
aaa.getSeireki(name);
/* 【メッセージ取得】をコールする */
errorMessage = aaa.Message
if (errorMessage.equals != null){
jspName = "next.jsp";
}
} catch (Exception e) {
%>
callDisplay('<%= jspName %>');
Messageメソッドが取得できなくて困っています。どなたか教えてくださいませんか?
0648nobodyさん
03/01/24 01:00ID:6jYskYhYまず、クラスAAAだけど、デフォルトコンストラクタがprivateで宣言して
いるから、インスタンスが作れない。
ということは、staticではないメソッドMessage()は実行できない。
JSPではインスタンスを作成していない(newしていない、というより
できない)ので、Message()メソッドが実行できない。
requestの返り値はStringなので、キャストする必要はない。
0649638
03/01/24 01:22ID:???お返事ありがとうございます。
一文字のカナに関しては、↓のように処理できそうなのですが、
「ガ」などの場合、元の半角だと2文字になるため、同じように処理できません。
2文字の場合はどのように処理するのが良いのでしょうか?
public String strHankaku(String strHan){
StringBuffer strResult=new StringBuffer();
for(int i=0;i<strHan.length();i++){
switch(strHan.charAt(i)){
case 'ヲ' : strResult.append("ヲ"); break;
case 'ァ' : strResult.append("ァ"); break;
default : strResult.append(strHan.charAt(i)); break;
}
}
return strResult.toString();
}
こんなもの↓も見つけましたが、使えるのでしょうか?
http://www-6.ibm.com/jp/developerworks/opensource/000728/j_icu4j-index.html
0650f
03/01/24 01:38ID:bqIcSHxX●浮気素行調査
彼氏、彼女、妻、夫の浮気を調査致します!!
●盗聴器盗撮機発見
あなたの部屋に誰かが仕掛けているかも!!
●行方調査
行方不明になっている家族の消息を調査致します!!
●電話番号から住所割り出し
一般電話、携帯から住所を割り出し致します!!
●ストーカー対策
社会問題ともなっているストーカーを撃退致します!!
その他人生相談からどんなお悩みでも解決いたします!!
24時間受付 090−8505−3086
URL http://www.h5.dion.ne.jp/~grobal/
メール hentaimtt@k9.dion.ne.jp
グローバル探偵事務局
0651nobodyさん
03/01/24 01:51ID:vBd5rKCZということは
デフォルトコンストラクタがpublicで宣言して
JSP で new すればよいんですか??
0652649
03/01/24 02:00ID:6jYskYhYあのソースじゃ、それだけじゃ無理です。
0653ぁぁぁぁ
03/01/24 11:37ID:xVaFOUtv>>644
さんの言うやり方でやったらできました。
ですが、>>645
さんの言うやり方だとなぜかエラーが出てしまいます。
生成されたサーブレットのエラーです:
setCharactorEncoding(java.lang.String) は interface javax.servlet.http.HttpServletRequest で見つかりません。
てな感じのエラーです。むぅぅぅ。
どうやらこの参考書はリナックス環境で書かれてるみたいです(´ヘ`;)
やっぱり自動認識できるのがあるんですね。よかたよかた。
0654nobodyさん
03/01/24 18:41ID:56yOuBZ8うちはweblogicなんで session.getClass() で
class weblogic.servlet.internal.session.MemorySession が帰ってくるんだけど
一般的にsessionてHttpSessionクラス使うよね ↓のメソッドはどういう違いがあるんでしょ?
public void setUserData( weblogic.servlet.internal.session.MemorySession session ) {
・・・
と
public void setUserData( HttpSession ) {
・・・
0655nobodyさん
03/01/24 23:52ID:W9H/DsUVご教授してください。お願いします
0656nobodyさん
03/01/24 23:53ID:6jYskYhYHttpSessionはインターフェースです。
HttpSessionのWebLogicでの実装がweblogic.servlet.internal.session.MemorySession
だと思われるので、HttpSessionを使うのが良いですよ。
0657ぁぁぁぁ
03/01/25 01:50ID:rgWLNR9L0658nobody
03/01/25 03:25ID:LiaTHzWgちょっとお伺いしたいのですが、Tomcat+PostgreSQLという環境を構築することになりました。
ただ、Tomcat(AP)とPostgreSQL(DB)間にはFWがあり、AP-DB間でプールしてあるはずのコネクションを切断してしまうというらしいのです。
H/W要件が変更できないので(しかもアプリ側では無理らしい。)
@FWでコネクションを切断しないように設定する。
ATomcatで再接続するような設定をする。
BOS(RedHat7.3です)でダミーのパケットを送ってコネクションを維持する。
なんて手があるらしいのですが
A、Bについて何かヒントいただけないでしょうか?
ちょっと八方塞状態です。
良かったらアドバイスいただけますでしょうか?
0659nobodyさん
03/01/25 10:59ID:SRxd5RzKAに関しては、そんなことするくらいなら、コネクションプールなんて
使用しない方がいいと思う。
Bに関しては、多分FWはセッションごとに管理しているので、そのセッ
ション内でパケットを飛ばす必要があると思う。
ということは、既にアプリサーバがポートをつかんでいるからOSから
パケットを飛ばすのは難しいのでは?
FWの設定を変えるしかないと思いますよ。
0660nobodyさん
03/01/25 17:49ID:9WV/0U1f0661nobodyさん
03/01/25 20:31ID:???コネクションプールの設定は開発側でできるんだな?
1. コネクションを取得する。
2. 接続確認のため簡単な SQL を発行する。
3. 例外が発生したら 1 へ戻る。
これをコネクションプール数 + 1 回繰り返してやれば、最悪プール内の
コネクションがすべて切断されていても再接続してくれるだろう。最後の
一回で取れなければ本物の接続障害だ (切り分けとして毎回 SQL コード
見ても良いが)。現在時刻を取ってくる程度の SQL ならディスク I/O が
発生しないので、プール使わないで毎回接続に行くより遥かに速い。
ちなみに Tomcat でコネクションプール使うときのソフトウェア要件と
web.xml のサンプル教えてくだちい (今度自宅で組もうと思ってるんで)。
>>660
できるよ。変数つうかオブジェクト (インスタンス) だが。
0662nobodyさん
03/01/25 22:10ID:8ocJ7akI他のサーバで使うのにコードの修正が必要になる
ってんでHttpSessionにするべきかな
0663nobodyさん
03/01/25 22:36ID:SRxd5RzKできる。
0664nobodyさん
03/01/26 13:30ID:nck0ClEcTomcat4+MySQL3対応 アイティーブースト著
で、本の通りにインストール行ったのですが、最後のTomcat4のとこ
ろでlocalhost:8080とやっても、本のようにThe Jakarta Projectの
画面が出てくれません。Tomcat version3.2.4の画面が出てしまうの
ですが?
これで問題ないのですか?
0666nobodyさん
03/01/26 19:02ID:MU9JCDZB0667nobodyさん
03/01/26 19:59ID:INUYZKhEありがとう。Tomcat3.2.4を止めても、Tomcat4を起動すると、
Tomcat3.2.4が動いてしまいます。
この本はダメなので、「10日でおぼえるJSPサーブレット入門教室」
SE SHOEISYAを買ってきました。これだと、アパッチをインストールして、
Tomcatもジャカルタだけをインストールするように書いてあるからです。
Xpを再インストールして、また1からトライしてみることにいたします。
0668nobodyさん
03/01/26 20:02ID:hfzgm8Bu★こんなサイト見つけました★
0669nobodyさん
03/01/27 12:51ID:GS9rQNkkM、V、C、それぞれの定義があいまいな気がするんだけど
もっともよい構成って、どんな感じなんですかね?
(たとえば今悩んでるのは、MをJavaBeansで実装して、JavaBeansクラス
のなかでDBにアクセスしてデータを格納しておきたいんだけど
コネクションプールの参照がServletContextに格納されているから
ServletContextオブジェクトにアクセスする必要がある。
でもJavaBeanでServletContextにアクセスするのになんか違和感が
ある・・・)
0670nobodyさん
03/01/27 14:03ID:WT1ShOwi「ワタナベケイコ」なる人物が、
スレ主の携帯に、アドレスを何度も変えては同じ宣伝を送りつけてくる。
その熱意に感動したスレ主は、この宣伝されているサイトに
漏れ達2ちゃんねらというでっかい土産を用意して訪問することにした。
さぁおまいら、この「ワタナベケイコ」の熱意を評して
ガンガン入ってやろうぜ!
携帯PHS
迷惑メールサイト一斉訪問お祭り開催
http://jbbs.shitaraba.com/news/bbs/read.cgi?BBS=853&KEY=1043335260
訪問開始は本日23:00
0671nobodyさん
03/01/27 14:09ID:???私はp503iで、その機種でしか試してないので、
もし503系で余裕があるかたがいらっしゃいましたら、
試していただけないでしょうか?
http://moranj.mimora.com/etcdown/c/
を見てみていただけるとうれしいです。ダウンロードは
http://moranj.mimora.com/etcdown/c/down/からです。こっちは
携帯電話からしかアクセスできないようになっています。
0672nobodyさん
03/01/28 02:05ID:neXie+QgコネクションプールってJNDIで取ってくるんじゃないの?
0673たけそ〜
03/01/28 02:17ID:2mY/q7Z60674nobodyさん
03/01/28 07:54ID:???べつにコネクションプールはDataSourceとJNDI使わなければならないわけじゃない。
>>669
Strutsとかそんな設計だよね。
俺はStruts使ってもStrutsのコネクションプールフレームワークは使わない。
気持ち悪いから。
0676nobodyさん
03/01/28 23:58ID:???ServletContextとJabaBeanを受け取って、DBとごにょごにょするクラスを
別につくればよいとかそういう話ではなくて?
俗にヘルパーClassっていうのかな。
0677nobodyさん
03/01/29 23:46ID:D8ZQc5hAよろしくお願いします。
0679nobodyさん
03/01/30 00:26ID:I+zAWRkNレスありがとうございます。
EJBは初心者なもので
具体的な方法、又は参照ドキュメント教えてもらえないでしょうか
0680nobodyさん
03/01/30 02:21ID:???Connection con = DriverManager.getConnection("jdbc:db:HOGE");
Statement stmt = con.createStatement();
stmt.executeUpdate("CREATE TABLE HOGE(ID INTEGER NOT NULL PRIMARY KEY)");
つうか、動的にテーブルを作るようなシステムは (要件しだいだが) 根本的な
設計が間違っている。
0681nobodyさん
03/01/30 02:41ID:I+zAWRkNありがとうございます。
設計に関しても考え直してみます。
0682681
03/01/30 02:43ID:I+zAWRkN0685nobodyさん
03/01/30 16:12ID:???0686nobodyさん
03/01/31 02:20ID:mtgy7+Pq検索結果の Number型を BigDecimal として取得する際、不正な
値として返ってきます。対策を御存知の方がいらしたらお教えくださ
い。過去ログに既にありましたら申し訳ありません.
【環境】
・Linux RedHat 7.1(x86)
・Oracle9i
・WebSphere4.0 AE
・JDK1.3.1
【状況】
NUMBER(8)型のカラム1つ、その他は全てvarchar2のテーブルの
検索結果を ResultSet.getBigDecimal(...) で取得した際、
1回目は正しく値を取得できるのですが、同じ検索条件で2回目
以降は不正な値が帰ってきます。sqlplus などでは正しく
表示されるのですが、例えば 1434 なる値が
-10110000000000.....0000000 (128桁)
として取得されてしまいます.
getInt(), getDouble(),... にしても変わりませんでした.
sqlを変えて、to_char(..)して getString() としても
正しい値は取得できませんでした.
情報をお持ちの方、お教えください。
0687nobodyさん
03/01/31 15:09ID:GqbYQhQyWebSphereを停止させることなくサーブレットコンテナーで管理している
全てのセッションを破棄させる方法はないでしょうか?
0688nobodyさん
03/01/31 15:40ID:iS05n2/Fのですが、文字コードの問題で困っています。
環境は、以下です。
・TurboLinux 8
・Tomcat4.1
・JDK1.4.1
最終的な出力が、SJISになるように、インクルードする側のファイルで、
<%@page contentType="text/html; charset=SJIS"%>と指定しています。
そして、取り込まれるファイルがJSPファイルの場合は、
そのファイルに<%@page contentType="text/html; charset=SJIS"%>
と記述して、このファイルからの出力をSJISに指定してあげれば問題はないのですが、
取り込まれるファイルがHTMLなどの静的なファイルの場合、
取り込まれるファイルからの出力の文字コードの指定ができず、
システムのデフォルトの文字コード(この場合はEUC)でエン
コードされるからか、文字化けしてしまいます。
http://www.ingrid.org/java/jserv/i18n/corruptedchar.html
↑このページの jsp:include アクションの項を参考にすると、
Tomcat 3.2では,jsp:includeで取り込む静的なファイルの
文字エンコーディングは,Javaのデフォルトエンコーディング
と一致していないと正しく処理できないバグがあるということ
なのですが、Tomcat4.1でも同様なのでしょうか?
Javaのデフォルトエンコーディングで保存していない
静的なファイルを、jsp:include アクションでインクルードして
正しく表示させる方法はないのでしょうか?
(パッチを当てるしかないのでしょうか?)
0689nobodyさん
03/01/31 16:55ID:???0690nobodyさん
03/02/01 12:56ID:???HTMLファイルに手を加えてもいいなら
<%@page pageEncoding="Shift_JIS" %>
が使えたような気がする。気のせいかもしれん
0691nobodyさん
03/02/01 13:47ID:???静的ファイルなら、<jsp:include>じゃなくて<%@ include %>使えば?
<jsp:include>は別々に処理されて、クライアントへ出力する段階でインクルードされるが、
<%@ include %>ならソースコードがマージされるだけだよ。
>>690
気のせいです。
HTMLファイルに<%@page pageEncoding="Shift_JIS" %>って書いても
何も起こりません。
0693nobodyさん
03/02/01 22:53ID:BuJmI9p/の環境でサーバを立てたのですが、
http://localhost/examples/にアクセスするとservlet/ jsp/のリストが出るのですが、
そのリンクを踏むと、404エラーになってしまいます。エラーログにはただFile does not existしか書かれていません。
対処法を教えて下さい。設定は下の通りです。
WebAppConnection warpConnection warp localhost:8008
WebAppDeploy examples warpConnection /examples
WebAppInfo info
0694nobodyさん
03/02/01 23:06ID:???File does not exist: /examples/jsp/index.html
0695nobodyさん
03/02/03 12:47ID:Om6JyMaEやってみましたが、
<%@page pageEncoding="Shift_JIS" %>
がそのまま出力されてしまいました。
>>691
<%@ include %> だと、インクルードされる側の
ファイルを更新したときに、インクルードしている
ファイルも更新しないと、更新が反映されなくなっ
てしまいますよね?
多数のファイルからインクルードされるファイル
の更新などを考えると、なるべく<jsp:include>で
インクルードしたいな〜とか思ってるのです。
更新後、まとめてtouchでタイムスタンプを更新しちゃう
という手があるかもしれませんが・・・。
0696691
03/02/03 13:07ID:???インクルードされる側のファイルは静的でも、拡張子だけ.jspに変える
ってのはだめ?
そうすれば
<jsp:include>使って、インクルードされる側のファイルに
<%@ page contentType="text/html; charset=Shift_JIS"%>
とか書けるけど。
0697nobodyさん
03/02/03 13:24ID:Om6JyMaE> インクルードされる側のファイルは静的でも、
> 拡張子だけ.jspに変える ってのはだめ?
最初はそれで解決と思ったのですが、
インクルードされるファイルをメンテする
デザイナの話だと、HTMLエディタの関係なのか、
拡張子がJSPよりもHTMLの方がいいらしいのです。
拡張子がJSPよりもHTMLの方が、どういう理由で
どれくらい嬉しいのか、もう一度デザイナに確認して、
大きな問題がないようだったら、拡張子をJSPにして
もらおうかな〜とか今は思ってます。
0698nobodyさん
03/02/03 19:42ID:???HTMLファイルを読み込んで出力するだけのメソッド一つ作れば?
<%= xxx.includeTextFile("hoge.html") %>
みたいに。必要ならメモリ上にキャッシュしてもいいし。
または、x.htmlが更新されたらすぐにx.jspにコピーするようなスクリプト書いておくとか。
cp x.html x.jsp
0699nobodyさん
03/02/04 13:19ID:???インストールの方法などはどうでもいいので、Servletやbeans,jspを
どのように連携させると良いのか、などのノウハウを学べるものはないでしょうか?
0700438
03/02/04 22:09ID:REZtK6Vrローカルで拡張子が.htmlだとブラウザでの確認が楽だからじゃないですか?
さて…apache側でErrorDocumentを 404.jspなんてしてるんですが
forward?されてる事から、getRequestURL()ではエラー元のURLが
取得できないです。
また、getHeader("Referer")ではエラーページのURLになってしまいます。
どうすれば取得できるんでしょうか…
0701nobodyさん
03/02/05 01:23ID:???String url = (String)request.getAttribute("...");
※... の部分は忘れた。エラーページ側でリクエストの全属性出力してみれ。
ファイルアップロードサーブレットのバージョンがひそかに上げられているようでつ。
なんか web.xml 見ると帯域制限とか付けられるみたいでつ。サポート掲示板とかねぇのか…。
http://tool-ya.ddo.jp/2ch/trash-box/index.html
0704nobodyさん
03/02/05 11:43ID:???バイナリファイルをクライアントへ送信しているのですが、
ファイル送信後に、別ページへリンクを使ってジャンプしようとすると、
ページが切り替わらない事象が発生して困っています。
webページはフレームで分割されており、リンクを行う際には、
指定フレームのURIを切り替えるような形になっています。
IEで「新しいウィンドウを開く」を行うと、正しくページが開くので、
Servletが落ちているわけでもないようなのです
どなたか、この事象のヒントなどご存知でないでしょうか?
0706704
03/02/05 11:53ID:???この二日は何だったんだ(´・ω・`)
0708704
03/02/05 12:59ID:???IE6 sp1の最新にしたんでつが・・・
0709nobodyさん
03/02/05 15:39ID:???ファイル名に日本語を使用すると化けてしまいます。
対処法知ってる人いませんか?
response.setHeader("Content-Disposition", "attachment; filename=\"日本語.txt\"");
# ファイル名に日本語なんか使うんじゃねーよ (つД`)
0710nobodyさん
03/02/05 16:09ID:HskkGycj基本的な仕組みは、広告を見ることによって報酬をもらえるというものです。
メールなどでスポンサーの広告を見ることにより広告費が視聴者に渡るようになっているのです。
お金儲けサイトはたくさんあるので、どれから始めればいいか迷うと思います。
そこで、すぐに収入がもらえるサイトを紹介します。
僕も4日で900円ほど稼ぎました
下からどうぞ
http://www.chobirich.com/intorduce/?10653
0711nobodyさん
03/02/05 17:54ID:???0712438
03/02/05 19:24ID:???レスサンキューです。やはり無理そうですか。
perlだと出来たりするのは、やはりapacheで処理されてるからですかね…
tomcatに飛んだ時点で、ダメみたいです。
ちなみに自分の>>700、getRequestURL()はgetRequestURI()の間違いです。
0714701
03/02/05 21:15ID:???正直 Apache 管轄の URL から Tomcat 管轄のエラーページ JSP へ
処理が渡されたときの元 URL がどうなっているかは実装依存なので
よく分からない。request#getAttributeNames() や request#getHeaders()
とかで調べてみたほうが良いと思われ。
0715nobodyさん
03/02/06 02:38ID:???どなたかピンと来る方アドバイス下さい。
「WinXP Pro + Apache1.3.27 + tocat4.0.6 mod_jk.dll」の環境を
「WinXP Pro + Apache2.0.43 + tomcat4.1.18 mod_jk2.dll」に変えてみました。
ApacheとTomcatの連携は何とか成功しました。
が、テストにごく簡単なHTMLファイルの表示をさせたらものの見事に文字化けです。
メニューバーの「表示」→「エンコード」を見ると「西ヨーロッパ言語(ISO)」になってます。
何処が原因になってるのか検討が付けられないほど初心者です。
とりあえず、何処を疑えばいいんでしょうか?
0716nobodyさん
03/02/06 03:27ID:???0717nobodyさん
03/02/06 12:45ID:???拡張子を.jspに直して1行目に
<%@page contentType="text/html; charset=Shift_JIS"%>
を記述。
どうしてもHTMLファイルがいいなら<head></head>に
<meta http-equiv="Content-Type" content="text/html; charset=Shift_JIS">
を記述。
だれかがブラウザに文字コードを教えてあげないと。
0718nobodyさん
03/02/06 18:20ID:uPbgsKYmパラメータによって出力順を変える事は可能ですか?
<HTML>
<BODY>
モナー
モナー
ギコ
ギコ
しぃ
しぃ
</BODY>
</HTML>
モナーの部分の表示と、ギコの部分の表示を別メソッドにして、パラメータによって表従順を上下させたい
のですが、単純に別メソッドにして、元メソッドの途中から呼ぶと呼出先が最初に出力されます。
モナー
モナー
ギコ
ギコ
<HTML>
<BODY>
しぃ
しぃ
</BODY>
</HTML>
とりあえず回避策として別メソッドにせずに、ひとつのメソッドの中で、2通りの表示内容を作って条件分けしてますが、
もっとスマートな方法がないでつか?
0719nobodyさん
03/02/06 18:36ID:kfFPimv50720438
03/02/06 19:05ID:???もし tomcat4.Xならフィルタを使うと良いかも。
今日初めて、恥ずかしながら、自分もフィルタ、使ってみました。
今まではいちいち、
String formVal = fields[i+1];
formVal = new String(fields[i+1].getBytes("iso-8859-1"), "Shift_JIS");
なんてことしてました。
SetCharacterEncodingFilter.java
参考。
http://hp.vector.co.jp/authors/VA017148/java/tomcat_enc_4_0_3.html
ついでにgzipのフィルタも動かしてみた。
いずれも格納場所は
$CATALINA_HOME/shared/classes/filters
全てのwebappsに反映させたければ、ここでいいんですよね??
0721718
03/02/06 19:51ID:???にしていたオイラがバカですた。BufferedWriter outにして解決しますた。
0722438
03/02/06 20:48ID:???> $CATALINA_HOME/shared/classes/filters
> 全てのwebappsに反映させたければ、ここでいいんですよね??
すいません、動いてなかった…いい加減な事書いちゃった。
0723nobodyさん
03/02/06 22:33ID:???>だれかがブラウザに文字コードを教えてあげないと。
JSPのpageディレクティブで<%@page contentType="text/html; charset=Shift_JIS"%>
を書いてもブラウザに教えてあげることにはならないよ。
Servletコンテナがクライアントへ出力する文字コードセットの指定をしているだけだから。
JSPのソースが.javaファイルに展開されたときに
HtteServletResponse::setContentType()メソッドに変換される。
ブラウザに教えてあげられるのは
<meta http-equiv="Content-Type" content="text/html; charset=Shift_JIS">
こっちだけね。
0724nobodyさん
03/02/07 01:38ID:???><meta http-equiv="Content-Type" content="text/html; charset=Shift_JIS">
>こっちだけね。
激しく無知。嘘教えんなよ(藁
0725nobodyさん
03/02/07 02:16ID:???へ?javax.servlet.jsp.JspWriterが実際に何の文字コードセットを使って出力するかを設定するための指定じゃないの?
ブラウザに教えてるんじゃなくてわたってきた文字コードセットをブラウザが勝手に自動認識してるだけじゃなくて?
0726nobodyさん
03/02/07 04:34ID:???>>724 じゃないけど、ブラウザは HTTP の Content-Type ヘッダを見て
文字コードを決定している。もちろんそれで解決できなければ <META>
タグも見るけど。
Content-Type の charset 指定はクライアントが受信する文字コードで
あり、同時にサーバ側で出力する文字コードだから、サーブレットは
setContentType() の設定値を見て出力文字コードを決定しているだけ。
ちなみに WebSphere の開発では setContentType() で Shift_JIS を
指定すると「−」「〜」などが文字化けするので、変わりに Cp943C
(Shift_JIS の IBM 版) を指定する。ただしこれはブラウザ側が知ら
ない文字コードなので、このままだと自動認識が走ってたまに化けて
しまう。なので、<META> タグに Shift_JIS を宣言して、サーバ側で
は Cp943C、クライアント側では Shift_JIS で認識させてやらないと
いけない。
0727nobodyさん
03/02/07 04:45ID:???ヘッダと同意に扱え」という事を考えれば、<META> タグによる Content-Type
指定が setContentType() によってもたらされる Content-Type ヘッダと
同じ動きをするということになる。
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=Shift_JIS"> ≒ Content-Type: text/html; charset=Shift_JIS
今のブラウザはどうだか知らないけど、昔 HTTP-EQUIV に Location を指定して
やったらちゃんとリダイレクトと同じ動きをした記憶がある。そのほかにも
<META> タグを使用して Cache-Control や Pragma に no-cache を指定する
こともできる (IE しか知らんけど)。
0728nobodyさん
03/02/07 08:13ID:???お勉強になりまつた。
>ちなみに WebSphere の開発では setContentType() で Shift_JIS を
>指定すると「−」「〜」などが文字化けするので、
これ、
・Windows2000pro
・Java2SDK1.4.1_01
でnative2acciiコマンドでも化けました。
だからResourceBandleとかStrutsのリソースファイルに
「−」「〜」が使えなくて困ったことがありまつ。
0729nobodyさん
03/02/07 11:23ID:Uodii1t/Webアプリケーション名をsampleとして、セッションが存在する時に
sample/pagesフォルダの中のページにアクセスされた場合、
「アクセスされた」ことを認識する方法と、
そのファイル名を取得する方法を教えていただけないでしょうか。
0730nobodyさん
03/02/07 12:24ID:???何をもって「認識」とするかはわからないし
どんな環境かも書いてないけど、
Tomcat決め打ちで答えると
$CATLINA_HOME/logs/localhost_access_log.yyyy-mm-dd.txt
をみればよいんじゃない?
※$CATLINA_HOME=Tomcatがインストールされているディレクトリ
(例)C:\Java\jakarta-tomcat-4.0.3\logs\localhost_access_log.2003-02-07.txt
0731nobodyさん
03/02/07 17:34ID:Uodii1t/すみません、Tomcat4.1です。
認識というのは…たとえばフォルダ内のページにアクセスされたら
そのページの<TITLE>要素を取得する、というように、アクセスされた場合の
処理を書きたいのです。分かりにくくて済みません。
0732715
03/02/07 23:50ID:???初心者にレスの数々、申し訳ない。
TOMCAT単体で起動してHTMLを見ると正常に表示されるのが、
Apacheを経由すると文字化けを起こしてます。
ちなみに、METAは書いてます。↓
<meta http-equiv="Content-Type" content="text/html; charset=Shift_JIS">
0734715
03/02/07 23:55ID:???HTMLからJSPにフォーム使って値を飛ばし、それを元にDBにアクセス。
結果を表示させると正常に表示されます。
どうやら静的なドキュメントだけ化けるようです。
てことはApacheが何かやらかしてるという事でしょうか?
0737nobodyさん
03/02/08 12:45ID:9B0qUJ8hうーん、まだやりたいことがイマイチわからん
たとえばJSPで
<%
String title = "とっぷぺーじ";
//ログに吐かれる→任意のファイルに書いてもよし
System.out.println( title );
%>
<html><head><title><%=title%></title></head>
<body>トップページだゴルァ</body><html>
とかってのはどう?
0738nobodyさん
03/02/08 14:53ID:???■ このスレッドは過去ログ倉庫に格納されています