- PR -

Tomcat4.1でRemotePortを取得するにはどうすればよいのでしょうか

1
投稿者投稿内容
バビタ郎
会議室デビュー日: 2004/08/20
投稿数: 5
お住まい・勤務地: shibuya
投稿日時: 2004-08-20 14:55
Servlet2.3実装であるTomcat4.1でRemotePortを取得するにはどうすればよいのでしょう?

Struts1.1を使用しているのでActionクラス内でですが、下記のように実装してみました。


import org.apache.struts.action.Action;
import org.apache.coyote.tomcat4.CoyoteRequest;
import org.apache.coyote.tomcat4.CoyoteRequestFacade;

public class PrototypeAction extends Action{
class test extends CoyoteRequestFacade{
public test(CoyoteRequest request) {
super(request);
}
public int getPort(){
return request.getSocket().getPort();
}
}

public ActionForward execute(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response)throws Exception{
System.out.println(new test((CoyoteRequest)request).getPort());
..

するとClassCastExceptionを投げられてしまいました。
ちなみに
CONTEXT_ROOT\WEB-INF\libにcatalina.jarとtomcat-coyote.jarを配置しています。
(Tomcat 4.1\server\libのものをコピー)

よろしくご教授くださいm(__)m!!

[ メッセージ編集済み 編集者: UNKO太郎 編集日時 2004-08-20 15:14 ]
aa
ぬし
会議室デビュー日: 2004/01/08
投稿数: 299
投稿日時: 2004-08-20 20:47
coyoteなんか使わなくても、こんな感じでいけませんか?
コード:
public ActionForward execute(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws Exception {

	request.getRemotePort();


バビタ郎
会議室デビュー日: 2004/08/20
投稿数: 5
お住まい・勤務地: shibuya
投稿日時: 2004-08-23 11:30
お返事ありがとうございます。
HttpServletRequest.getRemotePort()
のことでしたら、Tomcat5.xなどのServlet2.4での実装ですので
現在のTomcat4.1では使えないのです
1

スキルアップ/キャリアアップ(JOB@IT)