2

セッションを使用しようとすると、このコードを使用するとこの問題が発生しました:

<%@ page
    language="java"
    contentType="text/html; charset=UTF-8"
   pageEncoding="UTF-8"

   import="java.util.Date"
%>

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
    <head>
        <meta
            http-equiv="Content-Type"
            content="text/html; charset=UTF-8"
        >
        <title>Session problem</title>
    </head>

    <body>
    <%
        out.println("Are we using cookies? " + request.isRequestedSessionIdFromCookie() + "<BR>");      
        out.println("Are we using URL? " + request.isRequestedSessionIdFromURL() + "<BR>");     
        out.println("This is my session Id " + session.getId().toString() + "<BR>");
        out.println("It was created on: " + new Date(session.getCreationTime()) + "<BR>");
        out.println("The servlet context is: " + session.getServletContext().toString() + "<BR>");
        out.println("Is this session new? " + session.isNew() + "<BR><BR>");
    %>
    </body>
</html>

しかし、リロードを押すたびに新しいセッション ID が表示され、新しいプロパティは常に true です。同様の問題を探したところ、最も一般的な問題は Cookie が有効になっていないことだったので、Cookie が有効になっていることを確認しました。

面白いことに、.war ファイルをアップロードしたところ、テスト サーバーで問題なく動作しました。そのため、Tomcat サーバー (7.0.22) を Eclipse とハード ドライブから削除し、新しいサーバー (7.0.34) を取得しましたが、どちらも機能しませんでした。セッション情報はまだ保存されていません。

Eclipse の構成に何か問題があると思われるので、次のステップは新しい Eclipse をダウンロードすることです。私はまだ Eclipse Java EE Helios を使用しており、これに慣れている場合でも新しいバージョンを使用する可能性がありますが、回避することはできます。これが再び起こらないようにします。

前もって感謝します

4

0 に答える 0