概览:用两种不同的方式实现阻止非法访问网页:拦截器、过滤器的使用和Spring-Security的使用。
- 拦截器和过滤器的使用:
在项目中加入拦截器与过滤器
工作原理:
1>拦截器:拦截的是 action,说白了拦截的是访问路径,但是阻止的方式是拦截网址的映射,还是可以通过访问页面的直接网址的非法访问方式进入网页;
2>过滤器:可以几乎过滤掉所有的东西;无论是网址的映射还是直接网址都会被过滤掉,用户只能通过登录方式进入网页;
3>配置拦截器:interceptor
Spring-mvc.xml中的配置信息:
<mvc:interceptors>
<mvc:interceptor>
<mvc:mapping path="/**"/>
<mvc:exclude-mapping path="/user/doLogin.do"/>
<bean class="com.zhongruan.interceptor.LoginInterceptor"></bean>
</mvc:interceptor>
</mvc:interceptors>
4>新建拦截器包和类,需要的.java文件内容:
//定义拦截器
public class LoginInterceptor implements HandlerInterceptor {
@Override
public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {
//在拦截点执行前拦截,如果返回true则不执行拦截点后的才做
//获取session
HttpSession session = request.getSession();
//获取访问路径
String uri = request.getRequestURI();
//indexOf求出字符串内路径出现的下标,||uri.indexOf("user/doLogin.do")!=-1
if(session.getAttribute("userInfo")!=null){
//登录成功,不拦截
return true;