Java SSH 框架下开发,遇到两大问题。
本人用SSH框架开发一个网站。遇到两个问题。
1.我的网头部跟底部还有右边的内容。大部分都是相同的。在JSP里面已经提取出来
(例如:<%@ include file="bottom.jsp" %>)。在Action里面要如何把相同的内容提取出来。
2.我有两个登录界面。一个是前台用户登录,一个是后台管理员登录,该如何做才能验证用户是否登录。
public class ValidateFilter extends HttpServlet implements Filter {
public void doFilter(ServletRequest arg0, ServletResponse arg1,
FilterChain arg2) throws
IOException,
ServletException {
// TODO Auto-generated method stub
HttpServletRequest request = (HttpServletRequest)arg0;
HttpServletResponse response = (HttpServletResponse)arg1;
//验证用户是否登录
if(null == request.getSession().getAttribute("sysUser")){
response.sendRedirect("/web/web/account/login.jsp");
}
if(null == request.getSession().getAttribute("sysAdmin")){
response.sendRedirect("/web/backstage/login.jsp");
}
arg2.doFilter(arg0, arg1);
}
注释掉的是后台的验证。
web.xml下的内容
<filter-mapping>
<filter-name>ValidateFilter</filter-name>
<url-pattern>/web/user/*</url-pattern>
<url-pattern>/backstage/admin/*</url-pattern>
</filter-mapping>
只有一个的情况下是正常转到登录界面的,两个一起就不行了。
------解决方案--------------------sysUser和sysAdmin,不管你登录那个应该有一个为空吧,你调试一下看看。你写两个过滤器还好。
------解决方案--------------------
等你搞完这个可以试下用security来控制权限,不再是自己手动控制,那个重用度太低了,,来我博客看那个置顶文章
------解决方案--------------------如果 头部和 脚部 访问数据量不大的话 一次加载后 放在缓存里面 后面每次访问 直接在缓存读取···吧··
------解决方案--------------------修改了头部或底部的数据 可以 直接修改缓存的 缓存管理jar 网上多的是 像 ehcache 或memcache 都行···