トップページ⇒php
560コメント194KB

◆JSP◆

■ このスレッドは過去ログ倉庫に格納されています
0001名無しさん@お腹いっぱい。 NGNG
JSPについて語ろう
0312nobodyさん2008/04/25(金) 00:12:24ID:???
JSP/ServletはSQLをそのまま発行できるから便利だね。

個人でもうちょっと取り組んでみます。
0313nobodyさん2008/04/25(金) 00:33:45ID:d2cDW9Fv
>実際に並行加算・再起処理を組んで負荷チェックすりゃ解る。
>実際に並行加算・再起処理を組んで負荷チェックすりゃ解る。
>実際に並行加算・再起処理を組んで負荷チェックすりゃ解る。
>実際に並行加算・再起処理を組んで負荷チェックすりゃ解る。
>実際に並行加算・再起処理を組んで負荷チェックすりゃ解る。

ぷげら。

MVCで負荷が軽くなる根拠無し。まるで宗教だな。
JSPってどうやって動いているのかわかってるのかね?
むしろカスタムタグ使ったら重くなるだろうに。
それとも、本番環境でもプリコンパイル無しで動かしてるマヌケか?
0314nobodyさん2008/04/25(金) 02:41:14ID:???
処理負荷はプロファイリングでもしないと何とも言えないものだから断言するなよな
0315nobodyさん2008/04/25(金) 07:21:03ID:???
プロファイリングって言葉を覚えたてで、言ってみたいだけ。
0316nobodyさん2008/04/25(金) 07:28:35ID:???
プロファイリング(笑)
0317nobodyさん2008/04/25(金) 15:23:38ID:???
( ゚д゚)ポカーン


プロファイラ使わないとわからないのかよ・・・




0318nobodyさん2008/04/29(火) 07:48:38ID:???
>>307
じゃあ、まぜなければいいと思う。
0319nobodyさん2008/05/11(日) 07:49:15ID:GHUCD2nS
age
0320nobodyさん2008/08/15(金) 09:15:05ID:???
Das Tagebuch von Judith uber Technologie: Tomcat 6.0.18 重大な変更
ttp://techjudith.blogspot.com/2008/08/tomcat6018_08.html

これはJSPerの標準的な思考なの?
0321nobodyさん2008/08/15(金) 11:54:23ID:???
ttp://youkand.cocolog-nifty.com/blog/2008/08/tomcat6018_a913.html
こんな意見もある
0322nobodyさん2008/08/15(金) 11:58:19ID:???
ttp://d.hatena.ne.jp/ripjyr/20080808
ここでも触れていた。
0323nobodyさん2008/08/15(金) 12:01:21ID:???
ttp://init.jugem.jp/?eid=1088
こことか。
0324nobodyさん2008/08/20(水) 12:50:32ID:???
<t:tag value="<%= request.getAttribute("name")%>" />
なんて書く奴がおかしいだろ
0325nobodyさん2008/08/20(水) 13:06:11ID:???
Strutsで
<html:text name="hoge" property="<%= "foo[" + i + "]" %>" />
とか書いたことある。

これもNGになったってことか。

正しくはこうだね。
<html:text name="hoge" property="<%= \"foo[\" + i + \"]\" %>" />
0326nobodyさん2008/08/20(水) 13:09:42ID:???
Strutsのチュートリアルにも

<html:text name="stringbean"
property='<%= "labelValue[" + ctr + "].label" %>' />

なんてあるもんな。

http://struts.apache.org/1.x/struts-taglib/indexedprops.html

Strutsのチュートリアル書いた奴もおかしいってことか。
0327nobodyさん2008/08/20(水) 14:54:07ID:???
そうだな

<html:text name="stringbean" property='<%= "labelValue[" + ctr + "].label" %>' />
なんて書く奴はおかしい

<html:text name="stringbean" property='<%= \"labelValue[\" + ctr + \"].label\" %>' />
と書かなければおかしい
0328nobodyさん2008/08/21(木) 02:19:26ID:7CfEl3mf
そうか、Strutsのドキュメント書いた奴はおかしいのか。
0329nobodyさん2008/08/21(木) 08:33:46ID:???
>320
>動いていた方がオカシイという声もいただきますが、
>それは正論ふりかざしているだけです。
>今まで動いていたものが動かなくなるのは、現場をあまりに無視した行為です。

言ってる事は後半正しいけどな、
なるべくオカシイことをしないのがプロの仕事だ。
オカシイかどうか判断が付かなくて動けばいいやってやってしまうのは素人だろ
0330nobodyさん2008/08/25(月) 17:25:41ID:???
そうは言っても今までRIでそう動いてるし、
そうではないコンテナなんて無いもんなぁ
0331nobodyさん2008/08/28(木) 04:48:43ID:3qYDT8Ff
ちなみにJSP+Servlet+BeanでWEB開発するにはECLIPSEでこと足りるのでしょうか?

結構規模の大きいサイトのリバースエンジニアリングみたいなことやっているのですが、
JSP内でで使っているクラスの定義に飛びたいとか、Taglibでインクルードされている
部分に飛びたいとか、web.xmlとかから拾って対応してくれるのがあればと思うのですが。

0332nobodyさん2008/08/28(木) 19:45:05ID:???
Strutsの例を出している人は「'」と「"」を見分ける事は出来てる?
0333nobodyさん2008/08/28(木) 20:29:16ID:sgK/bLlT
つうか、元の動きに戻せるようになっているんだけど。
Tomcatの開発チームも、書くほうが悪いと
突っぱねるわけにもいかなかったんだろうね。
0334inaba2008/11/08(土) 22:06:48ID:mA2/D6Kp
以下のJSPプログラムの矢印をつけたところに警告があります。
それが原因だと思いますが、うまく動きません。
正しい文法がわかる方お願いします。

<%-- カートが空でなければ以下を表示 --%>
<c:otherwise>
<TR valign="top">
<TD align="center">
<TABLE border="1">
<TH width="80" colspan="2">名前</TH><TH width="60" colspan="2" >価格</TH>           ←ここです。(タグのロケーション<TH>がむこうです。)
<c:forEach var="item" items="${cart.list}" varStatus="status">
<TR>
<TD><IMG src="view/img/${item.pictureName}" height="80" width="60"></TD>
<TD>${item.name}</TD>
<TD>¥${item.price}</TD>
<TD><FORM action="MainController" method="post">
<INPUT type="hidden" name="action" value="remove">
<INPUT type="hidden" name="index" value="${status.index}">
<INPUT type="submit" value="削除">
</FORM></TD>
0335inaba2008/11/08(土) 22:08:42ID:mA2/D6Kp
以下のJSPプログラムの矢印をつけたところに警告があります。
それが原因だと思いますが、うまく動きません。
正しい文法がわかる方お願いします。

<%@ page contentType="text/html; charset=Windows-31J" %>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>

<TABLE valign="top" width="200" border="1">                    ←ここもです。(valignが未定義です。)
<TR>
<TD>
カートの中身 ${cart.size}個<BR>
合計金額 ¥${cart.totalPrice}<BR>
<c:forEach var="item" items="${cart.list}">

</c:forEach><BR>
<A href="view/cart.jsp">カートの中身を見る</A>
<FORM action="MainController" method="post">
<INPUT type="hidden" name="action" value="removeAll">
<INPUT type="submit" value="空にする">
</FORM>
</TD>
</TR>
</TABLE>


0336nobodyさん2008/11/08(土) 23:08:59ID:???
><TABLE valign="top" width="200" border="1">
width="200px"
とかでどうだい。
0337nobodyさん2008/11/09(日) 04:14:33ID:???
なぜスタイルシートを使わないのかと
0338nobodyさん2008/11/09(日) 10:34:18ID:???
HTMLの見かけ・デザインは別ファイルで持った方が保守性が上がるよ。
0339nobodyさん2008/11/11(火) 12:09:03ID:OmTz+gTt
スタイルシートってなんか響きがエロクね?
0340nobodyさん2008/11/11(火) 12:20:20ID:???
そうは思わんが・・・
0341nobodyさん2008/11/12(水) 01:20:20ID:???
>>339
さあ、落ち着いてCSSスプライトの編集作業に戻るんだ。
0342inaba2008/11/23(日) 11:46:22ID:eDvTRSVx
Eclipseのサーバを起動するとコンソールに以下のメッセージが出て、データベースにアクセスできません。
わかる方ご教授お願いします。

2008/11/22 23:40:09 org.apache.catalina.core.AprLifecycleListener init
情報: The Apache Tomcat Native library which allows optimal performance in production environments was not found on the java.library.path:
C:\Program Files\Java\jdk1.6.0_01\bin;.;C:\Windows\Sun\Java\bin;C:\Windows\system32;C:\Windows;C:\Program Files\Java\jdk1.6.0_01\bin\..\jre\bin\client;
C:\Program Files\Java\jdk1.6.0_01\bin\..\jre\bin;hnologies\ATI Control Panel;C:\Program Files\Java\jdk1.6.0_01\bin;C:\Program Files\MySQL\MySQL Server 5.0\bin
2008/11/22 23:40:09 org.apache.coyote.http11.Http11Protocol init
情報: Coyote HTTP/1.1を http-8081 で初期化します
2008/11/22 23:40:09 org.apache.catalina.startup.Catalina load
情報: Initialization processed in 562 ms
2008/11/22 23:40:09 org.apache.catalina.core.StandardService start
情報: サービス Catalina を起動します
2008/11/22 23:40:09 org.apache.catalina.core.StandardEngine start
情報: Starting Servlet Engine: Apache Tomcat/6.0.10
SQL failed
org.apache.tomcat.dbcp.dbcp.SQLNestedException: Cannot load JDBC driver class 'com.mysql.jdbc.Driver'
at org.apache.tomcat.dbcp.dbcp.BasicDataSource.createDataSource(BasicDataSource.java:766)
at org.apache.tomcat.dbcp.dbcp.BasicDataSource.getConnection(BasicDataSource.java:540)
at ecsite.ItemDAO.createConnection(ItemDAO.java:17)
at ecsite.ItemDAO.findAll(ItemDAO.java:44)
at ecsite.MainController.init(MainController.java:35)
at javax.servlet.GenericServlet.init(GenericServlet.java:212)
     …(省略)
0343inaba2008/11/23(日) 11:49:11ID:eDvTRSVx
続きです。

at org.apache.tomcat.dbcp.dbcp.BasicDataSource.createDataSource(BasicDataSource.java:760)
... 22 more
2008/11/22 23:40:09 org.apache.catalina.core.ApplicationContext log
致命的: StandardWrapper.Throwable
java.lang.NullPointerException
     …(省略)
2008/11/22 23:40:09 org.apache.catalina.core.StandardContext loadOnStartup
致命的: サーブレット /mvcExample がload()例外を投げました
java.lang.NullPointerException
     …(省略)
2008/11/22 23:40:09 org.apache.coyote.http11.Http11Protocol start
情報: Coyote HTTP/1.1を http-8081 で起動します
2008/11/22 23:40:09 org.apache.jk.common.ChannelSocket init
情報: JK: ajp13 listening on /0.0.0.0:8010
2008/11/22 23:40:09 org.apache.jk.server.JkMain start
情報: Jk running ID=0 time=0/15 config=null
2008/11/22 23:40:09 org.apache.catalina.startup.Catalina start
情報: Server startup in 703 ms
0344nobodyさん2008/11/23(日) 19:36:57ID:???
> Cannot load JDBC driver class 'com.mysql.jdbc.Driver'

jdbcドライバのクラスパスが通っているかを要確認。
0345inaba2008/11/24(月) 10:32:18ID:gYrPBRV2
エラーの原因を教えてください。
以下は、Eclipseでサーバを起動した際にコンソールからのメッセージです。

2008/11/24 10:18:51 org.apache.catalina.core.AprLifecycleListener init
情報: The Apache Tomcat Native library which allows optimal performance in production environments was not found on the java.library.path: C:\Program Files\Java\jdk1.6.0_01\bin;.;C:\Windows\Sun\Java\bin;
C:\Windows\system32;C:\Windows;C:\Program Files\Java\jdk1.6.0_01\bin\..\jre\bin\client;C:\Program Files\Java\jdk1.6.0_01\bin\..\jre\bin;hnologies\ATI Control Panel;C:\Program Files\Java\jdk1.6.0_01\bin;C:\Program Files\MySQL\MySQL Server 5.0\bin
2008/11/24 10:18:51 org.apache.coyote.http11.Http11Protocol init
情報: Coyote HTTP/1.1を http-8081 で初期化します
2008/11/24 10:18:51 org.apache.catalina.startup.Catalina load
情報: Initialization processed in 1810 ms
2008/11/24 10:18:51 org.apache.catalina.core.StandardService start
情報: サービス Catalina を起動します
2008/11/24 10:18:51 org.apache.catalina.core.StandardEngine start
情報: Starting Servlet Engine: Apache Tomcat/6.0.10
SQL failed
com.mysql.jdbc.exceptions.MySQLSyntaxErrorException: Table 'ecsite.item' doesn't exist
at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:936)
at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:2934)
at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:1616)
at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:1708)
at com.mysql.jdbc.Connection.execSQL(Connection.java:3249)
at com.mysql.jdbc.Connection.execSQL(Connection.java:3178)
at com.mysql.jdbc.Statement.executeQuery(Statement.java:1203)
…
0346nobodyさん2008/11/24(月) 17:35:15ID:???
> SQL failed
> Table 'ecsite.item' doesn't exist

ecsiteテーブルのitemフィールドが存在しない・・・か?
発行したsqlのテーブル名が間違っているか、または、データベースに対象のテーブルが存在しないか
0347inaba2008/11/24(月) 20:15:27ID:gYrPBRV2
nobody様

毎度ご返信ありがとうございます。
inaba
0348nobodyさん2008/11/26(水) 10:59:34ID:???
せめてうまくいったのかどうかは書いてくれないか。
0349eRuzrOONg2008/12/11(木) 07:10:51ID:???
2HfYsq <a href="http://phqokodhgcqc.com/">phqokodhgcqc</a>, [url=http://pyzyqhxdqqom.com/]pyzyqhxdqqom[/url], [link=http://oicsnvhsxcub.com/]oicsnvhsxcub[/link], http://sieffrfwkiwx.com/
0350XNSFTPjyNe2008/12/12(金) 06:01:02ID:???
EPcKvV <a href="http://beglhwkyrhny.com/">beglhwkyrhny</a>, [url=http://vkhxxkcmtbqd.com/]vkhxxkcmtbqd[/url], [link=http://kgipkwdyhjqf.com/]kgipkwdyhjqf[/link], http://pqnvmgmnshcv.com/
0351nobodyさん2008/12/14(日) 11:25:11ID:tcQAEA9h
Tomcat6で学習中です。(環境とかは特になく、エディタとコマンドラインです)
web.xmlのフィルタの記述のタイプミスで、Tomcat起動時に次のエラーがでました。

2008/12/14 9:54:21 org.apache.catalina.startup.ContextConfig applicationWebConfig
致命的: 9行の20列目で発生しました
2008/12/14 9:54:21 org.apache.catalina.startup.ContextConfig start
致命的: 前のエラーのためにこのアプリケーションは利用できないようにマークします

web.xmlを修正しても

致命的: 以前のエラーのためにコンテキストの起動が失敗しました [/test]

となってtestアプリケーションにアクセスできません。
サーバーは起動しますし、他のアプリにはアクセスできます。
タイプミスはfilter関連の部分なんですが、web.xmlのフィルタ部分を削除するとエラーは出ず、
ブラウザからもアクセスできます。

最初のエラーで「利用できないようにマーク」されてるせいだと思うんですが、
これはどこにマークされてるのでしょうか?(マークを除去したい)
0352inaba2008/12/14(日) 13:30:25ID:1n7wtvCV
以下はJavaプログラムの一部です。
try文の中にif文で、fuku1に接続する場合とfuku2に接続する場合で分けたいのですが、
どのようにif文をかけばよいでしょうか。

public ItemCollection findAll() {
/* 商品一覧オブジェクトを作成 */
ItemCollection collection = new ItemCollection();
collection.setList(new ArrayList<Item>());

/* データベースへ接続 */
Connection con = createConnection();
try {                   ←try文です。この中にif文でfuku1とfuku2で条件分岐したいと思います。
/* SQLをデータベースへ送信 */
String sql = "SELECT * FROM fuku1";
Statement stmt = con.createStatement();
ResultSet rs = stmt.executeQuery(sql);

0353inaba2008/12/14(日) 13:31:07ID:1n7wtvCV
プログラムの続きです。

/* 検索結果から商品一覧情報を作成 */
while (rs.next()) {
int id = rs.getInt("id");
String name = rs.getString("name");
String detail = rs.getString("detail");
String pictureName = rs.getString("picture");
int price = rs.getInt("price");
collection.addItem(new Item(id, name, detail, pictureName, price));
}

rs.close();
stmt.close();

return collection;

}

よろしくお願いします。
0354nobodyさん2008/12/14(日) 15:20:36ID:???
>>351
おとなしくNetBeans使えば?
0355XIgzSRFvRtlcge2008/12/14(日) 21:01:27ID:???
fG6YSN <a href="http://ovocapvqzswf.com/">ovocapvqzswf</a>, [url=http://ysiowifddefp.com/]ysiowifddefp[/url], [link=http://ltfnonnelvzq.com/]ltfnonnelvzq[/link], http://jjkbpeyxlwal.com/
0356nobodyさん2008/12/16(火) 00:02:52ID:+t66f8nA
次のエコープログラムを実行すると文字化けしてしまいます。
どうすれば文字化けが直りますか?

【index.jsp】
<%@ page contentType="text/html; charset=Windows-31J"%>
<html>
<head>
<title>ほげ</title>
</head>
<body>
<form action="echo.jsp" method="POST">
<textarea name="text"></textarea>
<input type="submit" value="送信">
</form>
</body>
</html>

【echo.jsp】
<%@ page contentType="text/html; charset=Windows-31J"%>
<html>
<head>
<title>ほげ</title>
</head>
<body>
<% request.setCharacterEncoding("Windows-31J"); %>
<%= request.getParameter("text") %>
</body>
</html>
0357nobodyさん2009/01/18(日) 21:05:24ID:OUaJ4Ieb
Struts1.3を使ってます

Struts1.xのアクションはスレッドセーフでは無いという事を聞きました
その為にアクションに変数を持たせるのは止めた方が良いというのも理解しました

話が少し変わってしまうのですが、
同一セッションでリクエストが連続して送られて来た場合はどうなるのでしょうか?
例えば間髪入れずにボタンがクリックされた場合等です

フォームビーンのスコープをsessionにしている場合、
フォームビーンの値はスレッドセーフなのでしょうか?

それとsessionAttributesの中に格納している他の値はセーフなのでしょうか?

apacheやjspコンテナやstrutsがリクエストをシリアライズしてくれてたりしないのでしょうか?
03583572009/01/18(日) 21:07:56ID:OUaJ4Ieb
>>356
pageEncodingやmetaタグも使うと良いですよ
更にweb.xmlにフィルタを書いてフィルタクラスを作成してShift_JISとか指定すると良いと思います
03593572009/01/20(火) 20:48:23ID:J6hKNlTX
自己解決しました。

Eclipseでデバッグしてブレークポイント入れたら2スレッド捕まりました。

sessionのAttributesはそういった意味でスレッドアンセーフです。
アクションフォームビーンもsessionスコープならスレッドアンセーフです。
0360nobodyさん2009/02/04(水) 08:26:53ID:hnqVGXLU
jspを始めてみました。
PHPとかperlと比べて非常に分かりづらいですね。資料もあまりないし。

で、分からないのは文字コードのこと。
通常にブラウザに表示させるだけなら文字化けはしないのだが
POSTで受け取った値を出力させるとそこだけ??になる。
この受け取った値だけをエンコードするにはどうすればいいの??
03613602009/02/04(水) 22:35:37ID:W0Hr6oYo
過疎なの?
0362nobodyさん2009/02/05(木) 08:23:47ID:???
資料もあまりないしっておい。
ただ、setCharacterEncoding でGETのエンコーディングが効かなくなったことの説明は、あまりないな。
0363nobodyさん2009/02/07(土) 09:35:52ID:???
>>356
charasetを変更できるなら、UTF-8で作っておきな。
いちばん文字化けしなかった。
0364nobodyさん2009/02/10(火) 14:15:13ID:???
>>360
JSP ならム板のほうがレスポンス早いかもな
ここにはエンタープライズ系の人はほとんどいないっぽい
0365nobodyさん2009/02/12(木) 23:08:42ID:???
データベース作ろうと思います
PHPより簡単ですか?
0366nobodyさん2009/02/13(金) 08:30:57ID:???
「データベース作る」がデータベースをアクセスするアプリという意味なら、PHPより簡単だな。
NetBeans入れてデータベース設定してWebプロジェクト作ってVisualWebJSF作ってTable配置してデータベーステーブルをドラッグすればデータベースの中身が表示される。
ボタン配置してダブルクリックすればボタンの処理を書ける。
とっかかりの簡単さはPHPよりも上だな。
あとは、やりたいことによる。
0367nobodyさん2009/02/13(金) 11:21:46ID:???
PHPはライブラリが充実してる。
大抵のやりたいことが、既にソースというかモジュールとしてすぐに使える。

JSPはJavaで出来ることがそのまま出来るってのが利点なのかな。
私ならRubyをすすめます。
0368nobodyさん2009/02/13(金) 19:29:47ID:???
>>366-367
ありがとうございます。
あともう1点セキュリティはどうなんでしょうか?
PHPより上ですか?
0369nobodyさん2009/02/14(土) 01:24:33ID:???
セキュリティは自分がどれだけシステムを想像できるかにかかっています。

上司いるんでしょ?どっかで聞いて見なよ。
0370nobodyさん2009/02/14(土) 07:13:41ID:???
>>367
ライブラリが充実してるというより、Webで使う前提のライブラリがWebで使いやすいように使える、だな。
Javaでも同等ライブラリあるし、充実度自体はJavaのほうが上。
0371nobodyさん2009/02/14(土) 07:15:20ID:???
>>368
セキュリティ担当者がこいつらセキュリティわかってないって言って辞めるようなPHPより、Javaのほうが上だな。
0372nobodyさん2009/02/14(土) 21:17:53ID:???
PHPでもセキュアなソースは書けるよ。使い方次第。
まあ、脆弱性の問題は別にあるけどね。
0373nobodyさん2009/02/15(日) 06:30:44ID:???
>>372
ソースレベルでセキュアなコード書いたところで、仕様や実装自体に穴があればどうしようもない話。
使い方次第という話ではないと思う。
0374nobodyさん2009/02/26(木) 15:41:13ID:M1Max02p
すみませぬ

FOPのライブラリで、XML+XSLで動的にPDFを生成して出す仕組みを作っています。

フォームにファイルを指定させ、ボタンを押すとJSPが呼び出され、
JSPの構文内でFOPを実行し、出てきたPDFのストリームを、ブラウザで表示するようにしたいのです。

JSPではHTMLの形で整形して出すしかやったことないのですが、
HTML以外のファイル(PDF)を返す方法ってありますか?

可能であれば、そのファイルをブラウザが「開く」「名前をつけて保存」のダイアログをいちど出す形で返す方向にしたいです。
アドバイスお願いしまする
0375nobodyさん2009/02/26(木) 16:01:59ID:???
jspじゃないとだめなの?
サーブレットでいいじゃない
0376nobodyさん2009/02/26(木) 16:07:29ID:M1Max02p
>>375
サーバーサイドのプログラムは初心者なもので。
Servletでも良い方法があれば教えてください。
0377nobodyさん2009/02/26(木) 16:16:46ID:???
サーブレットなら、適切なContentType入れてやって
Content-Dispositionヘッダを設定して
バイナリをresponse.getOutputStreamで取得したstreamに書き込めばいい。
0378nobodyさん2009/02/26(木) 19:18:47ID:M1Max02p
>>377

ありがとうございます。とりあえずJSPでやってみる方向で努力しています。
(ダメならServletのほうを研究してみます)
3行目をヒントに、とりあえずサーバーにpdfの一時ファイル(temp.pdf)を作ってから、それを返すロジックをやってみているのですが・・・

<%
/* 〜fopでtemp.pdfを吐き出す処理〜 */
response.setContentType("application/pdf");
response.addHeader("content-disposition","attachment; filename=temp.pdf");

OutputStream os=response.getOutputStream();
FileInputStream fis=new FileInputStream("temp.pdf");
int len=0;
while(fis.read()!=-1)len++;
byte b[]=new byte[len];
fis.read(b);
os.write(b);
%>

目的どおり、ボタンを押すと「開く」「ダウンロード」を選択するダイアログは出てくれるのですが、
出てきたデータが化けているようで開けないです。データそのもののバイト数は元ファイルと同じです。
文字コードが違うとかそのような理由なのでしょうか?
pdfのようなバイナリファイルの場合、一番上での<%@ page language="java" pageEncoding="UTF-8"...といった部分はどのように指定するのが良いですか?

0379nobodyさん2009/03/01(日) 11:35:59ID:???
むむむ、サイズ同じって、、バイナリ比較して同じもの?
0380bqXTOBuUigBhoHZv2009/03/06(金) 04:52:18ID:???
comment6, http://www.hairmaxforum.com/forum/member.php?u=16263 Order Viagra, 5988,
0381nobodyさん2009/04/22(水) 00:17:35ID:???
質問です。
JSPのページ内で定義した変数を、
カスタムタグの処理の中で参照することってできますか?
03823812009/04/23(木) 01:17:32ID:???
JSPの生成したコードを見たところ、無理そうでした。
それにしても過疎ですね。
0383nobodyさん2009/04/23(木) 10:44:32ID:???
じゃあなんのために式言語があるのかと
0384nobodyさん2009/04/24(金) 01:55:57ID:???
>>381
TagExtraInfoとか、TLDのvariableタグでできるんじゃねぇの?
0385nobodyさん2009/05/01(金) 23:11:02ID:i63rwEiz
display tagで表示したリストの各行に「編集」「削除」のメニューをポップアップメニュー形式で出したいのですが、
どうすればいいですか?
0386nobodyさん2009/05/02(土) 04:32:50ID:???
JavaScriptが理解できてないと難しいんじゃね?
0387nobodyさん2009/05/02(土) 14:18:53ID:8u4PIT3Z
>>385
「編集」「削除」のHTML要素はあらかじめ作っておいて、
そのstyle.visibilityを"hidden"にしておく。
そして各行の<tr onmouseover>に上記DOM要素を"visible"に変更するJavascriptを仕込んでおく。
0388nobodyさん2009/05/04(月) 14:51:19ID:ZVkqfyYv
display tagが理解できてないと難しいんじゃね?
0389nobodyさん2009/05/05(火) 01:26:52ID:o/Eq3ypu
あらかじめ作っておく「編集」「削除」HTML要素の列は
style.visibilityを"hidden"にしても消えないよな?
0390nobodyさん2009/05/11(月) 11:41:55ID:4nDQG8+C
デコレータ作ったことあるヤシおる?
0391nobodyさん2009/05/13(水) 04:33:05ID:STIyzVwW
TestというFunctionsを定義したのですがJSPのコンパイルエラーになってしまいます。
taglibディレクティブに追加するだけなら正常なのですが、タグを使おうとすると・・・
An error occurred at line: 13 in the generated java file
Test cannot be resolved to a type

タグの内容は、文字列を与えると別の文字列を返すシンプルなものでテストしています。
public static String function testFunc(String word) {
 return "Good-bye";
}

web.xml/tld/タグ本体のclassファイルに関してはおそらく問題ないと思うのですが・・・
呼び出し方が悪い気がするのと、全部書くと長くなるので、これらの記述の詳細と
コンパイラのエラー内容については一旦省略して質問させてください。
JSPでの呼び出しは、次のように書いています。
<@taglib prefix="test" uri="http://hogehoge" %>
${test:testFunc("Hello")} //=>"Good-bye"が表示されるかと思いきやエラー

これでOKだと思っているのですが、間違っていますでしょうか?
他に原因がありそうであれば、他の詳細も投稿しますので、よろしくお願いします。
0392nobodyさん2009/05/13(水) 04:46:47ID:???
「TestというFunctionsを定義した」というのなら、その定義のしかたを書かないと。
0393nobodyさん2009/05/13(水) 04:59:45ID:???
すみません。詳細追加しますm(_ _)m

//Test.java(タグの本体)
public class Test {
 public static String testFunc(String word) {
  return "Good-bye";
 }
}

//testTags.tld(抜粋)
<function>
 <name>testFunc</name>
 <function-class>Test</function-class>
 <function-signature>java.lang.String testFunc(java.lang.String)</function-signature>
</function>

//web.xml(抜粋)
<jsp-config>
 <taglib>
  <taglib-uri>ttp://hogehoge</taglib-uri>
  <taglib-location>/WEB-INF/tld/testTags.tld</taglib-location>
 </taglib>>
</jsp-config>
(続く)
0394nobodyさん2009/05/13(水) 05:00:43ID:???
//JSP
<@taglib prefix="test" uri="ttp://hogehoge" %>
${test:testFunc("Hello")} //=>"Good-bye"が表示されるかと思いきやエラー

今、${test:testFunc("Hello")}ではなく<test:testFunc("Hello") />としてみたところ
エラーメッセージ
プレフィックス testでインポートされたタグライブラリには、タグ testFunc( は存在しません
に変わりました。
しかし確かに存在するのですが、指定の仕方がよくないのか・・・
0395nobodyさん2009/05/13(水) 06:11:51ID:???
Testクラスのパッケージは?デフォルトパッケージなら、なにかのパッケージに入れてみたら?
03963912009/05/13(水) 06:33:59ID:???
>>395
ありがとうございます!
適当なパッケージに入れてみたところ動作しました。

テストなので簡単にしていて・・・
他に書籍のサンプルのタグのクラスも試していたのですが、そのときも簡略化のつもりで
ソースのパッケージをコメントアウトしていました(同様にエラーになった)
おしえていただくまでまったく気づきませんでした・・・
ありがとうございました。
0397nobodyさん2009/05/13(水) 07:06:22ID:???
>>396
解決できたようでなにより。

パッケージに入れるのが面倒というのは、手でコンパイルしてる?
もしIDE使ってないなら、NetBeans使うとtldの記述も楽になるし、使ってみるのをおすすめする。
03981/22009/05/22(金) 01:02:13ID:???
質問させてください。
CentOS5.3 にて Apache2.2.11 と Tomcat 6.0.18 を使用し、
MySQL に JDBC を使用して接続したいと考えています。
以下の JSP を実行するとうまく接続できました。

<%@ page import="java.sql.*" %>
<%
Class.forName("org.gjt.mm.mysql.Driver");
Connection conn = DriverManager.getConnection("jdbc:mysql://localhost/DBname?user=user&password=pw&useUnicode=true&characterEncoding=UTF-8");
Statement stmt = conn.createStatement();
ResultSet rs = stmt.executeQuery("SELECT * FROM table");
%>

そこで JNDI を使用して接続したいのですが、うまくいきません。
以下の JSP を実行したところ、最後の行で
「Cannot load JDBC driver class 'org.gjt.mm.mysql.Driver'」との
エラーが発生してしまいます。

(続きます)
03992/22009/05/22(金) 01:03:20ID:???
(>>398 の続きです)

<%@ page import="java.sql.*, javax.naming.*, javax.sql.*" %>
<%
Context context = new InitialContext();
DataSource ds = (DataSource) context.lookup("java:comp/env/jdbc/Jsp");
Connection db = ds.getConnection();

使用している JDBC は mysql-connector-java-5.1.7-bin.jar で
$TOMCAT_HOME/common/lib ディレクトリに設置し、クラスパスも通しています。
また、context.xml は $TOMCAT_HOME/webapps/jsp/META-INF に設置していて、
内容は以下のように記述しています。

<?xml version="1.0" encoding="UTF-8" ?>
<Context displayName="Samples" docBase="jsp" path="/jsp" reloadable="true">
<Resource name="jdbc/Jsp" auth="Container" type="javax.sql.DataSource"
username="user" password="pw" driverClassName="org.gjt.mm.mysql.Driver"
url="jdbc:mysql://localhost/jsp?useUnicode=true&characterEncoding=Windows-31J"
maxActive="4" maxWait="5000" maxIdle="2" validationQuery="SELECT count(*) FROM table" />
</Context>

JNDI を使用して接続を実現するにはどうすればいいのか、
何卒お知恵をお貸しください。よろしくお願いします。
04003982009/05/28(木) 22:08:54ID:???
>>398-399 での質問について自己解決しました。
まず、JDBC の設置場所は $TOMCAT_HOME/lib でした。
また、Tomcat の 設定ファイルで context.xml に加え、web.xml も必要でした。
そして、これの記述内容はまだ日本語に翻訳されていない、
Tomcat6 用のドキュメントの通りに行いました。

はぁ、たったここまで辿り着くのに、どれだけの時間と労力を割いたことか。
我ながら先が思いやられます。しかも微妙にスレ違いだったし。
0401nobodyさん2009/05/31(日) 00:58:48ID:???
>>400
よく頑張った。
「自己解決しました」とだけ書く馬鹿が多いなか、
Lesson Learnedも書いたのはえらいと思う。
0402nobodyさん2009/05/31(日) 02:02:46ID:???
なんでおまえはそんなに上から目線なんだw
0403nobodyさん2009/05/31(日) 08:10:52ID:???
お前もだろw
そしておれもw
0404nobodyさん2009/06/11(木) 04:52:52ID:???
ちょいと質問。
外部からファイルを読み込んでそれの内容を使いたい時って
ServletContext context = getServletContext();
String path = context.getRealPath("使いたいファイルの名前");
で良いんだよね?
あとこの取り込んだファイルを別のクラス(仮にAppliクラスとする)で使いたい時は
Appli ap = new Appli(path);とかにして引数で渡してやれば使える?

テキストどおりにやってみたものの、何故かファイルの内容が
読み込めなかったんだが。どこか間違ってるだろうか。
0405nobodyさん2009/06/13(土) 23:35:29ID:???
>>404
外部ってどこのこと?
getRealPathはコンテキスト内のファイル(/WEB-INFとか)の実際のパスを取得するメソッド。
0406kxUjDmniiLCCr2009/06/16(火) 01:00:07ID:???
comment5, http://blog.filefront.com/buyviagra911/ Viagra, ooshf, http://forum.travian.co.uk/member.php?u=28909 Buy Viagra, 8)), http://ideas.veer.com/members/buyviagra Buy Viagra, tuyr,
0407nobodyさん2009/06/21(日) 21:09:59ID:???
△▲ WebProg 初心者の質問 Part19 ▼▽で聞いたんですが
自分の得たい答えが得られず、ここで質問します。
04084072009/06/21(日) 22:05:04ID:hvCXQWuu
jspやjavaでデータベースに接続する場合、
context.xmlで
jdbc:mysql://localhost/test?useUnicode=true&characterEncoding=EUC-JP
にしたい場合、EUC-JPでいいの?それともujis?
後この場合<%@ page contentType="text/html;
charset=windows31-JやShift_JISでは文字化けしますか?
すいませんが、教えてください。
PHPもやっていて、PHPはEUC-JPです。
なんとかEUC-JPでやりたいのですが、なんとかなりませんか。
後mysql5.0から文字コードの変更ができるようになったというのですが
どういう方法かサイトを調べてもでてきません。
だれか教えてください。よろしくお願いします。
0409nobodyさん2009/06/21(日) 22:55:43ID:???
マルチポスト
04104072009/06/22(月) 11:22:41ID:oqiV0G5u
>>409へ
すいません。マルチになってしまいました。
△▲ WebProg 初心者の質問 Part19 ▼▽
がなかなかレスがつかず、こっちで質問したほうがいいと思い
こちらに移動しました。
今yahooで直接レスができないので、マルチになってしまい申し訳ないです。
わかる方よろしくおねがいします。
ググッたがみんなutf8かshift-jisばかりで、EUC-JP
の情報がありません。
0411nobodyさん2009/06/22(月) 15:00:51ID:???
DBのコードはどうでもいいだろ
クライアントのエンコードはクライアントの都合でその都度指定できるじゃないか
■ このスレッドは過去ログ倉庫に格納されています