■■ Servlet/JSP(EJB含む) 質問スレ ■■
■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん
02/06/08 11:03ID:Kkr1yl67というわけでつくたよ。
0202nobodyさん
02/09/14 21:15ID:???vine2.5+apache1.3.24+tomcat4.0でやってるんだけど、自マシンのIP設定するとメールおくれるんだよね。これってなんで?
0203nobodyさん
02/09/15 13:41ID:hcAsMafzdefaultでsendmailかPostfixがたちあがっているからじゃん?
rootになってntsysvコマンドでしらべてみな。
まぁ、psで調べてもいいけどさ。
0204nobodyさん
02/09/15 23:27ID:4RjfenHMreloadable?
0206nobodyさん
02/09/16 18:59ID:Fc5JTIXQちなみにユーザーは百人前後を予定してるんだけれども。
0209nobodyさん
02/09/16 21:47ID:2vuqixrPあるDBのコネクションプーリングをするクラス(ConnectionPool)を作成して、
下のような感じにしているのですが、
pubilc class TheDB {
private static TheDB instance = null;
private ConnectionPool pool = null;
private TheDB {
// serverの設定読み込み
pool = new ConnectionPool(上で読み込んだ設定);
}
public static TheDB getInstance() {
if (instance == null) instance = TheDB();
return instance;
}
:
}
これを使っていると、(この部分とは別の)classを変更したときに
新しいTheDBインスタンスが作られて、DBへのコネクションがどんどん増える、
という状態になってしまいました。(古いインスタンスが残っているのだと思いますが…)
仕方ないので今はTomcatを再起動しています。
Javaは始めて日が浅いのでよく分からないのですが、参照されなくなった
インスタンスはGCに回収されないのでしょうか?
0210nobodyさん
02/09/16 23:26ID:???Singletonで設計したTheDBが複数インスタンス化されてしまうこと自体、
おかしくないですか?
ひょっとして、似たようなクラスをコピペで大量生産してますか?
ちなみに上記のような設計にした場合、TheDBのインスタンスはGCに回収されません。
(TheDBのstatic属性として参照されつづけてますからね)
0211209
02/09/17 00:19ID:elworjfu作ったクラスはTheDBだけです。
既存サーブレットを書き換えて、Tomcatが下記のメッセージを
吐いてリロード(?)したときに新たにインスタンス化されています。
2002-09-17 XX:XX:XX - ContextManager: Removing context DEFAULT:/hogehoge
2002-09-17 XX:XX:XX - ContextManager: Adding context DEFAULT:/hogehoge
古いインスタンスの方は、DBのコネクションが張られたままになって
いるので残っているようです。
0212nobodyさん
02/09/17 00:39ID:???それは Tomcat のオートリロードが利いてるだけ。Java の static オブジェクトは
JavaVM に一つじゃなくて Class インスタンスに一つ。Tomcat のオートリロードは
Class インスタンスの入れ替えを行うので、同じ JVM 上に複数の static オブジェ
クトができるわけ。どっかのサーブレットの destroy() に TheDB インスタンスを
クリーンアップするようなコード書いとけ。
0213nobodyさん
02/09/17 00:50ID:???すまん、クラスのオートリロード時にサーブレットの destroy() が呼び出されるかは
不明 (WebSphere だと destroy() 呼ばないで Web アプリケーションが再起動しちまう)。
まぁーそうだなぁ。$JAVA_HOME/lib/ext にその TheDB ってクラスの入った jar を放り
込んでおくか、環境系の変なトラブル出したくなかったら毎回ちゃんと再起動するかかな。
インスタンス内でサーバソケット開いて、新しいインスタンス生成する前に localhost
接続して前のに終了命令を出すってのもあるけどめんどくさい。
サーバサイドでリソースやスレッドを Singleton で管理するクラスを作った人間が大抵
ハマる罠。
0214210
02/09/17 01:05ID:???Tomcatのオートリロードって、設定ファイルか何かではずせないものなんですか?
AppServerでクラスのリロードされると、はまることが多いですよね。
HttpSessionにいれたインスタンスのキャストに失敗したりしません?
0215nobodyさん
02/09/17 03:28ID:???たしか $TOMCAT_HOME/conf/server.xml と apps-xxx.xml にオートリロードの
設定があったはず (3.3.1)。触ったことが無いのでよく知らんけど。
そう、オートリロードが走ると、既にセッションに入っているオブジェクトの
Class と新しいクラスローダー上での Class のインスタンスが違うからキャ
ストに失敗したりする。まぁ今さら起きても「あ〜再起動忘れた〜」で済んでる
けど、最初の頃は謎だった。よく考えたらなるほどね〜って感じ。
>>209
GC で消えないのは、どこかにリロード前のそのオブジェクト (か参照たどった
別のオブジェクト) を見てるスレッドが生き残ってるから。まぁコネクション
プールなら内部に「監視スレッド」持ってても不思議じゃないから、多分そいつが
生き残って古い TheDB を参照してるので GC の対象にならない。
と見たがどうか。
0216nobodyさん
02/09/17 03:37ID:???GC は走らないな。それから getInstance() には synchronized 修飾子
付けとけ。
0217210
02/09/17 23:18ID:???調べてみた。Contextのりローダブルフラグで設定できるらしい(tomcat3.2.3)
ttp://www.ingrid.org/jajakarta/tomcat/tomcat-3.2.3/doc-ja/uguide/tomcat_ug.html
209の作りはそもそもどう七日って気も少しするけど、気にしない方向で。
0218nobodyさん
02/09/18 16:56ID:???0219nobodyさん
02/09/18 17:07ID:???Error: No match was found for method "copyInto(long[])".
0220219
02/09/18 17:09ID:???Vectorて何でも良いんじゃないの?
Stringじゃないとエラー出るんですけど何故?
0221nobodyさん
02/09/18 18:08ID:???byte, int, long なんかのプリミティブ型じゃだめですな。
v.addElement(new Long(value)) みたいにせんと。
0222219
02/09/18 18:29ID:???すんません。アホでした。
オブジェクトって書いてあったんで
・Longにして格納(220氏のご指摘どおり)
・l=(Long[])v.toArray();で配列化
・long=(long)l[i];
そしたら、type "Long" cannot be cast into type "long".
えーん(T_T)l[i].longValue()だと、java.lang.ClassCastException
どうやったらlongの値が取れますか?!
0223219
02/09/18 18:41ID:???が、java.lang.ClassCastException でした。
ふ〜む?
0224219
02/09/18 18:56ID:???を見て、v.copyInto(l);にすると
> null
> java.lang.ArrayStoreException
ひぇーん(p_;)
0225もうちょっと基礎を勉強せい
02/09/19 01:32ID:???v.add(new Long(0));
...
Long[] longArray = (Long[])(v.toArray(new Long[0]));
for(int i=0;i<longArray.length;i++){
long l = longArray[i].longValue();
System.out.println(l);
}
0226nobodyさん
02/09/19 01:49ID:???板 違 い で つ
0227nobodyさん
02/09/19 10:10ID:3f2LBbrrUnixのServletでHTTPを使ってやり取りできますか?
Servletで掲示板システムを作って
ActiveXクライアントから投稿したいんですけど。
0228nobodyさん
02/09/19 10:52ID:???SOAPまたはSOAPモドキを使いたいということなのかもしれ
んが、そうでなきゃ、HTTPを扱うActiveXコントロールだけの
問題と思われ。
それなら、板違い。
0229nobodyさん
02/09/19 11:20ID:???ありがとうございました。
プログラム板でたずねて見ます。
0230nobodyさん
02/09/19 22:57ID:/RwVyOp1Content-Length: を強制的に付けるようにしてるのだけど、doFilter() の中で
response の OutputStream を close() してしまうとストリームが既に閉じてる旨の
エラーをTomcatが時々出してくる。
ので close() しないようにしたんだけどこれは正しい?
モノの本のサンプルではclose()してるんだけど...
Tomcat 4.1.10 / RedHat7.3
0232219
02/09/19 23:33ID:???すんまへん。
有り難うございました。
でも、意外とこういう型変換は本にもサイトにも載ってないんですよね。
助かりました。次回はマ板などに行きますです。
0233pan
02/09/20 10:38ID:???という環境です。
連携には"mod_jk"を利用しようと思っています。
さて、本題ですが、
他のどこのサイトを参照しても、
「ソースからコンパイルして、DLLを作成しましょう。」となっています。
jakarta本家サイトもそう書いてあるので、それが正解なのはわかりますが、
私にはコンパイル環境がありません。
本家に3.3.x用の"mod_jk.dll"はあるのですが、
4.0.x用の"mod_jk.dll"はありませんので困っています。
どこか、ダウンロード出来る所とかないでしょうか?
以上、よろしくお願いします。
0234nobodyさん
02/09/20 13:59ID:???で、ClassCastExceptionを吐きます。
入れる時は、
> AgentInfo agent_info=new AgentInfo();
> session.setAttribute("AGENT_INFO", agent_info);
で、エラーは出てないのですが。
AgentInfoは、
> <%@ include file="agent_info.jsp"%>
で指定してるんですが、これじゃあかんのでしょうか?
0235230
02/09/20 22:23ID:???おおっ、即答どもです。安心できました。
ちなみに書籍は↓
http://www2.gihyo.co.jp/books/bookinfo.asp?ID=4-7741-1379-4
0236nobodyさん
02/09/24 21:15ID:CcL7X+71の制約はみなさんどうしていますか?わざとSQLExceptionを発生させて、
データ不正とクライアントに返すのが一般的ですか?それともあらかじめ
INSERT(UPDATE)する前に対象DBを検索しServlet(Java)側でそのデータの
整合性を検証するのが一般的なのでしょうか?
0237nobodyさん
02/09/24 22:27ID:???SQLException の発生を期待すると、本当の DB 障害と区別をつけるために
SQLState や Error Code を見る羽目になる。DB の制約は (外部バッチ等も
考慮して) 保険と思え。
0238nobodyさん
02/09/25 00:19ID:???mod_jk.dllはTomcat4.xと3.x両対応じゃないの?
workers.propertiesとかの設定で動くと思うが。
win環境ならそのdllそのまま使えるでしょ。
0239pan
02/09/25 13:52ID:???最初はそう思って動作させたのですが、"mod_jk無いよ"みたいなメッセージがでてしまい、
上手い事動作しませんでした。
ってことでWEBを調べたら、>233のような感じだったんですよ。
ちなみにApache1.3.x+Tomcat4.0.xの場合は238さんのおっしゃる通り、
本家で配布しているdllがそのまま利用できるようです。
Apache2.0.x+Tomcat4.0.xの場合はTomcat4.0.xの配布場所から、
mod_jkのソースをダウソ、コンパイルしてdllを作成し、
それを利用しないとダメなんだそうです。
0240nobodyさん
02/09/25 20:55ID:???某JMeterのうんこUIは正直耐えられな..
0241nobodyさん
02/09/27 21:39ID:RwP/8UIKJDBC2.0で定義されている接続プーリングって全然違うものですか?
前者は、単純にDBの接続を使いまわすもの。後者は、ResultSetなどを
保持しつつ、他のクエリーを実行したあとに、また元の状態に復帰できる
ものという解釈で良いでしょうか?
0242nobodyさん
02/09/28 13:22ID:???0243241
02/09/28 18:32ID:JW6zvc4Yそそ、だから謎なの。
わざわざJDBCで用意されてるのに、なんで商用Servletコンテナ
では用意されてたりするのかなーとかが、謎で。
0244nobodyさん
02/09/28 22:35ID:???JDBC 2.0 で提供されてるのはインターフェースだけ。中身はない。
その実装を商用アプリケーションサーバのメーカーが行っている。
と、それが聞きたかったのか?
0245241
02/09/29 00:45ID:SRhsLTZcすいません。最も聞きたいことは、
OracleのJDBCドライバに実装されているConnectionPoolDataSource
を使うならば、Tomcat4.0.4でコネクションプーリングのクラスを作らなくて
も良いのでしょうか?ということです。
というか、Webアプリの視点から見たときに、本来、アプリケーションサーバが
実装してるものを、Oracleは、JDBCドライバで実装してくれていると考えても
良いのでしょうか。
0247nobodyさん
02/09/29 11:10ID:SRhsLTZcなるほど、ありがとうございます。
アプリケーションサーバも、Oracle JDBC2.0のドライバも
同じインターフェースに実装してるということを知って、
驚きでした。早速、Oracleのドライバを使って、実現することにします。
0248nobodyさん
02/09/29 23:13ID:???多分 Oracle にしてみれば、アプリケーションサーバみたいなコネクションプールを
デフォルト装備した環境だけじゃなく、普通の Java アプリケーションでもコネク
ションプールを使えるように用意してくれていると思う。蔵鯖でプールが必要かと
いわれれば激しく疑問なので、用途が特化された (Web じゃない) 鯖とかゲート
ウェイ鯖開発用に。
0249238
02/10/01 23:11ID:???レス遅れた。スマソ。
最近発売されたサーバーサイドJAVA系の本にApache2.0.x+Tomcat4.0.xの
設定例が載っているそうだよ。
本の種類はそんな多い方じゃないと思うから、本屋さんで立ち読みしてみたらどうでしょう?
0251アーフォー
02/10/02 15:52ID:???簡単なサンプル・ソースとかが載っている書籍、ホームページがあれば教えていただけませんでしょうか?
0252nobodyさん
02/10/03 14:07ID:KDvau4q1ほらよ。
俺は結局1.3で運用してるがな。
ttp://www.acg-gmbh.de/mod_jk/
0253nobodyさん
02/10/03 14:33ID:5xq1UjDrここは?
http://www.cc.rim.or.jp/~egami3/ejb/#4
0254pan
02/10/03 15:25ID:???有難うございます。
色々と調査した結果、Apache2.0.x用のmod_jkを発見できました。
コレを利用して立ち上げた所、正常に起動し、
exmaples以下のサーブレット&JSPが正常に動作するのを確認できました。
色々とアドバイス有難うございました。
ちなみにmod_jkの場所は、
ttp://www.acg-gmbh.de/mod_jk/ です。
tomcat-users MLにPOSTされていたのを発見しました。
0255nobodyさん
02/10/04 11:27ID:???0256nobodyさん
02/10/04 11:33ID:gpSssjjtJSPファイルを表示させるときに「シンボルが解決できません」になります。
一緒に動かすServletの方はコンパイルできているのですが…。
0257nobodyさん
02/10/04 12:05ID:???どうせデータの受け渡しをしたいだけだろ? ServletContext, HttpSession, HttpServletRequest
の setAttribute()/getAttribute() 使え。
なかなかインターネットに情報がないですぅ。
どこもDSOをつかったインストール方法ばかりです。
どなたかStaticにApacheにインストールしてる方はいませんでしょうか?
ちなみに、mod_perlとPHPはDSOなしでApacheに組み込んでます。
0259254
02/10/04 21:35ID:???なるほど。
ということは、ServletにNikki classを作って、JSPファイル内に
NIkki nikki = new Nikki(引数)
みたいな書き方はおかしいですか?
0262nobodyさん
02/10/05 13:16ID:2e8trTi8transaction内で、複数のデータをINSERTをしたいのですが、
1つ目のINSERTするレコードがないと、2個目以降のINSERT(別テーブル)は
成功しないテーブル構造になっているのですが、
1つ目のINSERT成功後、2個目のINSERT処理の、executeUpdate()
で、処理が止まってしまいます。(ロックされてる?)
特徴としては、関数呼び出しの構造上、以下のように動作します。
setAutoCommit(false)
createStatement
1つ目のexecute
Statementを開放
createStatement
2つ目のexecute
<〜ここで止まる〜>
Statementを開放
以降n回繰り返し
comit
これは、transactionのアイソレーションとかと関係あるのでしょうか?
executeをexecuteUpdateにしても同じ動きをしました。
0263nobodyさん
02/10/05 16:43ID:/Ylxg1h6http://pc3.2ch.net/test/read.cgi/tech/1032944246/l50
だ、SQL分自体はどおなっとるの?
0264nobodyさん
02/10/05 19:06ID:2e8trTi8ほんとだ、同じことで悩んでる。
SQL文自体は、単体ごとにUPDATEすると実行されます。
(ちなみに、バッチ処理にして、executeBatchすると登録は成功します。)
各文ごとに、違うStatementを使うことが問題なんじゃないのかと
いう気がしてきました。世の中のサンプル見ても、Statementを開放
してることと、テーブルのリレーションの問題以外は問題がなさそう。
そもそも、1つめのレコードを予めDBに書いておいて、
2番目移行のUPDATEを実行すると、最後にUPDATEした奴
しかDBに書き込まれてないんですよね。
うーん。
0265259=256
02/10/05 20:03ID:???してるけど、通らないっす。
でも、指定の仕方が間違ってるのかも。
jspファイルが
USR_ROOT/###.jsp
にあって、参照したいServletは
USR_ROOT/WEB-INF/classes/###.class
にあります。
classpathはUSR_ROOT/WEB-INF/classes
で指定してあるのですが、
jspにimportを書く場合
<%@ import ### %>
であってますか?
0266nobodyさん
02/10/05 23:27ID:???デフォルトパッケージのクラスか? ちゃんとパッケージ名付けれ。
// USR_ROOT/WEB-INF/classes/jp/co/hoge/HageServlet.java
package jp.co.hoge;
...
public class HageServlet extends HttpServlet{
...
こういうサーブレットがあったとき、下のような使い方が出来なくも無い。
<%@ page import="jp.co.hoge.*" %>
<%
HageServlet s = new HageServlet();
%>
普通はこんなことしないけど。
0267265
02/10/07 21:51ID:???うおおっ!ようやくできました!!本当にありがとうございました!!
えっと、行った手順としては、
USR_ROOT/WEB-INF/classes/
0268265
02/10/07 22:08ID:???えっと、行った手順は
USR_ROOT/###.jsp ←問題のコンパイルできなかったファイル
USR_ROOT/WEB-INF/classes/index.class ←このファイルを最初に読み込んで、###.jspに処理を飛ばす
USR_ROOT/WEB-INF/classes/sansyou1.class ←###.jspにimportしたかったclass
USR_ROOT/WEB-INF/classes/sansyou2.class ←その他の外部クラス
という風なファイル構成だったのですが、
USR_ROOT/WEB-INF/classes/pack/sansyou1.class
USR_ROOT/WEB-INF/classes/pack/sansyou2.class
という風にpackageにして、###.jspは言われたように
<%@ page import="pack.*" %>
とすると、コンパイルできました。
ただ、どうしてデフォルトの場所では読み込んでくれないのか
という疑問も残りましたが。
ともかくコンパイルできて良かったです。ありがとうございました。
ところで、普通はデータを利用するのに外部クラスのメソッドをそのまま読み込まずに
setAttribute()/getAttribute()を使うのですか?
そうした方がメリットがあるのでしょうか。
もしよかったらもう少し教えて下さい。
0269nobodyさん
02/10/07 23:51ID:???話はそれから
0270nobodyさん
02/10/08 13:49ID:???送られるファイルのサイズを制限しているようなのですが、その処理を行っている実装部分はどこなのでしょうか?
web.xml に書かれている内容がどこで使われているのか、私の能力不足により解析できなかったので…。
0272266
02/10/09 12:16ID:???後からメンテナンスしやすい設計にするためだよ。サーブレットが作るデータが
必要なら setAttribute()/getAttribute() で受け渡せばいいし、サーブレットの
メソッドが呼び出したいなら、そのメソッドは Bean 化して別クラスにするのが
いい。そうすることによってクラス間の関係が疎になるので再利用しやすく後の
メンテナンス性が上がる。
0273265
02/10/09 21:46ID:???クラスを直接importしなくてもデータのやりとりとか
特に問題なくできるのですね。
クラス同士はあまり密接に関わらせない方が良いのですか。
勉強になりました。
ありがとうございます。
0274nobodyさん
02/10/11 22:13ID:4dmb/MffStrutsを使ってるのでTemplateタグで実現したいのですが
テンプレートから呼び出されるJSPのページにパラメータを渡すには
どうやればよいのでしょう?旨いやり方ありますか?
要はincludeならば
<jsp:include ...>
<jsp:param .../>
</jsp:include>
みたいなことがStrutsのTemplateタグで出来ないかと思案しているわけです。
template:insertをするPageのスコープにパラメータを埋め込んではみたんだけど
どーやらPageスコープってjsp:includeやらtemplateやら使ってもそれぞれのページ内
みたいで…まーあたりまえか(w
requestやらapplicationやらsessionに埋め込めばいいのだろうけど、なんとなく
イメージ的に違うって感じ。でもそれっきゃないのかなぁ?
誰かグルになってくださいませ。
0275nobodyさん
02/10/11 22:31ID:???0276274
02/10/11 22:35ID:???ダメやっちゅーに。
ページコンポーネントの組み込みはでけるけど、その組み込むページに
どやってパラメータを渡すかってことが知りたいのです。
0277nobodyさん
02/10/12 01:01ID:xShHXVsw自動的に作成したいのですが、そのようなことができるメソッドってありますでしょうか?
ランダムな数字を作るのはわかっています。
ディレクトリを自動的に作成するメソッドがありましたらご教授ください。
おながいします。
0279277
02/10/12 01:58ID:xShHXVswString dirname = "場所";
boolean a = mkdir(dirname);
ってやると
シンボルを解釈できません。
シンボル:メソッドmkdir(java.lang.String)
ってでます。import java.lang.*;は書いてあります。
0280nobodyさん
02/10/12 02:01ID:???directory.mkdirs();
0281277
02/10/12 03:34ID:???本当にありがとうございます。
氏ぬ前にもっと勉強します。
0282nobodyさん
02/10/12 13:39ID:???だから渡したい値は<template:put>で<template:include>時に渡して、
組み込まれたページ側で<template:get>使って受け取ったら後は好きにすれば?
0283nobodyさん
02/10/12 16:09ID:6y7+FqP1そっかそーゆ意味ね。
言葉足りなかったなぁ。それでもダメっす。
パラメータとして渡したいってのは受け取ったパラメータをlogicタグなどで表示切替
に使いたいって意味だす。
ん?もしかしてbean:defineの中でvalue="<template:get ...>"みたいなことができるってこと?
無理だとは思うが一応試してみるか…。ちょっと待っててな。
0284nobodyさん
02/10/12 20:35ID:8Xp20As7今、JSPページのコンパイルエラー直そうと思ったんだけど、コンパイル一度も通ってないJSP→Servletのソースが何処にも保存されてないのね、eWaveって(^^;
おそらく何かしらの設定があるんだろうけど、たぶんオイラの英語力が不足してるせいで(T_T)、よくわかりません。
「ここを見れ」でいいので、何か情報をお持ちの方がいらっしゃればアドバイスをお願いします(拝)
0285M
02/10/14 00:27ID:a3rDJN9bの改行コードを<BR>に変換するにはどうすれば良いのでしょうか?
<PRE>入力コメント</PRE>で表示すると改行なしの長いコメントの場合
にページが横に伸びてしまうのです。どなたかお願いします。m(_ _)m
0286nobodyさん
02/10/14 00:32ID:???1.3ならjakrta oroですか?
0287nobodyさん
02/10/14 01:23ID:???動的に作成したinputタグのnameを拾う方法はあるのでしょうか?
<form method="POST">
<input name="<%= temp[i][j] %>" type=text>
</form>
で、たとえばこの入力フィールドに"10"が
入っているか確認する場合、
if(temp[i][j].equals("10"))
とはできないですよね?
(変数名は、temp[i][j]の値そのものなので)
たとえば、POSTで投げられてくる値を
Iteratorとかで順番に拾えないのでしょうか?
0288nobodyさん
02/10/14 02:29ID:???書き込みフォームに WRAP="HARD" +鯖側 <PRE> で良いんでない? まぁ
普通は 1 文字づつ評価して <BR> に書き換えるわな。どうせ < → < の処理とか
やってるでしょ。
>>287
何言ってるかぜんぜんわかんねーんだけど request.getParameter(temp[i][i]).equals("10") の
事か? request.getParameterNames() か? request.getParameterValues(temp[i][i]) か?
日本語勉強してこいよ。
0290M
02/10/14 09:39ID:a3rDJN9b返答ありがとです。
WRAP="HARD" +鯖側 <PRE> では<PRE>が優先されるようです。
ページが横に伸びてしまいました。
< → < の処理は次のようにやっててうまく処理されます。
でも改行の処理のやりかたがわかりません。
'\n','\r\n'はchar変数じゃないのです。
/** HTMLエンコードが必要な文字 **/
static char[] htmlEncChar = {'&', '"', '<', '>'};
/** HTMLエンコードした文字列 **/
static String[] htmlEncStr = {"&", "gg"", "<", ">"};
0291nobodyさん
02/10/14 17:54ID:???入力側で <TEXTAREA ... WRAP="HARD"> でって意味なんだけど、ちゃんと伝わってる?
それから鯖側で <BR> 変換やるなら↓でいいんでないの。
static char[] htmlEncChar = {'&', '"', '<', '>', '\n', '\r'};
static String[] htmlEncStr = {"&", """, "<", ">", "<BR>", ""};
0292M
02/10/14 23:38ID:a3rDJN9bそうですよねー。
でも何回やっても<BR>に変換されない。。。。
もう少し頑張ってみます。ありがとうございました。
ちゃんと htmlEncChar.length とか htmlEncStr.length 分のループ
してるか? 「4 回固定回数ループ」やってるんじゃねーだろーな。
てか、説明すんのめんどくせー
public static String escapeHTML(String text){
StringBuffer content = new StringBuffer(text.length());
for(int i=0; i<text.length; i++){
for(int j=0; j<htmlEncChar.length){
if(text.charAt(i) == htmlEncChar[j]){
buffer.append(htmlEncStr);
} else {
buffer.append(text.charAt(i);
}
}
}
return buffer.toString();
}
0294M
02/10/16 04:04ID:icD2I6vX↑このソースを変えてみた。
static public String HTMLEscape(String input) {
input = substitute(input, "&", "&;");
input = substitute(input, "<", "<;");
input = substitute(input, ">", ">;");
input = substitute(input, "\"", "";");
input = substitute(input, "\n", "<BR>");//追加
input = substitute(input, "\r", "");//追加
return input;
}
でもだめぽ。(′д`⊂)
0295nobodyさん
02/10/16 06:21ID:???すげぇ! こんな無駄な再帰を使うソースは初めて見た。しかもサーバサイド
想定なのに無駄な String/StringBuffer インスタンス作りまくりと来た
もんだ。まぁ表題見れば書いた人間のレベルが分かるか。
0296nobodyさん
02/10/16 13:48ID:jmKbXjPs管理者が ServerSide に生成した Session の中身を全て調べて、特定のセッションに対して値を更新/削除/追加する、って事をしたいんですけど、これを実現するためにはどうすれば良いのでしょうか?
サーバ・サイドのセッション・オブジェクトを全てリストとかで取得できるんでしょうか?
0298x
02/10/16 15:08ID:0vsiXYHc↓ ↓ ↓
http://www.dream-express-web.com/space-trust.htm
0301nobodyさん
02/10/16 23:19ID:R5uZ9QcZそこでサーバのTomcatやResinを立ち上げると
Telnetの画面がそのままコンソールになるようで
Telnetを閉じるとともにTomcatやResinまで落ちてしまいます。
Telnetを閉じても起動したままにできませんか?
(cronの1回だけバージョンとかあればよいのだろうか・・)
■ このスレッドは過去ログ倉庫に格納されています