第一步,写三个jsp页面
index.jsp
<body> <a href="/tohello">去找helloworld</a> <a href="/tomain">想去首页</a> </body>
登录页面
<body> <h1>hello world</h1> <form action="/login" method="post"> 用户名:<input type="text" name="username"> 密码:<input name="password" type="password"> <button type="submit">提交</button> </form> </body>
主页
<body> <h1>首页不能顺便进</h1> <a href="/goout">注销</a> </body>
第二步写好相应的controller,进行页面的跳转
第三步写一个类实现HandlerInterceptor接口重写里面的方法
@Override public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception { Object session = request.getSession().getAttribute("username"); if (session!=null){ return true; } if (request.getRequestURI().contains("/tohello")){ return true; } if (request.getRequestURI().contains("/login")){ return true; } request.getRequestDispatcher("/WEB-INF/jsp/hello.jsp").forward(request,response); return false; }
第四步在spring的xml文件配置拦截器的相关配置
<!--关于拦截器的配置--> <mvc:interceptors> <mvc:interceptor> <!-- 拦截所以请求--> <mvc:mapping path="/**"/> <bean id="loginInterceptor" class="com.zhang.config.LoginInterceptor"/> </mvc:interceptor> </mvc:interceptors>
spring的拦截器会自动过滤掉静态资源