我目前在所有jsp文件的顶部都包含以下内容:
<%@ include file="inc/inc_cookie_login.jsp"%>
<%@ include file="inc/inc_protect_page.jsp"%>
<%@ include file="inc/inc_log_access.jsp"%>
jsps的scriptlet分别为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.,
。
上面的scriptlet方法运行良好但是现在我有一个更好的服务器设置并且可以使用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);
}
}
%>
答案 0 :(得分:1)
这看起来好像被过滤器取代。创建过滤器类并使用web.xml中的模式对其进行引用。除非所有其他选项都已经合理用尽,否则不应使用Scriptlet。