Č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: