ssm访问html页面,SSM实现未登录无法访问页面
實(shí)現(xiàn)原理,在登錄成功時(shí)在session中添加數(shù)據(jù),中書寫專門的攔截類判斷是否有數(shù)據(jù),來判斷是否攔截,再在web.xml,中對攔截器進(jìn)行配置
攔截類SysInterceptor:package com.zkz.interceptor;
import com.zkz.pojo.MallUser;
import javax.servlet.*;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import java.io.IOException;
public class SysInterceptor implements Filter {
@Override
public void init(FilterConfig filterConfig) throws ServletException {
}
@Override
public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException {
// 對全棧url進(jìn)行過濾
//將request和response對象強(qiáng)轉(zhuǎn)為http類型
HttpServletRequest req=(HttpServletRequest)request;
HttpServletResponse resp = (HttpServletResponse)response;
//獲取訪問的地址
String url = req.getRequestURI();
//獲取session中的對象判斷是否登錄
//攔截所有需要的url
//判斷session中是有USER值,有則是登錄過的
if(url.contains("/")) {
//獲取session
HttpSession session = req.getSession();
MallUser user=(MallUser) session.getAttribute("USER");
if(user==null){
resp.sendRedirect("/admain/notlogin.html");
return;
}
}
//繼續(xù)執(zhí)行過濾連的剩余部分
chain.doFilter(req, resp);
}
@Override
public void destroy() {
}
}
然后在web.xml中配置攔截器:
UrlFilter
com.zkz.interceptor.SysInterceptor
UrlFilter
/admain/pages/*
登錄(responseJsonResult是返回的一個類不用詳解):@RequestMapping("/login")
@ResponseBody
public ResponseJsonResult page(@NotNull HttpServletRequest request, HttpSession session) throws IOException {
ResponseJsonResult responseJsonResult = new ResponseJsonResult();
String username = request.getParameter("username");
String password = request.getParameter("password");
boolean status = userService.longin(username, password);
MallUser mallUser = new MallUser();
if (status !=true){
session.setAttribute("USER", mallUser);
return responseJsonResult;
}
responseJsonResult.setStatus(200);
return responseJsonResult;
}
總結(jié)
以上是生活随笔為你收集整理的ssm访问html页面,SSM实现未登录无法访问页面的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: debuggap 调试html,Debu
- 下一篇: cos html cache插件,关于C