トップページ⇒tech
1001コメント315KB

JAVA+JSP+Struts+Tomcat Part3

■ このスレッドは過去ログ倉庫に格納されています
00019652006/10/26(木) 20:41:36
ほらよ。立ててやったぞw
0566デフォルトの名無しさん2007/04/17(火) 09:29:26
server.xmlにエンコーディング指定
0567デフォルトの名無しさん2007/04/17(火) 11:06:21
>>565
そもそもstruts2は推奨はdoじゃないんじゃね?
フィルターつかってないの?
05685512007/04/17(火) 17:35:00
>>567 strutsは1系にヴァージョンダウンしたんです。2系はwebに載るようになってから
使おう思って。
0569デフォルトの名無しさん2007/04/17(火) 17:43:40
なにいってるんだ?
2は普通にwebにのってるぞ
05705512007/04/17(火) 19:02:28
いや、文字化け対策とか、必要なjarファイルとか・・・
ver2使ってても参考書通りにやってたらjarファイルver1と同じになったorz
しかもcommonファイルが2つ足りなくて探し回る羽目にw
05715512007/04/17(火) 20:18:11
失礼、ver2使ってても参考書通りにやってたらjarファイルver1と同じになったorz
>>この表現は誤解を与える。eclipse使ってるのだが、eclipseのlibに
struts2\libにあるファイルをインポートしたわけさ、そしたら基本必須jarファイルは
参考書とほぼ同じ、しかもそれだけではtomcat起動した時にコンソールにactionを
使用不可にしますってエラーログ。っておいw必須commonファイルが足りないんかいw
ってことで探し回った経緯。
0572デフォルトの名無しさん2007/04/17(火) 20:37:07
Servlet側で
if(request.getContextType=="text/html; charset=Shift_JIS"){
〜
response.setContextType("text/html; charset=Shift_JIS")
PrintWriter out=response.getWriter();
out.println〜
〜
elseif(request.getContextType=="text/html; charset=UTF-8"){
〜
とか場合分けでゴリゴリいくという手もあるぜ
05735512007/04/17(火) 21:08:54
>>572 すみません、よく理解できないので、しばらく参考書通りにやって
身体に覚え込ませてから応用とか、そういうのやってみようと思います。
なんかコテハンっぽくなってるので消えますね。これからもよろしくお願いします。
0574デフォルトの名無しさん2007/04/17(火) 22:18:11
>>551がんがれぇw
0575デフォルトの名無しさん2007/04/17(火) 22:46:39
<%@page contentType="text/html; charset=Shift_JIS">
0576デフォルトの名無しさん2007/04/18(水) 09:15:10
サーブレットからプロパティファイルを読み込みたいのですが
File Not Foundになってしまいます。
プロパティファイルはどこに配置すればよいのでしょうか?

Properties prop = new Properties();
prop.load(new FileInputStream("test.properties"));


0577デフォルトの名無しさん2007/04/18(水) 10:05:08
Servletでクロスサイトスクリプティング対策で
HTMLエンコーディングをしたいのですが
どのような関数がありますか?
0578デフォルトの名無しさん2007/04/18(水) 10:13:03
strutsのstruts-configに追加で記述したいのですがどうやればいいですか?
<struts-config>
<form-beans>
<form-bean name="chap02_loginForm" type="chap02.LoginForm"/>
</form-beans>

<action-mappings>
<action path="/chap02/login"
type="chap02.LoginAction"
name="chap02_loginForm"
scope="request">
<forward name="success" path="/WEB-INF/jsp/chap02/success.jsp"/>
</action>
</action-mappings>
</struts-config>
<struts-config>
追加記述
</struts-config>
こうやるとエラーが出ます。
0579デフォルトの名無しさん2007/04/18(水) 12:02:18
>>576
InputStream in = this.getClass().getClassLoader().getResourceAsStream(path);
pathはclassesの下からの相対だとおもう。
05805782007/04/18(水) 12:40:38
失礼、事故解決しました。記述方法が全然違ってたw<struts-config>
の子要素でかかんやいかんのね。
05815782007/04/18(水) 12:49:47
表現間違ってたorz"既に記述してある<struts-config>の子要素"に脳内変換
しておいてください。
0582デフォルトの名無しさん2007/04/18(水) 13:34:59
Strutsを使うとURLにjsessionidが付加されてしまいますが
クッキーでのみ取り扱いたい場合はどうすればいいでしょうか?
0583デフォルトの名無しさん2007/04/18(水) 17:36:36
それ、strutsじゃなくてtomcatが付加してるんだよ
そして、それを付けない方法はない
0584デフォルトの名無しさん2007/04/18(水) 17:42:27
ま。。。まじっすか
0585デフォルトの名無しさん2007/04/18(水) 23:38:49
validatorで半角英数字のみ許可される項目を検証する際に
maskで^[0-9a-zA-Z]*$として
チェックしようとしているのですが、
入力値が半角スペースのみの場合に、
エラーとならないのですが、なぜでしょうか。
正規表現の記述が間違っていますか?
それとも他の原因でしょうか。
教えてください。

ちなみにstrutsのバージョンは1.2.9です。
お願いします。
0586デフォルトの名無しさん2007/04/19(木) 07:18:55
Strutsで任意のHTMLを出力する場合
<bean:write>だとHtmlEncodingされてしまうのですが
生のHTMLを出力するにはどのタグを使えばいいでしょうか?
0587デフォルトの名無しさん2007/04/19(木) 08:24:18
URLにjsessionidが付加されてしまうということは
ユーザー認証情報はメモリークッキーに保存したほうが
よいですか?
0588デフォルトの名無しさん2007/04/19(木) 09:23:09
>>585
半角スペースだけだとトリムされちゃわね?
で、バリデートするときには空文字で通るとか
0589デフォルトの名無しさん2007/04/19(木) 09:24:01
>>586
filter="false"
0590デフォルトの名無しさん2007/04/19(木) 09:41:37
>>589
thanks
0591デフォルトの名無しさん2007/04/19(木) 10:18:56
>>582
フィルターでリクエストURLにjsessionidがついてたら
リダイレクトして、このサービスはクッキー未対応のブラウザでは
使用できませんとか?
0592デフォルトの名無しさん2007/04/20(金) 10:35:14
<%@ page contentType="text/html;charset=Shift_JIS" %>
<html>
<head>
<title>1〜10までの計算</title>
</head>
<body>
<h1>実行結果</h1>

<%
int sum = 0;
int i = 1;

while (1 <= 10) {

sum = sum + i;

i = i + 1;
}
%>

<p>
1から10まで加えた合計の値は

<%= sum %>

です。
</p>

</body>
</html>
どなたかこれのどこが悪いか教えてください。%>でエラーが出るんです;;
05935782007/04/20(金) 11:05:28
jspのコンパイルエラーは問題がある部分の<%の始まり部分しか指摘してくれない。
エラーログの<%の中をもう一度確かめてみ?
0594デフォルトの名無しさん2007/04/20(金) 11:34:16
ぐはwCALLPATH通してなかったすw
申し訳ないです^^;
まぁその通し方がわからないのですけどねw
0595デフォルトの名無しさん2007/04/20(金) 11:42:21
つうか、IDE使えよ。
CLASSPATHの通し方わからないくらいなら、NetBeansおすすめ。
0596デフォルトの名無しさん2007/04/20(金) 11:48:47
通せた通せたw
しかし、またエラーだ^^;
ソースどっか変なのかなぁ・・・
0597デフォルトの名無しさん2007/04/20(金) 12:21:43
eclipse
0598デフォルトの名無しさん2007/04/20(金) 13:01:44
NetBeans
0599デフォルトの名無しさん2007/04/20(金) 15:47:27
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<HTML>
<HEAD>
<TITLE>入力画面</TITLE>

</HEAD>
<h1>文字を入力してください。</h1>
<%@ page contentType="text/html;charset=Shift-JIS" %>

<FORM METHOD="POST" ACTION="http://localhost:8080/tomcat/nyuuryoku2.jsp";>

<P> 入力欄 <BR>
<INPUT TYPE="text" NAME="coment" SIZE="20" MAXLENGTH="20"></P>
<INPUT TYPE="submit" NAME="saubmit" VALUE="入力">

</FORM>
</BODY>
</HTML>

これの画面にコメントを入力後に入力ボタンを押したら画面が切り替わり
入力した内容をそのまま出力する画面をJSPで作りたいのですが
どなたかわかりますかね?
漠然とした質問ですいません。
Eclipse Tomcat 使ってます
0600デフォルトの名無しさん2007/04/20(金) 16:35:49
EclipseもTomcatも関係ないな。
まずWEBアプリの仕組みなど基本から勉強したほうがいいんじゃない?
HelloWorldどうやって表示すればいいのですか?と同じだよ。
0601デフォルトの名無しさん2007/04/20(金) 18:21:46
>>599 サーブレットでパラメーターを受け取ってjspにスコープは何でもいいから
送って表示。意味が分からないのなら、サーブレット基礎から勉強した方がよろし。
06026012007/04/20(金) 20:39:03
スマソン、パラメーター受け取ってサーブレットでgetWiterする方法もあった。
ってかこっちの方が楽。
0603デフォルトの名無しさん2007/04/20(金) 21:49:40
このスレよりJava質問・相談スレのほうがいいんじゃないの?
0604デフォルトの名無しさん2007/04/20(金) 23:40:31
>>603
それ言うならJava宿題スレでしょ
0605デフォルトの名無しさん2007/04/21(土) 12:34:17
ホントに宿題ならいいんだが、これが派遣PGが仕事でやってるんだとすると・・・
0606デフォルトの名無しさん2007/04/21(土) 12:38:04
ソフトバンク携帯のアプリを開発しているのですが、
東芝機種だけSSL通信でサーバがエラーを返します。
サーバには疎いので上手い解決法が分かれば教えてもらえないでしょうか。
以下に調べてわかったことを書きます。

・リクエストメソッドPOSTだとサーブレットでgetParameterがとれないことが原因、たぶん。
・リクエストメソッドGETならSSL通信も普通にできる
・HTTP通信ならPOSTでも大丈夫
・SSL通信のときは、リクエストヘッダに
"Transfer-Encoding: chunked""connection: close"がついてる。

・シャープ、NEC、パナソニック、SAMSUNG機種は問題なし。
0607デフォルトの名無しさん2007/04/21(土) 16:23:27
eclipse3.2,struts1,tomcat5.x使ってるんですけど、messages.properties作るじゃないっすか?
そして日本語を入れるとエンコードが違うから保存できませんのエラー。
そこでググったらmessages_ja.propertiesにすればいいと判明。
んで保存したらまたエラー。もうちょいググるとmessage.properties.jaが出てきた
んでその名前で保存したら保存できました。んでアプリケーション起動させると
警告: Resource message-resources/messages_ja.properties Not Found.
2007/04/21 16:11:56 org.apache.struts.util.PropertyMessageResources loadLocale
警告: Resource message-resources/Not Found.
2007/04/21 16:11:56 org.apache.struts.util.PropertyMessageResources loadLocale
警告: Resource message-resources/messages.properties Not Found.
のエラーどうすりゃいいんすか?先の見えない状態です。
messages_ja_JP.properties がない?それはおまいが拒否したかろうがorz
0608デフォルトの名無しさん2007/04/21(土) 16:32:15
ちなみにMessages.propertiesを英語のみでやったら表示させるのは
成功しました。
0609デフォルトの名無しさん2007/04/21(土) 16:44:52
>>607
そのエラーの直接の原因はファイルのエンコーディングがISO-8859-1になってるからだろう。
そのファイルを右クリックしてプロパティ見てみ。

でもそこでエンコーディング変えても解決しないけど。
native2asciiでググれ。
0610デフォルトの名無しさん2007/04/21(土) 17:09:27
ありがとうございます。日本語で保存することができました。
でもいざプラウザに表示するエラー文字が文字化けします。
それをググれ言ってるんですね。ありがとうございました。
06116072007/04/21(土) 19:01:41
properties エディタ入れたら速攻で文字化け直ったよ・・・
今までの苦労はいったいorz。プラグインの最終更新が2年前なんだけど、
eclipseの互換とか大丈夫なんだろうか?
こんな便利なプラグイン更新に加えるべき。
0612デフォルトの名無しさん2007/04/21(土) 19:07:16
やべぇ、いつの間にかeclipse無しではPG組めない頭になってる。
偶にはマニュアルでやってみないとな・・・んで不具合に遭遇して1日潰れるんだろうなorz
0613デフォルトの名無しさん2007/04/21(土) 19:08:18
Eclipseがなかったら、もうプロジェクトとか回らない
0614デフォルトの名無しさん2007/04/21(土) 19:09:48
NetBeansがあれば大丈夫だよ
0615デフォルトの名無しさん2007/04/21(土) 19:32:28
つうか、EclipseがなかったらIDEAとかちゃんと買って開発するようになるから、いまよりもっと楽になる。
NetBeansはEclipseがなかったらここまでよくなってないけど。
0616デフォルトの名無しさん2007/04/21(土) 19:33:42
>>611
> 今までの苦労はいったいorz

つまり勉強不足。プラグインの話じゃないよ。
0617デフォルトの名無しさん2007/04/21(土) 19:43:03
EclipseよりまともなIDEAとか見あたらない
0618デフォルトの名無しさん2007/04/21(土) 19:57:25
プシコくんはイデアが大好き
最近はIntegrated Development Environment を IDEAと呼ぶようになったのかw
0619デフォルトの名無しさん2007/04/21(土) 20:09:55
IDEAってなんでつか?
0620デフォルトの名無しさん2007/04/21(土) 20:25:40
Integrated Development Environment Ahoo
0621デフォルトの名無しさん2007/04/21(土) 20:35:06
>>619
Internet Developer plug-in for Eclipse (Advanced edition)
0622デフォルトの名無しさん2007/04/21(土) 20:44:16
もうServletやJSPは分からない体になっている。
JSPは所詮VIEWだから置いておくとしてもServletはやばいかも。
06236072007/04/21(土) 20:51:23
>>616 strutsと参考書見ながら格闘中でふ。激闘3日目
0624デフォルトの名無しさん2007/04/21(土) 21:10:44
>>619
IntelliJ IDEA
http://www.xlsoft.com/jp/products/JetBrains/index.html

使うのにお金がかかるのを除けば、最強のJavaIDE
0625デフォルトの名無しさん2007/04/21(土) 21:15:31
苦しい言い訳乙
0626デフォルトの名無しさん2007/04/21(土) 21:46:05
>>619
Impress Digital Entertainment Academy
0627デフォルトの名無しさん2007/04/21(土) 21:51:42
IDE・・・イデって読んでイデオンを連想したジャマイカ。
IDEはフリーソフトでなんぼよねぇ
0628デフォルトの名無しさん2007/04/21(土) 22:04:12
>>625
話の流れを見ると言い訳には思えないけど
0629デフォルトの名無しさん2007/04/21(土) 22:29:01
>>615
Interstageとか買われてみればいい
0630デフォルトの名無しさん2007/04/21(土) 22:44:35
あれってただのEclipse派生でしょ?
専用ライブラリも個人的にはダサくて使いたくなかった。
特にロギングのあたりは。
0631デフォルトの名無しさん2007/04/21(土) 22:48:27
今さらEJBは使わないよね
0632デフォルトの名無しさん2007/04/21(土) 22:57:43
>>619
Industry Data Exchange Association
0633デフォルトの名無しさん2007/04/21(土) 23:04:40
GlassFish+Java Logging APIという純Java仕様でなんか作ってみるかな。
PostPetだかを見ればいいのかも知れんが、英語きらーい。
0634デフォルトの名無しさん2007/04/21(土) 23:39:08
>>630
考えてみなよ、F製だよ?
0635デフォルトの名無しさん2007/04/21(土) 23:53:05
>>633
このスレはstruts使うようなのでそこで強制CommonsLoggingだな
あれ標準APIと相性悪すぎ

でも、glassfish使うだけなら英語と格闘する必要はねーべ
Sunが日本語化してるし
0636デフォルトの名無しさん2007/04/22(日) 00:06:12
CommonsLoggingも随時SLF4Jに置き換わって組んだろうね。
0637デフォルトの名無しさん2007/04/22(日) 00:20:03
>>631
今からEJB3だと思っているが
0638デフォルトの名無しさん2007/04/22(日) 00:27:47
EoDは決して口だけじゃなく、効果を表してきてるからね。
あとはデバッグ手法の高速化がサポートされれば原点回帰は起きるよ。
0639デフォルトの名無しさん2007/04/22(日) 01:42:58
EoDってなんですか?
0640デフォルトの名無しさん2007/04/22(日) 01:44:30
>>639
東京の首都
0641デフォルトの名無しさん2007/04/22(日) 02:00:36
>>619
Intel Dynamic Execution Architecture
0642デフォルトの名無しさん2007/04/23(月) 09:30:58
最新のstrutsと旧strutsの大きな違いを300字程度で教えてください。
0643デフォルトの名無しさん2007/04/23(月) 10:51:22
POJOベースになった別物
0644デフォルトの名無しさん2007/04/24(火) 10:51:01
やっぱり別物だよな。
名前が同じだけど、なんか違う気がしていた。
0645デフォルトの名無しさん2007/04/24(火) 11:15:09
流れとしては同じURLベースだからまったく別物というわけでもない
構築方法が異なるというだけ

ほぼ上位だと思っていい
というか1.xはイラネ
0646デフォルトの名無しさん2007/04/24(火) 12:07:48
2系って struts-configのaction要素のpath属性のURLでformを送信。type属性と
name属性からactionとactionformを判別って流れではないんですか?
0647デフォルトの名無しさん2007/04/24(火) 19:39:36
strutsのvalidation.xmlの仕組みがイマイチ掴めないのですが、
ActionFormのvalidate()メソッドで代用効きますか?
0648デフォルトの名無しさん2007/04/24(火) 20:38:34
>>647

できますよ。というかvalidate()メソッド使ったほうがいいですよ
06496472007/04/24(火) 21:44:36
それを聞いて少し安心しました。でも行く行くはvalidationの方も極めないとですね
レスありがとうございました。
0650デフォルトの名無しさん2007/04/28(土) 10:44:46
当方Linux全然ダメ男です。
Linuxの場合、Tomcatはどのディレクトリに配置するのが普通でしょうか?

Windowsユーザー向けの
Linux + Tomcat + PostgreSQLの書籍か何かないですかね?
Linuxを覚えながら、開発ができるようなものです。
amazonとか本屋ではなかったです。
0651デフォルトの名無しさん2007/04/28(土) 12:00:20
WindowsでもLinuxでもお好きなディレクトリにどうぞでいいよ
0652デフォルトの名無しさん2007/04/28(土) 12:25:17
/usr/local/pgsql-8.x.x
/usr/local/pgsql シンボリックリンク
/usr/local/tomcat-5.x.x
/usr/local/tomcat シンボリックリンク
0653デフォルトの名無しさん2007/04/28(土) 13:11:29
TOMCATのログをNCSA形式で吐かせるにはどう設定すればいいんでしょう?
0654デフォルトの名無しさん2007/04/28(土) 13:32:57
>>650
普通にLinuxとJSPの初心者本かえばいいんじゃないかな。
JSPの初心者本ならTomcatのインスコから基本設定まで書いてあるし。
amazonで☆5つを探せ。
06556502007/04/28(土) 14:17:20
thnks.もうひとつしょぼい質問です。
Linux+Tomcatで運用するけど、WindowsでEclipse+Tomcatプラグインで開発してます。

結合や総合テストフェーズでは、Linuxにデプロイするけど、
Warファイルを/usr/local/tomcatに置くだけ? そういうやり方が普通?
リモートから管理コンソールみたいなんでデプロイすればいいのかな。

関係ないけど、apacheって必要?
SSLとかやるわけじゃないし、リソースくうだけと思ったもので。
でも、イントラとは言え、8080にアクセスさせるのってどうかなと…


0656デフォルトの名無しさん2007/04/28(土) 14:23:47
要らない。8080ってのはただのデフォルトポート。当然80に変えればポートは省略できる。
0657デフォルトの名無しさん2007/04/28(土) 14:27:36
>>655
個人の趣味でやってる?もしくは仕事?
仕事だったらApacheとTomcatをjkというコネクタで連携するのが普通。
拡張子がjspの場合はApacheからTomcatへ流す。それ以外はApacheで処理とか。
ブラウザからは80ポートでしかアクセスしない。外部へは8080は閉じる。
あとwar形式でのデプロイとか意外にみんなやってない。
webapps/アプリ名/へそのままコピー。
0658デフォルトの名無しさん2007/04/28(土) 14:29:44
ちなみになぜTomcatだけでやらないかというと重いから。
普通のhtmlや画像なんかはApacheにやらせた方が断然早い。
Tomcatはjspの処理に専念させる方がよい。
ただそんなに負荷を気にしないで良いならTomcatで全部やらせてもいい。
0659デフォルトの名無しさん2007/04/28(土) 14:39:17
htmlだけのページや画像はほとんど出てこないので
Tomcatだけで充分のような気がします
ありがとうございました
06606502007/04/28(土) 15:02:37
>>656
>>657
ソースコピーでデプロイなら、warの方がやりやすいかな。

仕事向けです。
HTMLはないから、Tomcatだけで十分そうですね。
意味もなくapacheと連携してもリソースが無駄になりますから。
ポートはTomcatで80に変えるようにします。

>>659
なぜ、あんたが回答すんのさ…


0661デフォルトの名無しさん2007/04/28(土) 15:13:36
tomcatだけだとhttpのポートにhttpsとかその逆やると問題おきやすいし
Apacheの便利な機能がつかえないこと、管理画面をみせたくないことなどあるわけで
なにもしなくてもリバースプロキシは入れといたほうがいいと思うよ
0662デフォルトの名無しさん2007/04/28(土) 17:07:18
TomcatのSSLは全く使わずに
外から -> Apache-SSL -> jk -> Tomcat (no SSL)
っていう接続にしろと?
0663デフォルトの名無しさん2007/04/28(土) 18:08:44
仕事なら工数とかそういう話もあるからなぁ。
JKとかやり出すと一気に工数増えるよ。ハマる可能性も高いし。
ただ>>661の言ってることは事実。TomcatはWebサーバーとしては機能不足。
0664デフォルトの名無しさん2007/04/28(土) 18:29:05
サンクス
0665デフォルトの名無しさん2007/04/28(土) 18:30:07
JKの設定なんてすぐだろ
Apache2.2で標準モジュールでプロトコルにajp指定だけっしょ
工数が増えるというところまでは行かないはずだが
■ このスレッドは過去ログ倉庫に格納されています