题目要点:
如果登录了就跳转到首页,如果没有登录直接访问首页的话,就拦截无法访问,登录了就可以访问主页。
登录界面:
<%--
Created by IntelliJ IDEA.
User: Smile
Date: 2018/11/12
Time: 14:53
To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title>Title</title>
</head>
<body>
<script src="/bootstrapjs/jquery-3.1.1.min.js"></script>
<lable>username</lable><input type="text" name="username">
<lable>password</lable><input type="password" name="pwd">
<button id="login">login</button>
<script>
$(function(){
$("#login").on("click",function () {
console.log($("input[name='username']").val())
$.ajax({
url:"/loginfilter",
data:{"username":$("input[name='username']").val(),"pwd":$("input[name='pwd']").val()},
type:"post",
dataType:"json",
success:function (data) {
console.log(data)
if(data==true){
window,location='/html/indexsess.html';
}else{
alert("用户名或密码错误");
}
},error:function (e) {
console.log(e)
}
}
)
})
})
</script>
</body>
</html>
首页:
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> </head> <script src="/bootstrapjs/jquery-3.1.1.min.js"></script> <body> <i id="v"></i> <script> $(function () { console.log("1111") $.ajax( { url:"/sure", type:"post", dataType:"json", success:function (data) { console.log(data) if(data==true){ $("#v").html("xxx你好") }else{ $("#v").html("游客你好"); } },error:function (e) { console.log(e) } } ) }) </script> </body> </html>
servlet:
拦截器:
package userservlet.fileter; import javax.servlet.*; import javax.servlet.annotation.WebFilter; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpSession; import java.io.IOException; @WebFilter(filterName = "LoginFilter",urlPatterns = {"/html/indexsess.html"}) public class LoginFilter implements Filter { public void destroy() { System.out.println("拦截器销毁"); } //登录拦截:如果你是第一次登录的话,登录成功后跳转到主页 //如果你没有登录的话,直接访问主页的话,会被拦截 public void doFilter(ServletRequest req, ServletResponse resp, FilterChain chain) throws ServletException, IOException { // System.out.println("111"); HttpServletRequest request = (HttpServletRequest) req; // System.out.println(request); HttpSession session = request.getSession(); // System.out.println(session); Object is=session.getAttribute("login"); System.out.println(is); //判断你是否登录,如果登陆了,可以直接访问主页,如果没有登录的话访问主页的话,就会被拦截 if("true".equals(is)){ //System.out.println("333"); request.getRequestDispatcher("/html/indexsess.html"); //放过 chain.doFilter(req, resp); }else{ request.getRequestDispatcher("/html/loginfilter.jsp").forward(req,resp); } //System.out.println("222"); } public void init(FilterConfig config) throws ServletException { System.out.println("初始化成功"); } }