JAVA+JSP+Struts+Tomcat Part3
■ このスレッドは過去ログ倉庫に格納されています
0001965
2006/10/26(木) 20:41:360002デフォルトの名無しさん
2006/10/26(木) 22:31:050003デフォルトの名無しさん
2006/10/27(金) 14:34:15で、出来たのか?
0004デフォルトの名無しさん
2006/10/28(土) 21:38:20できてねーよ。できるわけがねーだろ。
本も読んだし、ググって例と同じようにやっても
できねーんだから無理なんだよ。
「できる」とか嘘ついたお前らをいつまでも罵倒し続けてやる。
0005デフォルトの名無しさん
2006/10/28(土) 21:55:530006デフォルトの名無しさん
2006/10/29(日) 15:30:59httpd2.0.46+Tomcat5.5.20+mod_jk2+jdk1.5.0_09
の連携をやっているのですが、おかしな動きをします。
原因をご存知の方に解決法を教えて頂きたく書かせて頂きます。
変な動きとは、
A.{CATALINA_HOME}/conf/web.xml内のwelcome-file-listに指定のある
ファイルのみ参照される。
B.上記ファイルの入ったディレクトリを指定した時のみJSPが稼動し、
同ディレクトリ内の別名JSPを直に指定すると404となる。
例
1.welcome-file-list に「index.jsp」を指定
2.workers2.propatiesにて /tester/* を指定
3.{CATALINA_HOME}/conf/Catalina/localhost/tester.xml でContext指定
4.index.jspを3.で指定したフォルダに格納
5.WEB-INF以下フォルダとweb.xmlを作成
1〜5を実行のうえ、
http://www.hoge.com/tester/にアクセスするとOK
http://www.hoge.com/tester/index.jspにアクセスすると404
という動きです。
TOMCATではなく、Apacheの設定なんでしょうか・・・。
お知恵をお貸し下さい。
0007デフォルトの名無しさん
2006/10/30(月) 10:27:03他のディレクトリにも同じような機能を持たせることって設定しだいで可能?
WEB-INF/hage 以下のjarファイルもクラスパスに入るようにしたい。
0008デフォルトの名無しさん
2006/10/30(月) 11:13:34クラスローダ自作して、設定を変えればおk。
ただし、
>WEB-INF/hage 以下のjarファイルもクラスパスに入るようにしたい。
なぜそんなことが必要なのか、激しく疑問。
0009デフォルトの名無しさん
2006/11/03(金) 20:22:05エクリプス3.1を使用しているのですが
web.xmlに
<filter>
<filter-name>Encoding</filter-name>
<filter-class>encoding.EncodingFilter</filter-class>
<init-param>
<param-name>encoding</param-name>
<param-value>Shift_JIS</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>Encoding</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
で、
<!DOCTYPE web-app
PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.2//EN"
"http://java.sun.com/j2ee/dtds/web-app_2_2.dtd">
を
<!DOCTYPE web-app
PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
"http://java.sun.com/j2ee/dtds/web-app_2_3.dtd">
ってやると
<?xml version="1.0" encoding="Shift_JIS"?>
のところにバッテンマーク
調べてもわからんです
0010デフォルトの名無しさん
2006/11/03(金) 20:32:23PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
"http://java.sun.com/j2ee/dtds/web-app_2_3.dtd">
じゃなくて
<!DOCTYPE web-app
PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
"http://java.sun.com/dtd/web-app_2_3.dtd">
00119
2006/11/04(土) 19:57:33問題なくできました!!
本当にありがとうございます
0012デフォルトの名無しさん
2006/11/08(水) 22:29:23・JSPの条件ロジックや表示整形ロジックを別クラスにしてJSPから呼び出す
・データベースからとってきたDTOをJSPでそのまま表示できるように
アクションで変換する。
という2通りの使われ方してると思うのですが、みなさん実際はどうしてますか?
0013デフォルトの名無しさん
2006/11/10(金) 12:53:43くなった。
デフォルトコンストラクタが無いのが原因らしいので、MyIntegerのBeans作って
対処したけど、これってもっとスマートな方法ないの?
0014デフォルトの名無しさん
2006/11/10(金) 20:18:01web.xmlへの記述で、
<filter-mapping>内の<url-pattern>内に、/* と指定すると、
サーブレットのみではなく、*.jspや*.gifなどのリクエストに対しても
フィルタクラスが呼び出されてしまいます。
これをサーブレットのみが呼び出されるようにするにはどうしたらいいのでしょうか?
サーブレット名には拡張子がないので、拡張子でパターンを絞る事ができないんです。
0015デフォルトの名無しさん
2006/11/10(金) 20:48:550016デフォルトの名無しさん
2006/11/10(金) 23:24:11サイトAとサイトBがあって
サイトAにアクセスしてクッキーにjsessionidが保存されるわけなんだけど
セッションタイムアウトする前にサイトBに移動した場合
jsessionidはサイトBのもので上書きされてしまうものなのでしょうか。
0017デフォルトの名無しさん
2006/11/10(金) 23:33:110018デフォルトの名無しさん
2006/11/10(金) 23:44:48同じキー名でもサイトが違えば上書きされないということでしょうか。
0019デフォルトの名無しさん
2006/11/10(金) 23:52:260020デフォルトの名無しさん
2006/11/10(金) 23:55:120021デフォルトの名無しさん
2006/11/11(土) 00:11:00サーブレット1個1個登録すればOK
0022デフォルトの名無しさん
2006/11/11(土) 12:59:430023デフォルトの名無しさん
2006/11/11(土) 14:28:54Tomcat5.0.28とTomcat5.5.1で問題なく渡せたのだが
>>14
自分でかってに拡張子の無いパスを設定してるだけだろ。
拡張子を設定すればいいだけじゃね?
002423
2006/11/11(土) 14:34:44apache2.x系 tomcat5.0 FedoraCoreLinux
という環境でjspをたたくと以下のExceptionが。
javax.servlet.ServletException: ActionMappingsまたはActionFormBeansコレクションが見つかりません
org.apache.jasper.runtime.PageContextImpl.doHandlePageException(PageContextImpl.java:825)
org.apache.jasper.runtime.PageContextImpl.handlePageException(PageContextImpl.java:758)
org.apache.jsp.jsp.sample_jsp._jspService(sample_jsp.java:84)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:94)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:324)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:292)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:236)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
/usr/local/tomcat/opt/apr/jsp
にjspを。
/usr/local/tomcat/opt/apr/WEB-INF/classes
の下にclassファイルを置いているのですが、どうもclassファイルの方をみていないような・・・?
server.xmlの設定は以下です。
<Context path="/apr" docBase="/usr/local/tomcat/opt/apr" debug="0" reloadable="true" >
URI:http://xxx/apr/jsp/sample.jsp
/usr/local/tomcat/opt/apr/WEB-INF/classes
の下においたclassファイルを参照するような設定どこに書けばよいでしょうか。
struts1.3系使ってます。
struts-config.xmlは以下。
<struts-config>
<form-beans><form-bean name="loginForm" type="LoginForm"/></form-beans>
<action-mappings>
<action path="/loginAction" type="LoginAction" name="loginAction">
<forward name="success" path="/sample.jsp" />
</action>
</action-mappings>
</struts-config>
jspは以下です。
<%@ page contentType="text/html; charset=Windows-31J" %>
<%@ taglib uri="/WEB-INF/lib/struts-html.tld" prefix="html" %>
<%@ taglib uri="/WEB-INF/lib/struts-bean.tld" prefix="bean" %>
<%@ taglib uri="/WEB-INF/lib/struts-logic.tld" prefix="logic" %>
<html:html>
<head><title>ログイン画面</title>
<body>
<html:form action="/loginAction">
<table border="0">
<tr><td>名前</td><td><html:text property="name" /></td></tr><tr>
<td>パスワード</td><td><html:password property="password" /></td></tr>
<tr><td colspan="2"><html:submit value="ログイン" /></td></tr>
</table>
</html:form>
</body>
</html:html>
以上、ご教授ください。。
0028 ◆v/SR6P2sZU
2006/11/13(月) 01:53:33LoginActionとLoginFormはパッケージなしのdefaultパッケージです。
そいで
/usr/local/tomcat/opt/apr/WEB-INF/classes
においてます。
以上。
0029デフォルトの名無しさん
2006/11/13(月) 08:08:35パッケージをつくってそこにいれてやっても同じでした。
どうも/usr/local/tomcat/opt/aprの下を見てない感じが。
2006/11/13 21:57:37 org.apache.catalina.core.StandardHostDeployer remove
情報: コンテキストパス /apr のWebアプリケーションを削除します
2006/11/13 21:57:37 org.apache.catalina.core.StandardHostDeployer install
情報: コンテキスト設定ファイルのURL file:/usr/local/tomcat/conf/Catalina/localhost/apr.xml を処理しています
2006/11/13 21:57:37 org.apache.catalina.startup.ContextConfig applicationConfig
情報: アプリケーションのweb.xmlが見つかりません、デフォルトだけを使用します StandardEngine[Catalina].StandardHost[localhost].StandardContext[/apr]
2006/11/13 21:57:39 org.apache.catalina.core.StandardService stop
情報: サービス Catalina を停止します
2006/11/13 21:57:39 org.apache.catalina.core.StandardHostDeployer remove
情報: コンテキストパス /admin のWebアプリケーションを削除します
2006/11/13 21:57:39 org.apache.catalina.logger.LoggerBase stop
情報: unregistering logger Catalina:type=Logger,path=/admin,host=localhost
2006/11/13 21:57:39 org.apache.catalina.core.StandardHostDeployer remove
情報: コンテキストパス /apr のWebアプリケーションを削除します
(略)
/aprを消しに行っているのは良いのですが
(略)
情報: validateJarFile(/usr/local/tomcat/opt/apr/WEB-INF/lib/servlet-api.jar) - jar not loaded. See Servlet Spec 2.3, section 9.7.2. Offending class: javax/servlet/Servlet.class
2006/11/13 21:57:41 org.apache.catalina.loader.WebappClassLoader validateJarFile
情報: validateJarFile(/usr/local/tomcat/opt/apr/WEB-INF/lib/servlet.jar) - jar not loaded. See Servlet Spec 2.3, section 9.7.2. Offending class: javax/servlet/Servlet.class
2006/11/13 21:57:41 org.apache.catalina.core.StandardHost getDeployer
情報: Create Host deployer for direct deployment ( non-jmx )
2006/11/13 21:57:41 org.apache.catalina.core.StandardHostDeployer install
情報: コンテキスト設定ファイルのURL file:/usr/local/tomcat/conf/Catalina/localhost/balancer.xml を処理しています
2006/11/13 21:57:41 org.apache.catalina.core.StandardHostDeployer install
情報: コンテキスト設定ファイルのURL file:/usr/local/tomcat/conf/Catalina/localhost/manager.xml を処理しています
2006/11/13 21:57:41 org.apache.catalina.core.StandardHostDeployer install
情報: コンテキスト設定ファイルのURL file:/usr/local/tomcat/conf/Catalina/localhost/admin.xml を処理しています
情報: URL file:/usr/local/tomcat/webapps/ROOT からコンテキストパス にWebアプリケーションをインストールします
2006/11/13 21:57:43 org.apache.catalina.core.StandardHostDeployer install
情報: URL file:/usr/local/tomcat/webapps/servlets-examples からコンテキストパス /servlets-examples にWebアプリケーションをインストールします
2006/11/13 21:57:43 org.apache.catalina.core.StandardHostDeployer install
情報: URL file:/usr/local/tomcat/webapps/jsp-examples からコンテキストパス /jsp-examples にWebアプリケーションをインストールします
2006/11/13 21:57:43 org.apache.catalina.core.StandardHostDeployer install
情報: URL file:/usr/local/tomcat/webapps/webdav からコンテキストパス /webdav にWebアプリケーションをインストールします
2006/11/13 21:57:43 org.apache.catalina.core.StandardHostDeployer install
情報: URL file:/usr/local/tomcat/webapps/tomcat-docs からコンテキストパス /tomcat-docs にWebアプリケーションをインストールします
(略)
>32 と >33で、「〜を処理しています」と「〜をインストールします」
に、/aprに関するログがでてません。
ちなみに
:/usr/local/tomcat/conf/Catalina/localhost/にはapr.xmlというファイルは置いています。
0034デフォルトの名無しさん
2006/11/14(火) 02:27:11StrutsでActionFormが必要ない(リクエストデータが無い)場合でも
ActionFormクラスを用意する必要があるのでしょうか?(省略は可能?)
もう一つ。
リクエストデータが「hoge.do?aaaaa」等のようにkey=valueの形式になっていない場合
ActionFormはどのように作るのでしょうか?(別のやり方になる?)
■ このスレッドは過去ログ倉庫に格納されています