■■ Servlet/JSP(EJB含む) 質問スレ Part2 ■■
■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん
03/05/14 11:32ID:RETM9b3/前スレ
■■ Servlet/JSP(EJB含む) 質問スレ ■■
http://pc2.2ch.net/test/read.cgi/php/1023501812/l50
0456nobodyさん
03/10/16 19:47ID:???0457知恵を貸してください(つд`)
03/10/17 07:41ID:WImn/Rzrjspでは画像の保存はできない物なのでしょうか?
どなたか救いの手をお願いします〜。
0458nobodyさん
03/10/17 09:30ID:???そのServletの動いているカレントディレクトリを取得するには
どのようにしたらよいでしょうか?
そのカレントディレクトリからイメージファイルのあるディレクトリを
参照したいのですが。
絶対パスはできれば避けたいと思います。
0459457:知恵を貸してください(つд`)
03/10/17 09:44ID:1hgqGCAtちょっと違ったみたいで「アプレットで画像の保存ができない」でした、、、
jsp以前の問題ですね、、、
なんとかアプレットで動かす方法ないものでしょうか?
救いの手をお願いします〜。
0460+++
03/10/17 20:12ID:???ServletContextクラスのメソッドgetRealPathです。
ServletContext sc = getServletContext();
path = sc.getRealPath("WEB-INF/data.xml"):
みたいな。
>指定された仮想パスに対応する実際のパスを格納した String を返します。
>>457
えーと、Appletがクライアント上でデータをセーブしたいという事なのかな?
もともとそれはセキュリティのために無理で、バージョンが上がってから
http://java.sun.com/products/plugin/1.2/docs/ja/security.html
ここに情報がありますね。でもIEのVMには効かないでしょうね。
他に方法があるかは知りません。一般的じゃないのであまりやった人はいないでしょう。
0461デフォルトの名無しさん
03/10/17 22:27ID:M/bL+kzK0462うんこ
03/10/19 15:15ID:???趣味でやるんなら全然OKでしょ
0463nobodyさん
03/10/19 22:54ID:???Servlet/JSPの使えるレンタル鯖って少ないし。
0464+++
03/10/20 12:10ID:???0465デフォルトの名無しさん
03/10/20 19:41ID:l+AFOoYjどうしてですか?
Servlet/JSPの使えるレンタル鯖って少ないから?
というか掲示板程度ならPHPとかで十分かな〜なんて。
まあ試しで作ってみてるんですが
0466+++
03/10/20 20:18ID:???いや、そうレンタル鯖とか少ないので。
もちろん本格的なサイト構築とか出来るし、社内サーバでも活躍できると思う。
まあそういうのはEJBに行くパターンも多いでしょうが。
私はstrutsで自分ポータルサイトを作ってて、ライフワーク化しつつありますね。
外にはさらしてないんだけど。
0467nobodyさん
03/10/20 20:21ID:???0468nobodyさん
03/10/21 06:38ID:???Perl で CGI のように切り身で売るのには向いてない。
アレなら ADSL に Dynamic DNS で無料で自鯖立てるっつー手もある
(できないプロバイダもあるが)。
0469デフォルトの名無しさん
03/10/21 17:51ID:9MZmJRVK>私はstrutsで自分ポータルサイトを作ってて、ライフワーク化しつつありますね。
>外にはさらしてないんだけど。
具体的にどんなですか?言える範囲で結構です。教えていただけませんか?
0470nobodyさん
03/10/21 18:07ID:???0471+++
03/10/21 18:27ID:???自分が見るサイトURLリンク管理、TODO、ニュース一覧、色一覧ツールとか。
複数台のマシンを使ってると、どのマシンからも使えるので便利。
TODOには追加機能がいっぱいたまってるんだけど・・。
>>470
うるへー。
しかし、これを作り始めたのは去年あたりだけど、やはり自分が必要な
ものを作るのはいいものだ。ホントに一生使うような気がする。
0472nobodyさん
03/10/21 20:58ID:Y00rsQnK俺CMSという感じだな。
土台にAvalonとかPhoenixを使っているとカコイイかも。
0473+++
03/10/23 11:22ID:???AvalonはApacheにあるというくらいしか知りませんね。面白そうだったら使ってみましょう。
便利なCMSは目指してるんだけど、なんちゅーか考えること多くて大変。
0474デフォルトの名無しさん
03/10/24 02:51ID:???サーブレット→JSPに移動するんですがエラーがでます。
java.lang.IllegalStateException: レスポンスをコミットした後でフォワードできません
at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:368)
at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:356)
at IndexServlet.doPost(IndexServlet.java:107)
その部分は、以下です
String url = "/index.jsp";
request.setAttribute("errorMessage",errorMessage);
RequestDispatcher rd = getServletContext().getRequestDispatcher(url);
rd.forward(request, response);
これ以前には、responseオブジェクトをいじるようなソースコードは一切書いていません。
当方、サーブレットはまだ、根本まで理解していないので全然分かりません。
コミットしないようにするとかできるんでしょうか?っていうか、responseオブジェクトは一度も使っていないのに、
なにをセットしているんでしょうか?さっぱりわかりません。おねがいします。
0475デフォルトの名無しさん
03/10/24 02:52ID:ehd7Auvi0476名無しです
03/10/24 12:36ID:DDXJEASb教えてください。
データベースのテーブルの内容をフォームのアイテムリストの項目としたい
のですが、JSPのソースをどうすれば良いのでしょうか。
どうか力を貸してください。
後、これの参考になるサイトがあれば教えてください。
0477nobodyさん
03/10/24 13:14ID:PLz4+qY/ソースの一部だけでは判断できないですよ。
JSPの中も確認したほうが良いと思います。
>>476
JSPから直接JDBCを使用するのでしょうか?
それなら、ResultSet#getString("XXXX")で表示すればいいのでは
ないでしょうか。
0478nobodyさん
03/10/26 15:29ID:8C6y7qFc0480nobodyさん
03/10/27 10:12ID:???みたいだなw
0481nobodyさん
03/10/27 21:33ID:???JSPがそのセッションを取得する時、JavaBeenをしようしないと
いけないですか?
0482nobodyさん
03/10/27 23:18ID:???基礎から勉強してこい。
0484481
03/10/27 23:44ID:???レスTHX
でも、それって、JSP→JSPや、サーブレット→サーブレットだけじゃないのですか?
サーブレット→JSPも、それ出来るんですか?
0486481
03/10/28 22:45ID:???0488nobodyさん
03/10/29 01:45ID:???0490nobodyさん
03/10/31 22:19ID:mtbGF6Sw自作クラスライブラリを作って$CATALINA_HOME/shared/libに置きました。
その中からリフレクションAPIを使って、WEB-INF/classesの下に置いてある
クラスをロードしたいのですが、Sharedクラスローダとアプリケーションクラスローダの
守備範囲が違うためか、Class.forName()を使っても、ClassLoader.getSystemClassLoader().loadClass()を使っても、
ClassNotFoundExceptionが飛んでしまいます。
こういう場合のスマートな解決策ってどんな感じでしょうか?
0492+++
03/11/01 00:24ID:???http://www.zdnet.co.jp/developer/0308/24/dvn03.html
ReflectPermissionというのもあるよ。
0493nobodyさん
03/11/01 04:04ID:???何をしたいのかわからないけど、
WEB-INF/{classes,lib}内からロードしておいて
自作クラスライブラリとやらにロードしたクラスの
インスタンスなりClassクラスなりを渡してやるとかではダメですか?
ダメなら、何をしたいのかとダメな理由を具体的に書いてみるとか。
0494490
03/11/01 09:27ID:PnQ6V1Fi>>493
今まさに、その仰った通りの方法でしのいでますが…
やりたいことはJakarta DB SQL Commonsの簡略化版で、DB問合せ結果をBean
にマップして返すという処理です。処理自体は共通なのでSharedに置きたい、
がBeanクラスはWEB-INFの下に置きたい。かつ、アプリの中でBeanクラスを
渡すのではなくて、struts-configみたいなXMLファイルにクラスの名前を書いて
おいて、それを共通処理に読ませたい(ので、493で言われたクラスを渡す方法は使いたくない)。
>>492
Tomcatのクラスローダがああなってる理由は一応わかるので、セキュリティを
いじるのはあんまりやりたくないんでつ
0495nobodyさん
03/11/02 14:30ID:XjVR5g7/じゃぁ、クラスローダを渡してやるのは?
public class SharedClass {
private ClassLoader classLoader;
private Map beanNameMap;
public SharedClass(ClassLoader cl, Map map) {
classLoader = cl;
beanNameMap = map;
}
public Object newInstance(String name) {
String className = (String) beanNameMap.get(name);
return Class.forName(className, true, classLoader).newInstance();
}
}
public class MyServlet extends HttpServlet {
private SharedClass sharedClass;
public void init() throws ServletException {
Map map = /* クラス名を書いておいたファイルから読み込む */
sharedClass = new SharedClass(this.getClass().getClassLoader(), map);
}
void useSharedClass() {
Object bean = sharedClass.newInstance("hogebean");
・・・
}
}
でも、これで解決するような話なら
あまり悩むようなことではなさそうだし
私、何か勘違いしてるかな?
0496nobodyさん
03/11/04 05:31ID:XuV+B38+起こして溜まってしまった、利用されていないコネクションを
強制的に返却なり捨てるなり、DataSourceそのものを初期化する
方法ってありませんか?
0498nobodyさん
03/11/10 17:37ID:beKsstU3>307 名前:nobodyさん 投稿日:2003/07/15(火) 17:07 ID:mN7Rw2O3
>apache 2.0.46にtomcat4.1.24を連携させて動かそうとしています。
>http://localhost/examples/でサンプルのディレクトリ一覧を表示するとこまでは行けたのですが、
>jsp、servletsのディレクトリの内のhtmlが404エラーが出て読み込みません。
>サンプルプログラムに直接アクセスしたりtomcat単体で動かすとちゃんと実行できますし、
>apacheと連携させないでtomcat単体で動かすとhtmlも表示できます。
>どうやったらapacheとの連携でhtmlファイルを読み込むことができますか?
これと同じ事が起こったんですけど、
コネクタはmod_jk2.soを使っていて310の書き込みを見てhttpd.confに、
Alias /examples "/usr/local/jakarta-tomcat/webapps/examples"
を書き加えましたが改善されません。
もちろんパスも間違えていません。
朝から検索しまくってるのですが全然見つかりません。
良い解決法はないでしょうか?
0499nobodyさん
03/11/12 07:29ID:BQSDQCno<A href="sample.java?param1=<%= java.net.URLEncoder.encode("パラメータ1") %>">ここをクリック</A>
のような感じで、エンコードをしてからサーブレット(sample.java)に渡しているのですが、
サーブレット側でgetPrameterで受けとるときに、何も値が入ってません。
1バイト文字なら問題ないのですが。。。
0500nobodyさん
03/11/12 09:39ID:???そのJSPから生成されたHTMLを調べないのはなぜだ?
0501nobodyさん
03/11/12 14:00ID:???0503nobodyさん
03/11/14 00:15ID:/cKQoZtV0505nobodyさん
03/11/16 17:28ID:xjmY728Y<%@ page language="java" contentType="text/html; charset=Windows-31J" %>
なんですが、auのHDML-HTMLコンバーターがWindows-31Jを認識しません。
<%@ page language="java" contentType="text/html; charset=Shift_JIS" %>
と書くと認識しますが、JDK1.4.1からShift_JISとWindows-31Jはコードのマッピングが
違うため、いくつか文字化けする文字があります。
みなさんどうしてますか? 気にしてない?
0506nobodyさん
03/11/18 03:20ID:YWvRXQpihttp://takeoba.cool.ne.jp/moreJava/servletHello.htm
を試したところ、ステータスが404表示されたので
「あー、HelloWorldサーブレットの場所が分からないのね」って思い
web.xmlに次の文を追加したところ
<servlet>
<servlet-name>HelloWorld</servlet-name>
<servlet-class>HelloWorld</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>HelloWorld</servlet-name>
<url-pattern>/HelloWorld</url-pattern>
</servlet-mapping>
今度はエラーステータス500が表示されてしまいました。
他のサイトのサンプルをみてもとても簡単にサーブレットを起動
させているので自分の環境が悪いのかなぁって感じています。
同じようなことを経験された方がいましたら是非対応テクを教えてください。
また上記サンプルを試して(デプロイも含めて)無問題だという方ございましたら
お手数ですが挙手おねがいします。
もう一度自分の環境を洗ってみます。
ちなみにTomcat4.1.27、j2sdk1.4.2です。よろしくお願いします。
0508nobodyさん
03/11/18 10:20ID:???教材が悪かったな。
そのページに書いてあることは間違いだらけだ。
だいたいそのままやってもコンパイルできないだろ…。
とりあえずtomcatのログを見てがんばってみるか、
それでもダメだと思ったら教材を替えれ。
0509506です その1
03/11/18 15:06ID:jQNQBxBOサンプルがダメダメってことですか?だとしたらとてもショックです。
夕方から始めてその時間まで粘ってたんです。
だけど他のサイトとか見ても大体同じようなことが記述されているんですよね。
ちなみにコンパイルは通しました(開発環境はエクリプスです)。
508さんはおそらくservlet.jar以外のクラスパスのことをおっしゃてるんですよね。
またTomcatに表示されるエラーですが、長いので抜粋しますと、
type:
Exception repor
descriptiont:
The server encountered an internal error () that
prevented it from fulfilling this request.
exception:
java.lang.ClassCastException
:
:
てな感じです。何か深いとこで例外が発生してます?
0510506です その2
03/11/18 15:07ID:jQNQBxBOHelloWorldが表示されないのは、何か情報が足りないんですかね?
そこでお伺いしたいのですが、例えばサーブレットを作成してできたclassファイルを
CATALINA_HOME%\webapps\examples\web-inf\classes\の直下にデプロイする
ということは技術的に問題はないですよね?
またweb.xmlに<servlet>、<servlet-mapping>を記述する必要はあるのでしょうか?
つかり本当は記述すべきだが、特に必要なしってこともあるのかということです。
(サイトによってはそこまで言及していないところもあったですから・・・)
私も再度チャレンジしてみます。
すいませんがまた気が向いたら何か情報を書き込んでください。
0512nobodyさん
03/11/18 23:10ID:???agent多すぎてなんだかな。
レスポンスを変えると、JSPソース埋め込みの、「�@」みたいな
いわゆる98文字がおかしなことに。
0513nobodyさん
03/11/20 01:17ID:jMJIcLvQmod_webapp.soかmod_jk.soのLinux版バイナリを手に入れたいのですが、どうすればいいでしょうか?
jakarta.apache.orgから探せません・・・_| ̄|○
0514nobodyさん
03/11/20 04:55ID:???http://archive.apache.org/dist/jakarta/tomcat-connectors/jk2/v2.0.1/bin/linux/i386/
0515nobodyさん
03/11/20 23:41ID:jMJIcLvQサンクス。
もっともなのでビルドしますた。
configureの引き数間違えたりして手間取りましたが。
0516nobodyさん
03/11/21 16:50ID:YzFZUN0Eもう一回まっさらな状態からやり直せばできるんじゃん。
きっと無駄なことをやりすぎでは (´Д`;)
>>508
漏れはコンパイルできたけど・・・。漏れの環境がおかしいのか (´Д`;)
0517nobodyさん
03/11/22 01:14ID:gGrGrQPOWindows-31Jではなくて、MS932にすると、認識されます。
0519nobodyさん
03/11/27 02:08ID:aFey5batみなさんXSS対策とかどうしてますか?
HTMLタグを除去するにも
自分で1から書かないと逝けないのですか?(;´Д`)
0521nobodyさん
03/11/27 06:58ID:???http://jakarta.apache.org/commons/lang/api/org/apache/commons/lang/StringEscapeUtils.html
こういうのもあるよ
0522nobodyさん
03/11/28 00:52ID:???DB用のエスケープとか、文字数制限もやりたいとかやると
結局自分で書いたほうが早い。
0523519
03/11/28 22:03ID:???HTML関連だけならcommonsだけでも十分ぽです
早速使ってみます(=゚ω゚)ノ
0524nobodyさん
03/11/30 20:19ID:???操作できるツールってありませんか?
アプリの裏管理のとして組み込みたいのですが。
0525nobodyさん
03/11/30 21:41ID:???0526nobodyさん
03/12/02 16:56ID:bqzh3QZl組みたいんでつけど、サンプルソース付きの本とか知らないでつか?
サイトでもいいんでつけど。
0527nobodyさん
03/12/02 22:48ID:???localhost/hoge/foo/ , localhost/hoge/bar/ とかいうようにデプロイってできるの?
0528nobodyさん
03/12/02 23:43ID:???今日Tomcatでやったらできた。
<Context path="/hoge/foo" docBase="どこか/foo" .... />
0530nobodyさん
03/12/04 22:11ID:???さんくす。デプロイ自体は問題なくできますね。
けどwarの展開がなんかうまくいかん。
0531526
03/12/05 10:50ID:nKIx4TdKレスありがトン。
所要量展開(MRP)のサンプルが、狂おしい程欲しい。
0532526
03/12/05 12:45ID:???この本に「第9章 実用アプリケーションの作成 9-3 スケジュール管理:基本機能」
ってのがあるみたいだぞ?オレは読んだことないが。
http://www.amazon.co.jp/exec/obidos/tg/detail/-/books/4798006041/contents/ref=cm_toc_more/249-9631441-2769117
0534nobodyさん
03/12/09 19:35ID:???JSPカスタムタグに
<rtexprvalue>要素がありますが、
これはどう発音するのですか?
るてくすぷるばりゅー?
0537nobodyさん
03/12/12 00:48ID:???これはCGIの機能と同じと思ってさしつかえないのでしょうか?
(CGIはファイルIOでデータのやり取りをする程度の知識しかしらない。)
SAXを用いるより軽いのでしょうか?
質問していて恐縮ですが、もう寝させていただきます。返事は後日に。
0538nobodyさん
03/12/12 21:18ID:???はい。ここで問題。
1)直列化とは何をどうするものなのでしょう?
2)CGIとは何でしょう? ファイルI/OしないCGIはあるのでしょうか?
3)SAXとは何でしょう? csvとかバイナリとか読めるのでしょうか?
0539nobodyさん
03/12/12 21:51ID:???jsp内にsession.setAttribute("hoge", "hoge");という記述をし<jsp:forward page="hoge.jsp" />で
ページを移動したあと、にsession.getAttribute("hoge");で取得した値がnullを返します。
最初のページと次のページでsession.getId()の値が違うため別セッションになっているような気がします。
ちなみにこの現象はIEでのみ発生し, operaやnetscape等では発生しません。
当方の知識ではさっぱりこの現象が理解できません。どなたかお知恵を貸していただけないでしょうか?
環境はRedHat7.2, apache1.3.20-16, tomcat-4.1.29, mod_webapp(4.1.12)になります。
よろしくお願いいたします。
0540nobodyさん
03/12/13 04:18ID:???Apache通さないでTomcatに直接アクセスした場合も発生する?
0541nobodyさん
03/12/13 10:53ID:???apacheを通さないでも同じ現象になりました。
クライアントの環境ですが、Win2K+IE5.5 WinXP+IE6.0で現象を確認しております。
NT4+IE6.0では発生しませんでした。
それとWin2K+tomcat-4.1.29の組合せでは現象が出ませんでした。
0542nobodyさん
03/12/13 12:09ID:???別の機械で同じ環境を用意すると動作しました。
大変お騒がせいたしました。申し訳ありません。
0544538
03/12/13 21:05ID:???いや、自分で調べろって言いたい前に、質問が質問になってないのよ。
例えばここが野球スレだったとしてさ、
今さっき、ヒットエンドランの技を知った。(w
これは六甲おろしと同じと思ってさしつかえないのでしょうか?
(六甲おろしはアルプススタンドでシャウトをする程度の知識しかしらない。)
オリックスでバントするより強いのでしょうか?
質問していて恐縮ですが、もう寝させていただきます。返事は後日に。
というような感じで、俺にどう答えろと?
無視して欲しかったんなら謝る。
0545nobodyさん
03/12/15 22:32ID:xeYZT3ZQsessionに割り当てられる識別子は、
「識別子は実装依存であり、Servletコンテナによって割り当てられます。 」
と、APIドキュメントに記述されてますが、
tomcatではこの識別子のサイズを変更する事は可能でしょうか?
tomcat4,1,29で割り当てられる識別子が32バイトと長い為、
少し短くしたいと思うのですが・・・。
0547545
03/12/17 00:53ID:???一応報告でつ。
時間かかりましたけど、ソースを探してるうちにそれらしき箇所を発見しました。
/src/share/org/apache/catalina/session/ManagerBase.java 内で、
SESSION_ID_BYTES という変数で、jsessionidの文字列の長さを指定してますた。
明日変更して実験してみまつ。
Tomcatの動作に問題無ければいいんだけど・・・。
0548545
03/12/17 14:30ID:???sessionidは、
1) SESSION_ID_BYTES で指定されたサイズのバイト配列に乱数をセット。
2) この乱数のMD5値を取得後、MD5値を1バイト毎にchar型の英数字2文字に変換
のように作成されていますた。
MD5が128ビットである為、SESSION_ID_BYTES の値を変えても無駄ですた。
結局 2) でMD5から英数字に変えるとこをchar型の英数字1文字にさせる事で
sessionidを16文字にできますた。
ざっとテストしたところ、問題なさそうです。
・補足
なぜsessionidを短くしたかったかというと、携帯向けサイトでsession管理をさせたい為、
デフォルトの32文字では長すぎて、表示されるページのサイズが大きくなる為です。
0550nobodyさん
03/12/18 01:06ID:???だったらResin使えば?SessionIDもっと短いよ。
0553nobodyさん
03/12/18 03:12ID:???7万ページビュー/日のサイトで使ってるけど落ちないよ。
Resinは一見速く見えるけど、マルチスレッドの並行処理をさせると
とたんに激遅になる。Tomcatのほうがこの辺はちゃんと作ってある印象。
0554nobodyさん
03/12/18 14:01ID:???■ このスレッドは過去ログ倉庫に格納されています