问题:
    让用户只能通过系统提供的功能和操作点(如:按钮或热连接等)来进入页面,如果用户直接在地址栏输入URL,就不让他访问。
我的解决方案:
    1、在Filter里写request.getHeader("referer");判断是否为null,如果为null就不让进入。
       可以解决,但是有一个问题:如果一个连接,点击弹出一个新窗口,这个窗口就打不开了,因为这个窗口中的请求头没有referer属性。
    2、在首页用window.open("login.jsp","newwindow","...,location=no");然后window.opener=window;window.self.close();打开一个没有地址栏的页面,把原页面关闭,这样是让用户无法输入了。可是这样总有点让用户不爽,用户会看到新出来一个不熟悉的东西(没有地址栏的IE窗口),原来的又关闭了,挺出乎意料的。求:
    有没有两全其美的好办法,在后台能发现这个请求是地址栏里输入的,又不会阻止正常的弹出窗口。前提:
    不可以在每个页面里往request里存参数,因为那样做工作量太大,大量的页面需要一个一个往里加。