Я бы предложил несколько шагов, чтобы сделать это...
Когда вы нажмете кнопку «Назад», браузер получит страницу из кеша... поэтому установите дату JSP-страницы Expires
на какой-то предыдущий день/время, чтобы получить ее с сервера (происхождения) вместо кеша. Это можно сделать, написав пользовательский тег, и в этом случае установите заголовок Expires
для объекта HttpServletRequest
, и достаточно добавить этот тег на страницу JSP.
Чтобы сделать страницу недействительной и перенаправить на a.jsp при отсутствии действительного сеанса, напишите Filter
для этого задания.
Тег можно написать так
public class ExpiryTag extends SimpleTagSupport{
@Override
public void doTag() throws JspException, IOException {
PageContext pageContext = (PageContext) getJspContext();
Calendar instance = Calendar.getInstance();
instance.add(Calendar.DAY_OF_MONTH, -1);
HttpServletResponse response = (HttpServletResponse) pageContext.getResponse();
response.addHeader("Expires", instance.getTime().toString());
}
}
Сопоставить тег в файле tld следующим образом
<tag>
<name>expired</name>
<tag-class>com.analysis.mvc.tags.ExpiryTag</tag-class>
<body-content>empty</body-content>
</tag>
Затем используйте тег в JSP, как это
<prefix:expired/>
Для обработки сеанса вы можете пройти через это для общего понимания.
person
Pokuri
schedule
07.01.2012