a页面是登录页面,登录成功就转到b页面,并且把a页面里的信息保存到session供操作表时使用,但是如果没有登录的话b页面是不允许访问的,输入b的地址要跳转到登录页面a,还有如果在firefox里成功进入了b,把b的地址复制到opera里怎样调到登录页面?地址复制应该是无效的,有好的解决方法吗?不要很模糊的回答用“拦截器”,”过滤器“,我想知道思路
2条回答 默认 最新
- iteye_17762 2009-06-04 22:39关注
web.xml文件中添加:
UserSessionFilter
com.yunfei.filter.UserSessionFilter<filter-mapping> <filter-name>UserSessionFilter</filter-name> <url-pattern>这里写你要过滤页面的路径,如admin文件夹下的所有页面,则写/admin/*,如果是b页面,则写/b.jsp </url-pattern> </filter-mapping>
import java.io.IOException;
import java.util.List;import javax.servlet.Filter;
import javax.servlet.FilterChain;
import javax.servlet.FilterConfig;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;import com.yunfei.pojo.User;
import com.yunfei.pojo.UserList;public class UserSessionFilter implements Filter {
public void destroy() { // TODO Auto-generated method stub } public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException { HttpServletRequest req = (HttpServletRequest) request; HttpServletResponse res = (HttpServletResponse) response; String currentURL = req.getRequestURI(); // 取得根目录所对应的绝对路径: String targetURL = currentURL.substring(currentURL.indexOf("/", 1), currentURL.length()); // 截取到当前文件名用于比较 //System.out.println(targetURL); HttpSession session = req.getSession(); User u = (User) session.getAttribute("UserSession"); //System.out.println("u1111111111111111111==" + session.getId()); if (u != null) { chain.doFilter(request, response); } else { //System.out.println("----"); req.getRequestDispatcher("/login.html").forward(req, res); return; } } public void init(FilterConfig filterConfig) throws ServletException { // TODO Auto-generated method stub }
}
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报
悬赏问题
- ¥15 HFSS 中的 H 场图与 MATLAB 中绘制的 B1 场 部分对应不上
- ¥15 如何在scanpy上做差异基因和通路富集?
- ¥20 关于#硬件工程#的问题,请各位专家解答!
- ¥15 关于#matlab#的问题:期望的系统闭环传递函数为G(s)=wn^2/s^2+2¢wn+wn^2阻尼系数¢=0.707,使系统具有较小的超调量
- ¥15 FLUENT如何实现在堆积颗粒的上表面加载高斯热源
- ¥30 截图中的mathematics程序转换成matlab
- ¥15 动力学代码报错,维度不匹配
- ¥15 Power query添加列问题
- ¥50 Kubernetes&Fission&Eleasticsearch
- ¥15 報錯:Person is not mapped,如何解決?