JAVAサーブレットQ&A
■ このスレッドは過去ログ倉庫に格納されています
0001厨房
NGNGそれに関するQ&A
0702699
NGNGreq.setAttribute("x",x);
req.setAttribute("y",y);
RequestDispatcher rd = context.getRequestDispatcher("z.jsp");
rd.forward(req,res);
のようにやっていますが
JSPの中で
<%
request.setAttribute("x", x);
request.setAttribute("y", y);
%>
<FRAMESET rows="50%,50%">
<FRAME src="/jsp/skill/a.jsp" name="a" frameboarder="0" >
<FRAME src="/jsp/skill/b.html" name="b" frameboarder="0" >
</FRAMESET>
としてrequestをa.jspにとばしたいのですが
やり方が分かりません。
bをHTMLにしてもだめなようです。
JavaScriptを使う方法も考えたのですが
リクエストとしてHashTableをわたさなければならないので
できなさそうです。
0703699
NGNGどうやればとばせるのか分かりません。
0704デフォルトの名無しさん
NGNG適当なサーブレットにして、<frame src="ほげほげ" の ほげほげ
を response.encodeUrl(); しときゃイインジャネエノ?
サーブレット経由しなくてもええんかな。しらん。
0705699
NGNGscope="request"を"session"にするだけで
できました。ありがとです
0706デフォルトの名無しさん ?
NGNGペトリネットとか書いてみたらいいのでは?
0707デフォルトの名無しさん
NGNG意味わかってやってる?
大丈夫か…?
0708デフォルトの名無しさん
NGNG0709デフォルトの名無しさん
NGNG691=696だが、
690の言ってる、
>(2)現在時間をAに代入
>(3)画像出力する関数Image呼び出し
>(4)現在時間をBに代入
>(5)A-Bを出力
がだめってことだよ。ログ吐きのことじゃないっす。690に対する返事だよ。
>>702,705
forwardとredirectの違いをまず理解することをお勧めする。
>>707
705わかってないだろうな...大丈夫じゃなさそう....
>>708
OSの問題だよ。スレ違い。
0710デフォルトの名無しさん
NGNG>>(2)現在時間をAに代入
>>(3)画像出力する関数Image呼び出し
>>(4)現在時間をBに代入
>>(5)A-Bを出力
>がだめってことだよ。ログ吐きのことじゃないっす。690に対する返事だよ。
AとBはスレッド間で共有されないでしょ?
と言っているんですが…。
0711デフォルトの名無しさん
NGNG月1000円以下ぐらいでないですかねぇ。
0712デフォルトの名無しさん
NGNGDDNS+Tomcat+Apacheで自サーバ立てろ。
0713デフォルトの名無しさん
NGNG自サーバは無理
0714デフォルトの名無しさん
NGNG1000 円/月 以下(!)って安すぎ
0715デフォルトの名無しさん
NGNG0716デフォルトの名無しさん
NGNG無料だけどなにがマズい?
0717デフォルトの名無しさん
NGNGサーブレットからデータベースに接続出来ねーす。
普通のJavaアプリからDBにアクセスするのはうまく行くので
JDBCまわりは問題ないと思うんですけど。
postgreのpg_hba.confがおかしいのかな?って思ったんですがおかしい所は
無い気がする・・・。
(host all 192.168.1.0 255.255.255.0 trust)
エラーは
>>718
0718717
NGNGPlease report this exception: Exception: java.sql.SQLException:
No pg_hba.conf entry for host 192.168.23.2, user hoge_user, database test Stack Trace:
java.sql.SQLException:
No pg_hba.conf entry for host 192.168.23.2, user hoge_user, database test
at org.postgresql.Connection.openConnection(Connection.java:170)
at org.postgresql.Driver.connect(Driver.java:122)
at java.sql.DriverManager.getConnection(DriverManager.java:517)
at java.sql.DriverManager.getConnection(DriverManager.java:177)
at Dbconnect_serv.doGet(Dbconnect_serv.java:35)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:740)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at org.apache.tomcat.core.ServletWrapper.doService(ServletWrapper.java:404)
at org.apache.tomcat.core.Handler.service(Handler.java:286)
at org.apache.tomcat.core.ServletWrapper.service(ServletWrapper.java:372)
at org.apache.tomcat.core.ContextManager.internalService(ContextManager.java:797)
at org.apache.tomcat.core.ContextManager.service(ContextManager.java:743)
at org.apache.tomcat.service.connector.Ajp12ConnectionHandler.processConnection(Ajp12ConnectionHandler.java:166)
at org.apache.tomcat.service.TcpWorkerThread.runIt(PoolTcpEndpoint.java:416)
at org.apache.tomcat.util.ThreadPool$ControlRunnable.run(ThreadPool.java:498)
at java.lang.Thread.run(Thread.java:484) End of Stack Trace
0719デフォルトの名無しさん
NGNG192.168.1/24 を trust してるんだから 192.168.23.2 からの
アクセスを deny するのは当然。
0720ゴノレゴ|з
NGNGと
0721デフォルトの名無しさん
NGNG全開で放水しちゃった事故があったね。
0722デフォルトの名無しさん
NGNG0723ゴノレゴさーてぃー
NGNGと
0724デフォルトの名無しさん
NGNG探せばあるよ
0726デフォルトの名無しさん
NGNGhttp://piza.2ch.net/tech/kako/973/973526847.html
0727デフォルトの名無しさん
NGNGStrutsを必須ライブラリにすると、デバッグ時にTomcatの起動時のクラスパスに
追加されてしまい、Strutsのコード内からアプリケーションのクラスがロード
出来ずにClassNotFoundExceptionが発生してしまいます。
struts.jarは、WEB-INF/libに格納しているので、Tomcatの起動時に読み込まれる
必要がないのですが、必須ライブラリにしないとアプリケーションのコンパイルが
出来ません。
どなたか解決方法知りませんか?
0728デフォルトの名無しさん
NGNGオープンツール。
nostruts.zip
webinfextension.zip
0729686
NGNG0730デフォルトの名無しさん
NGNG0731デフォルトの名無しさん
NGNG0732デフォルトの名無しさん
NGNG0733732
NGNG0735デフォルトの名無しさん
NGNGで書きますか?
1,JavaBeansにあらかたの処理を書いてServletのinitでそれを呼ぶ。
2.Servletのinitだけに書いておく。
3.JavaBeansでDBに登録とか削除とかのメソッドでコネクションするようにしておく。
4.その他
みなさんどんな感じで作ってるんでしょ。
0736デフォルトの名無しさん
NGNG環境によっても違うと思うが少なくともinitに書くものはコネクションのための
初期化処理で、リクエスト毎に実行する部分には実際の接続、切断の処理を
書くように使い分けてる。つまり2+3
0737デフォルトの名無しさん
NGNGリクエスト毎に Connection conn = ds.getConnection();
できなかったら・・・PoolManとかどう?
0738デフォルトの名無しさん
NGNG0739仕様書無しさん
NGNGwww.mycgiserver.com
DB & JSP & Servlet & PHP
しかもタダ。
0740仕様書無しさん
NGNGこっちもタダ。
こっちの方がいいかも。
使った感じ軽い。
0741デフォルトの名無しさん
NGNG0742724
NGNGまぁWeb板みたいなことはないかな。忙しい奴等ばっかりだろうし
0743デフォルトの名無しさん
NGNGFREE for 30 Days だが?
0744デフォルトの名無しさん
NGNG0745デフォルトの名無しさん
NGNG0746デフォルトの名無しさん
NGNGstartup.shで起動すると、
常駐しないで、10秒ほど落ちちゃうんだけど、
似たような現象に遭遇した人居ない?
ログにはまったく何も出力されていない、
tomcat3なら動くけど。。。
環境は、SlackwareのLinuxで、kernelは2.2.16
jdkは1.3.1_1
Win2kなら動くんだよなぁ〜
どして?
0747デフォルトの名無しさん
NGNG急造したjspのDBクライアントあるけど欲しい?
0748デフォルトの名無しさん
NGNG0749747
NGNG<HEAD>
<TITLE></TITLE>
</HEAD>
<STYLE type="text/css">
<!--
input { width:300px; }
TEXTAREA { WIDTH:512px; HEIGHT:189px; }
-->
</STYLE>
<%@ page language="java" import="java.io.*, java.sql.*, java.util.*" %>
<%!
final static String driver = "***.***.jdbcDriver";
final static String db_url = "jdbc:****:*******";
final static String dbUser = "*****";
final static String password = "****";
static boolean init = false;
%>
<%
StringBuffer result = null;
if((session.isNew() == true)||(init == false)){
//初期化前なら
result = new StringBuffer();
session.setAttribute("result",result);
try {
Class.forName(driver).newInstance();
}
catch(Exception e){
result.append("ドライバロード失敗\r\n" + e.getMessage() + "\r\n");
response.sendRedirect("./sql_client.jsp");
}
init = true;
}
else {
result = (StringBuffer)session.getAttribute("result");
}
%>
0750747
NGNG<%
Connection con = null;
Statement stmt = null;
String buf = request.getParameter("mode");
if((buf != null)&&(buf.equals("execute") == true)){
result.insert(0,db_url + "\r\n接続\r\n--\r\n");
try{
con = DriverManager.getConnection(db_url,dbUser,password);
con.setAutoCommit(true);
stmt = con.createStatement();
result.insert(0,"成功\r\n--\r\n");
if(stmt != null){
buf = request.getParameter("execute");
if((buf != null)&&(buf.length() > 0))
buf = new String(buf.getBytes("8859_1"),"JISAutoDetect");
StringTokenizer tkn = new StringTokenizer(buf,";");
while (tkn.hasMoreTokens()) {
StringBuffer sql = new StringBuffer(tkn.nextToken());
int pos = 0;
while((pos = sql.toString().indexOf('\r', pos)) > -1){
String left = sql.toString().substring(pos + 2);
sql.setLength(pos);
if(left.length() > 0){
sql.append(" " + left);
}
}
boolean rb = false;
try {
rb = stmt.execute(sql.toString());
}
catch(SQLException e ){
result.insert(0,sql.toString() + "\r\n" + e.getMessage() + "\r\n--\r\n");
}
0751747
NGNGResultSet rs = stmt.getResultSet();
int col = rs.getMetaData().getColumnCount();
StringBuffer column = new StringBuffer();
for (int ct = 1;ct <= rs.getMetaData().getColumnCount();ct++) {
column.append("|" + rs.getMetaData().getColumnLabel(ct));
}
column.append("|\r\n");
StringBuffer res = new StringBuffer(column.toString());
while(rs.next()){
for (int ct = 1;ct <= rs.getMetaData().getColumnCount();ct++) {
buf = rs.getString(ct);
if((buf != null)&&(buf.length() > 0))
buf = new String(buf.getBytes("SJIS"),"8859_1");
res.append("|" + buf);
}
res.append("|\r\n");
}
res.append(column);
result.insert(0,res + "\r\n--\r\n");
}
//入力バッファにセット
result.insert(0,sql.toString() + "\r\n実行\r\n--\r\n");
}
}
}
catch(Exception e){
result.insert(0,"失敗\r\n--\r\n");
}
finally{
stmt.close();
con.close();
}
}
0752747
NGNG//とりあえず接続確認
try {
con = DriverManager.getConnection(db_url,dbUser,password);
con.setAutoCommit(true);
stmt = con.createStatement();
result.append("接続成功!\r\n");
}
catch(Exception e){
result.append("コネクト失敗\r\n" + e.getMessage() + "\r\n");
return;
}
finally {
stmt.close();
con.close();
}
}
%>
<BODY>
<P>SQL Client</P>
<FORM method="post">
<input type="hidden" name="mode" value="execute">
<P><TEXTAREA rows="9" cols="56" name="execute"></TEXTAREA></P>
<P><INPUT type="submit" value="Query"></FORM></P>
<P><TEXTAREA rows="9" cols="56" name="result"><%= result.toString() %></TEXTAREA></P>
</BODY>
</HTML>
0753747
NGNGって名前でupしてくれ。
上のTEXTAREAにSQL文を書いて
[Query]を押すだけ。
;で区切れば複数のSQL文を書いてもヨロシ。
とりあえず急ぎで作った程度の代物なので
細かなツッコミあればよろしく。
0754デフォルトの名無しさん
NGNG0755デフォルトの名無しさん
NGNGログイン、ログアウトに対応すればさらにいい。
0756明日提出
NGNGあるユーザーがログインしている時に、別のブラウザでそのユーザー名でログインするのは不可、という状態にしたいのです。
最初のユーザーがログインした時に、static変数でフラグを立てておけば別のユーザーのログイン不可状態には出来るのですが、最初のユーザーがブラウザを閉じる等で
ログアウトしたときに、フラグを変える方法が解りません。
sessionやservletcontext等も試してみましたが出来ませんでした。
どなたか教えて下さい〜〜。
ブラウザが閉じられたことをサーブレットに伝えることが出来れば
なんとかなるような気がするんですが、、。
ブラウザ(IE)が右上のボタンで閉じられたことをサーブレットに知らせるには
どうしたらいいのでしょうか。
0757デフォルトの名無しさん
NGNG0758デフォルトの名無しさん
NGNGいます。携帯電話(i-mode)から使います。
それで、ちょっと教えて頂きたいのですが、
HttpSessionによるセッション管理がうまくいきません。
PCのブラウザ(IEなど)だと、ちゃんと
request.getSession(true)で取れたセッション
オブジェクトにセッション属性を設定し、保存
されるのに、携帯電話からだと、うまくいきません。
というか、携帯電話ブラウザでは、
HttpSessionクラスを使ったセッション管理は
できないのでしょうか?
0759デフォルトの名無しさん
NGNG一定時間なんのリクエストもないようならログアウトしたことにしとけ。
0760デフォルトの名無しさん
NGNG右上のボタンが押されたことを通知するには、ユーザの
ブラウザ上で「右上のボタンが押されたことを関知できるもの」
が動いてなければならない
っていうふうに考えると------> >>757 だし(UDPでもよいけど)
そいうものを作りたくなくて、あくまでユーザの画面には
プレーンなHTMLだけを送るなら、セッション管理して
タイムアウト監視するしかない。ってことで ----> >>759
0761デフォルトの名無しさん
NGNGもしかしてクッキー管理のセッション使ってるんじゃない?
URL Rewritingでセッション変数を保持しなきゃダメよ。
0762758
NGNG>もしかしてクッキー管理のセッション使ってるんじゃない?
>
>URL Rewritingでセッション変数を保持しなきゃダメよ。
レスどーもです。サーブレットAPIが標準的にサポートしている
HttpSession APIについて、ものの本「コア・サーブレット&JSP」
によると
『ブラウザがクッキーをサポートしていればクッキーを使い
クッキーが使えない、またはディスエーブルされている場合は
自動的にURL Rewriting に切り替える』
とあるので、「あとはおまかせ」でうまくいくのかと思った
んですが…
もし、自分でセッション管理ロジック作って
>URL Rewritingでセッション変数を保持
するとなると、タイムアウト機構も自分で
書かなければいけませんね…?
0763
NGNGJDBCでMicrosoft SQL Serverに接続できます?
だったら、ASPから乗り換えてみようかな。
0764デフォルトの名無しさん
NGNG0765763
NGNGホント?
ありがと。
0766デフォルトの名無しさん
NGNG一番新しい UNIX Magazine に、同じように tomcat4 が起動直後に
こっそり落ちる症状について書いてあったようななかったような。
0767デフォルトの名無しさん
NGNG漏れも最初試したけど、結局うまくいかなかったよ、
結局セッション維持は自分でやった
パラメータの暗号化&圧縮もしたかったしな
0768デフォルトの名無しさん
NGNGおっ!、情報どうも、探してみるわ
0769766
NGNGすまんけど、何月号か思えてない?
0770デフォルトの名無しさん
NGNGWinNT4.0上でTomcat3.2.3を使ってサーブレットを開発しており、開発段階
では、TomcatのWebサーバ機能を使っているのですが、Tomcatを開始した
ウィンドウ(bin\startup.batで開く)に以下のようなメッセージが、自作サーブ
レットへのリクエスト送信タイミングと無関係に時々出ます。
2001-12-08 19:56:11 - Ctx( ): 404 R( + /scripts/root.exe + null) null
2001-12-08 19:56:12 - Ctx( ): 404 R( + /MSADC/root.exe + null) null
2001-12-08 19:56:12 - Ctx( ): 404 R( + /c/winnt/system32/cmd.exe + null) null
2001-12-08 19:56:13 - Ctx( ): 404 R( + /d/winnt/system32/cmd.exe + null) null
2001-12-08 19:56:14 - Ctx( ): 404 R( /scripts/..%255c../winnt/system32/cmd.exe) null
2001-12-08 19:56:14 - Ctx( ): 404 R( /_vti_bin/..%255c../..%255c../..%255c../winnt/system32/cmd.exe) null
2001-12-08 19:56:15 - Ctx( ): 404 R( /_mem_bin/..%255c../..%255c../..%255c../winnt/system32/cmd.exe) null
2001-12-08 19:56:15 - Ctx( ): 404 R( /msadc/..%255c../..%255c../..%255c/..%c1%1c../..%c1%1c../..%c1%1c../winnt/system32/cmd.exe
) null
java.io.IOException: Invalid argument
at java.io.Win32FileSystem.canonicalize(Native Method)
at java.io.File.getCanonicalPath(File.java:440)
at org.apache.tomcat.util.FileUtil.safePath(FileUtil.java:184)
at org.apache.tomcat.core.Context.getRealPath(Context.java:797)
at org.apache.tomcat.request.StaticInterceptor.requestMap(StaticInterceptor.java:196)
at org.apache.tomcat.core.ContextManager.processRequest(ContextManager.java:835)
at org.apache.tomcat.core.ContextManager.internalService(ContextManager.java:786)
at org.apache.tomcat.core.ContextManager.service(ContextManager.java:758)
at org.apache.tomcat.service.http.HttpConnectionHandler.processConnection(HttpConnectionHandler.java:213)
at org.apache.tomcat.service.TcpWorkerThread.runIt(PoolTcpEndpoint.java:416)
at org.apache.tomcat.util.ThreadPool$ControlRunnable.run(ThreadPool.java:501)
at java.lang.Thread.run(Thread.java:484)
これは、いったい何が起きているのか、詳しい方教えてください。
0771デフォルトの名無しさん
NGNGNimda か何かの攻撃を受けているだけだ。セキュ板逝って聞いて来い。
0772デフォルトの名無しさん
NGNGげげっ!!そーなんですか?!
ありがとう
0773デフォルトの名無しさん
NGNGURL Rewriting についてちゃんと調べたのか?
http://java.sun.com/j2ee/sdk_1.3/techdocs/api/javax/servlet/http/HttpServletResponse.html#encodeURL(java.lang.String)
でURLに ;jsessionid=XXX を付加することだよ。
>というか、携帯電話ブラウザでは、
>HttpSessionクラスを使ったセッション管理は
>できないのでしょうか?
よって、できる。767のように自分でセッション維持のコード書いたりして
まわりに迷惑かけてはイカンぞ。
0774773
NGNGttp://www.dmz.hitachi-sk.co.jp/Java/Tech/servlet/sample/SimpleSessionWithoutCookie.html
ホレ。 >>758
0775デフォルトの名無しさん
NGNG0776デフォルトの名無しさん
NGNG勝手に禿げて下さい。
0777デフォルトの名無しさん
NGNG起動時、CLASSPATH継承しないから、
気をつけれ!
0778ウマナミナノネー
NGNGIEではちゃんと動いたのねん。
だけどNetspaceでは動かないのねん。
ファイル名がバケるとかぢゃなくて、Servletの名前が「DLOAD」だとすると
http://www.hogehoge.net/Download/DLOAD?file="もなー"
とかすると、「DLOADをダウンロードします」とか出てくるのねん。
もちろんIEだと、ちゃんと「ダウンロード中:もなー」って出てくるのねん
(日本語ファイル名問題は解決済みなのねん)
・・・Netspaceなんてだいっ嫌いなのねん(T_T)
0779デフォルトの名無しさん
NGNGなんだおまえ?
0780778
NGNG白い珍獣と呼んで欲しいのねん(^^;
0781あぼーん
NGNG0782778
NGNG……まぁ、別にいいけど(^^; JavaHouse-MLでも読んでるのけ?
(以下マジ)
こういう場合、削除要請出したほうがいいのでしょうか?>ALL
ちなみに問題は未だ解決せず。Netscapeはリンクの名前しか見てないのか?
0783デフォルトの名無しさん
NGNGHPのフォームから番号を入れるとDBを参照するようにしたいのです。
とりあえず,標準出力にと思いましたが,エラーが発生します。
エラー:java.sql.SQLException:[Microsoft][ODBC Driber Manager]データ ソース名および指定された既定のドライバが見つかりません。
なぜなのでしょう?お願いします。DBにはしっかりとデータはあるのですが。
環境は jdk1.3.1_01 Apach1.3.20 Tomcat3.2.3 Access2000 win98 です。
import javax.servlet.*;
import javax.servlet.http.*;
import java.io.*;
import java.util.*;
import java.sql.*;
public class ShowForm extends HttpServlet {
public void doPost(HttpServletRequest request,HttpServletResponse response) throws ServletException,IOException {
String number = request.getParameter("number");
String name = request.getParameter("name");
System.out.println(number+":"+ ( new String(name.getBytes("8859_1"),"JISAutoDetect")));
try {
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
Connection myCon = DriverManager.getConnection("jdbc:odbc:FRIEND");
Statement mySt = myCon.createStatement();
ResultSet myRs = mySt.executeQuery("SELECT * FROM FRIEND_DAT WHERE Number=\"" + (new String(number.getBytes("8859_1"),"UTF-16")) + "\"");
if(myRs.next()){
long id = myRs.getLong("ID");
String Dname = myRs.getString("Name");
String Dnumber = myRs.getString("Number");
String DSyutu = myRs.getString("Syutu");
System.out.println(id + "/" + Dnumber + "/" + Dname + "/" + DSyutu);
} else {
System.out.println("該当するレコードはありませんでした。");
}
} catch(Exception e) {
System.out.println("エラー発生:" + e);
}
response.setContentType("text
・
・
・
・
AccessのUnicode圧縮は”はい”になっていますが関係ありますか。
いろいろ試しましtがまったくわかりませんでした。よろしくお願いします。
0785デフォルトの名無しさん
NGNGFRIEND ってのは ODBC Administrator (だっけ?) にちゃんと登録されてるのか?
そもそもユーザが "AND" とか付けたらエラい事になるぞ。
0786デフォルトの名無しさん
NGNGはい,コントロールパネルから行くやつですよね。
登録してあります。フォルダ内にそれらしき設定のファイルがありますし。
0787デフォルトの名無しさん
NGNG>そもそもユーザが "AND" とか付けたらエラい事になるぞ。
まずいですね,それ。
気が付きませんでした。
0788デフォルトの名無しさん
NGNGすみません,今確認したところ,設定がなくなっていました。
パソコンを再起動したときにレジストリを修復がどうのこうのといっていましたので,
そのときにでも消えたのでしょうか。
登録しなおしました。
さっそくプログラムを実行しなおしてみたところ。
新しく
[Micorosoft][ODMC Driver Manager]パラメーターが少なすぎます。1を指定してください。
と出てしまいました。
こちらについてはまだ調べていませんが,お教え願いますか。
0789デフォルトの名無しさん
NGNG個人名晒したお詫びにネタを振ってやろう。サーブレット名 (というかそのエイリアス名) の後ろに
保存を希望するファイル名をくっつけてやってみな。
http://www.hogehoge.net/Download/DLOAD/もなー.zip <-- Shift-JIS の URL エンコードが必要かも
サーブレットからは request.getPathInfo() でファイル名が取得できるし、クライアントにはタダの
ファイルに見せることが出来る。Netscape ではどういう動きをするかわからんがな。やってみる
価値はあろう。
0790デフォルトの名無しさん
NGNGいえ、その書き方は日本語URLがらみでマズイっつー話が……(^^;
出来れば、Content-Dispositionで直接指定する方法を取りたいのです。それで読めなきゃブラウザが悪いという事で(苦笑)
0791デフォルトの名無しさん
NGNGドライバ指定、もしくはURL間違ってたりすんでねぇ〜の?
他のテーブルは参照できるのか?
0792デフォルトの名無しさん
NGNGおなじようなプログラムからなら大丈夫なんです。
サーブレットではなくDosから値を渡す場合は。
0793ありがとうC ◆.aIRklLA
NGNG一周年。おめでとうございます!
C#さんがこのスレを一人で支えてきました。
それに対してここを見たみんなでお礼の言葉を。
一言でいいです。お礼の一言をお願いします。
0794デフォルトの名無しさん
NGNGわきからすいません。
日本語ファイル名対策ってShift_JISで送るやつのことでしょうか?
0795デフォルトの名無しさん
NGNGServletのセッションがタイムアウトしたことを
イベント(またはコールバックっぽいもの)
で検知することはできますか?
0796デフォルトの名無しさん
NGNGSessionBindingListener を implements した Bean をセッションに放り込んでおけ。セッションから
切り離されたタイミングで valueUnbound() が呼び出される。明示的にセッションから削除 (もしくは
セッションが invalidate) されたか、タイムアウトかどうかを判断するロジックは自分で作れ。
というか HttpSession#getLastAccessedTime() + HttpSession#getMaxInactiveInterval() * 1000 が
System.currentTimeMillis() より小さければタイムアウトということでよいのかな? これはやったこと
ないので不明。報告求む。
0797デフォルトの名無しさん
NGNG逆に言えば、高いアクセス負荷に耐えうるTomcatの運用方法はどんなものがある?
0798デフォルトの名無しさん
NGNG根本的な間違いだと思うのですが・・・。
症状としては、JSPに埋め込んだ「prefix」がInvalid attributeと怒られて
しまいます。
ここに至るまでの手順は、
1.TagSupportを継承したクラスを作り、「doStartTag()」を実装
2.tldファイルを作成。
(tagclassはプロジェクトから指定し、nameはshowtextとする)
3.JSPに「<%@ taglib uri="testlib.tld" prefix="test">」と
ディレクティブを書く
4.JSPに、「<test:showtext />」と書く。
こんな感じです。
TOMCATでは、このtldファイルのuriをweb.xmlに書くそうですが、
VisualAgeのテスト環境なので、JSPで直接指定するそうです。
断片的な情報ですが、なにか間違いがあるようでしたら教えてください。
0799798
NGNGおおボケですいません。
0800デフォルトの名無しさん
NGNG(1) ${TOMCAT}/webapps/examples/WEB-INF/jsp/example-taglib.tld
を参考に、tldファイルを作成
(2) ${TOMCAT}/webapps/examples/WEB-INF/web.xml の <taglib/>
を参考に、tldファイル所在を登録
してみそ。
0801798
NGNG早速のお返事、ありがとうございます。
ただ、悲しいかな、説明の内容が理解できるところまでいってません。
TOMCATの環境で、参考になるファイルを教えていただいたように
思うのですが、そのTOMCAT環境がないためそれすら叶いません。
いろいろと調べながら書いたので、tld自体は大丈夫な
気がします。(それなら動くはずですが・・・)
原因として、サーバーからtldが見えていないような気がします。
tldファイルの所在を登録しようとしても、今の環境(VisualAge
のテスト環境である、WebSphereの小さい版)ではweb.xmlが
ありません。
これって、デフォルトでは存在せず、自前で作るファイル
なのでしょうか?
0802デフォルトの名無しさん
NGNG■ このスレッドは過去ログ倉庫に格納されています