ベストプラクティスのアプローチにスクリプトレットが含まれていますJava Webアプリケーション - リファクタリング私は現在、以下は私のJSPファイルのすべての先頭に含まれてい
<%@ include file="inc/inc_cookie_login.jsp"%>
<%@ include file="inc/inc_protect_page.jsp"%>
<%@ include file="inc/inc_log_access.jsp"%>
JSPはスクリプトレットcheck for cookie and set a user object in the session if cookie exists, prevents access to the jsp unless a session has been set, write to a text file the User IP, name, page accessed, etc.,
それぞれのことを持っています。
上記のスクリプトレットのアプローチはうまくいきましたが、私はより良いサーバーをセットアップしてweb.xmlファイルを利用できるようになりましたので、ベストプラクティスにリファクタリングしています。上記はFIXMEを叫んでいます!リスナー、フィルタ、?を調査する必要がありますか、現在のアプローチは適切ですか?
=== inc_cookie_login.jspは====
<%@ page import="model.STKUser"%>
<%@ page import="model.STKUserCookie"%>
<%@ page import="data.STKUserDAO"%>
<%
if (request.getSession().getAttribute("STKUserSession") == null) {
STKUserCookie userCookie = new STKUserCookie(request);
String userBadge = userCookie.getUserID();
STKUserDAO userDAO = new STKUserDAO();
STKUser user = userDAO.getUser(userBadge);
if (user != null) {
user.setIpAddress(request.getRemoteAddr());
userDAO.updateLoginCount(user);
request.getSession().setMaxInactiveInterval(36000); //set to 10 hours
request.getSession().setAttribute("STKUserSession", user);
}
}
%>
新しいHTTPセッション作成のリスナーは、クッキーのログインに適していませんか?すべてのページ・アクセスでSTKUserSessionがヌルであるかどうかを確認し続けるのは殺し過ぎのようです。それは訪問者ごとに1回、右か? – jeff
セッションがnullでない場合には、それがそこにあることを保証できる場合は、訪問者ごとに1回である必要があります。実装に応じて、STKUserSessionを含まない有効なセッションになる可能性があります。しかし、一般的に、ええ、私は新しいセッションのリスナーがより良いことに同意するでしょう。 –