これにより、Session In Javaと呼ばれるトピックが紹介され、その過程でセッション管理がどのように機能するかが簡単に説明されます。 。この記事では、次のポイントについて説明します。
それでは始めましょう、
Javaでのセッション
2つのシステム(つまり、クライアントとサーバー)が相互に通信する時間間隔は、セッションと呼ばれます。簡単に言うと、セッションは、クライアントとサーバー間の複数の要求と応答で構成される状態です。
HTTPサーバーとWebサーバーの両方がステートレスであることは既知の事実です。したがって、ユーザーの状態を維持する唯一の方法は、セッション追跡を実装するテクノロジーを利用することです。
サーブレットでのセッション追跡は、Cookieがその1つである、いくつかの方法で実装できます。ただし、これらには複数の欠点があります。
- テキスト情報のみを保持できます。
- ユーザーがCookieを無効にすると、WebアプリケーションはCookieを利用できなくなります。
- 1つのCookieに含めることができるデータは4kb以下です。
- セッション追跡を実装する別の方法は、Javaサーブレットのすべてのユーザーに対して一意のセッションIDを持つセッションを作成することです。
Javaでのセッションに関するこの記事に進む
Javaのクラスとインターフェイス
Httpセッションインターフェイス
Javaのサーブレットは、「HttpSessionInterface」と呼ばれるインターフェースを提供します。
それらはさまざまな方法で構成されており、その一部を以下で説明します。
- public HttpSession getSession(boolean create):このメソッドは、リクエストに関連付けられたセッションを取得します。使用できないか存在しない場合は、指定されたブール引数に基づいて新しいセッションが作成されます。
- public String getId():このメソッドによって一意のセッションIDが返されます。
- public long getCreationTime():セッションが作成された時刻がこのメソッドによって返されます。ミリ秒単位で測定されます。
- public long getLastAccessedTime():セッションが最後にアクセスされた時刻がこのメソッドによって返されます。ミリ秒単位で測定されます。
- public void invalidate():このメソッドを使用してセッションを無効にすることができます。
例:
以下の例では、HttpSessionインターフェイスのgetAttribute()メソッドとsetAttribute()メソッドを使用しています。
index.html
ユーザー名パスワード:
S ervlet1.java
import java.io. * importjavax.servlet。* importjavax.servlet.http。* public class Servlet1 extends HttpServlet {public void doGet(HttpServletRequest request、HttpServletResponse response){try {response.setContentType( 'text / html')PrintWriter pwriter = response.getWriter()String name = request.getParameter( 'userName')String password = request.getParameter( 'userPassword')pwriter.print( 'Welcome' + name)pwriter.print( 'Here is your password:' + password)HttpSession session = request.getSession()session.setAttribute( 'usname'、name)session.setAttribute( 'uspass'、password)pwriter.print( ' 詳細を見る ')pwriter.close()} catch(Exception exp){System.out.println(exp)}}
Javaの部分文字列とは何ですか
Servlet2.java
import java.io. * importjavax.servlet。* importjavax.servlet.http。* public class Servlet2 extends HttpServlet {public void doGet(HttpServletRequest request、HttpServletResponse response){try {response.setContentType( 'text / html')PrintWriter pwriter = response.getWriter()HttpSession session = request.getSession(false)String myName =(String)session.getAttribute( 'usname')String myPass =(String)session.getAttribute( 'uspass')pwriter.print( 'Name : '+ myName +'パス: '+ myPass)pwriter.close()} catch(Exception exp){System.out.println(exp)}}}
web.xml
MyServlet1 Servlet1 MyServlet1 / loginform MyServlet2 Servlet2 MyServlet2 / Welcome
以下にリストされているように、このインターフェースにはさまざまな長所と短所があります。
Javaでのセッション
利点:
- データベースやテキストなど、あらゆる種類のオブジェクトをセッションに保存できます。
- セッションは安全です。
短所を先に進める
短所:
- セッションオブジェクトはサーバーに保存されるため、パフォーマンスのオーバーヘッドが発生します。
- シリアル化と逆シリアル化もオーバーヘッドにつながります。
セッション追跡を実現するためにHttpSessionInterfaceを使用することは非常に有利です。
これで、「SessionInJava」に関するこの記事は終わりです。詳細を知りたい場合は、 信頼できるオンライン学習会社であるEdurekaによる。 EdurekaのJavaJ2EEおよびSOAトレーニングおよび認定コースは、Hibernate&SpringなどのさまざまなJavaフレームワークに加えて、コアJavaコンセプトと高度なJavaコンセプトの両方についてトレーニングするように設計されています。
質問がありますか?このブログのコメントセクションでそれについて言及してください。できるだけ早くご連絡いたします。