Časový limit relácie Java

1. Prehľad

Tento návod ukáže, ako sa nastavuje časový limit relácie vo webovej aplikácii založenej na servlete.

2. Globálny časový limit relácie v web.xml

Časový limit všetkých Http relácií je možné nakonfigurovať v web.xml webovej aplikácie:

  ...  10  

Hodnota časového limitu je nastavená za pár minút, nie za pár sekúnd.

Zaujímavým vedľajším bodom je, že v prostredí Servlet 3.0, kde sa môžu používať anotácie namiesto deskriptora nasadenia XML, existuje žiadny spôsob, ako programovo nastaviť časový limit globálnej relácie. Programová konfigurácia pre časový limit relácie má v Servlet Spec JIRA otvorený problém - problém však ešte nebol naplánovaný.

3. Programový časový limit pre jednotlivé relácie

Časový limit iba aktuálna relácia je možné programovo špecifikovať pomocou API rozhrania javax.servlet.http.HttpSession:

HttpSession session = request.getSession (); session.setMaxInactiveInterval (10 * 60);

Na rozdiel od prvok, ktorý mal hodnotu v minútach, setMaxInactiveInterval metóda prijíma hodnotu za pár sekúnd.

4. Časový limit relácie Tomcat

Všetky servery Tomcat poskytujú predvolené nastavenie web.xml súbor, ktorý je možné globálne nakonfigurovať pre celý webový server - nachádza sa v:

$ tomcat_home / conf / web.xml

Tento predvolený deskriptor nasadenia konfiguruje a s na hodnotu 30 minút.

Jednotlivé nasadené aplikácie, ktoré poskytujú svoje vlastné hodnoty časového limitu web.xml deskriptory budú mať prednosť pred a globálne prepíše web.xml konfigurácia.

To isté je možné aj na móle: súbor sa nachádza v:

$ jetty_home / etc / webdefault.xml

5. Záver

V tomto výučbe sa diskutovali praktické aspekty ako nakonfigurovať časový limit relácie HTTP v aplikácii Servlet Java. Tiež sme ilustrovali, ako to možno nastaviť na úrovni webového servera, a to v Tomcat aj v Jetty.

Implementáciu týchto príkladov možno nájsť v projekte github - jedná sa o projekt založený na Eclipse, takže by malo byť ľahké ho importovať a spustiť tak, ako je.

Keď je projekt spustený lokálne, k domovskej stránke html sa dá dostať na adrese: