[JSP] JSP 사용자 로그인 확인
JSP 페이지 검증, 관련 지식은Session, 페이지 권한, 사용자 검증 등이 있습니다.
세션 객체
세션 대상은 사용자 세션에 대한 모든 정보를 저장하는 데 사용됩니다. 한 세션은 브라우저와 서버 간의 통화입니다. 브라우저와 서버 간의 여러 번의 요청, 응답 과정을 포함합니다.session은 JSP 내장 대상으로 브라우저와 일일이 대응하여 사용자가 세션 상태의 정보를 저장하고 추출할 수 있으며 정보는 서버에 저장할 수 있습니다.
세션 정보 얻기
1) JSP
<span style="font-size:18px;">session.setAttribute("user", USERNAME); // session </span>
2) Java(Servlet)
<span style="font-size:18px;">request.getSession().setAttribute("user",USERNAME); // session </span>
세션 제한 시간 설정
1) web.xml
<span style="font-size:18px;"><?xml version="1.0" encoding="UTF-8"?>
<web-app>
...
<session-config>
<session-timeout>30</session-timeout> <!-- , 30 -->
</session-config>
</web-app></span>
2) Java
request.getSession().setMaxInactiveInterval(30*60);//session 실효 시간 설정(timeout) 초
참고: setMaxInactiveInterval()은 웹보다 큽니다.xml 우선 순위가 높음, 둘 다 설정하면 setMaxInactiveInterval ()
방법 1:include 파일 사용
예: 유효성 검사 파일 테스트 세션을 추가합니다.jsp
<span style="font-size:18px;"><span style="color: rgb(63, 95, 191);"><!-- </span><span style="color: rgb(63, 95, 191);"> --></span>
</span>
<span style="font-size:18px;"><%@ page language="java"contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<%
if(session.getAttribute("user")==null)
{
%>
<h1> !</h1>
3
<p>
, <a href="login.jsp"> </a></p>
<%
response.setHeader("refresh","3;URL=login.jsp");
return;
}
%></span>
검증이 필요한 JSP 페이지의 시작 위치에는 testSession이 포함되어 있습니다.jsp
<%@ include file="testSession.jsp"%>
방법2: 필터
우선, 웹에서.xml 프로필에 필터 페이지 설정
<span style="font-size:18px;"><filter>
<filter-name>LoginFilter</filter-name>
<filter-class>com.homer.LoginFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>LoginFilter</filter-name>
<url-pattern>/page222.jsp</url-pattern>
</filter-mapping> </span>
주: 현재 설정 방식은 사용자 방문 페이지 222.jsp에서 필터를 사용할 때/*,/user/* 등 디렉터리를 설정하여 대량의 웹 필터를 할 수 있습니다
그런 다음 LoginFilter에서java 파일에서 필터링 확인:
<span style="font-size:18px;">public class LoginFilter implements Filter {
public voidinit(FilterConfig arg0) throws ServletException {
}
public voiddoFilter(ServletRequest arg0, ServletResponse arg1, FilterChain arg2) throwsIOException, ServletException {
HttpServletRequestrequest = (HttpServletRequest)arg0;
HttpServletResponse response = (HttpServletResponse)arg1;
HttpSessionsession = request.getSession();
if(session.getAttribute("userinfo")== null) {
response.setCharacterEncoding("utf-8");
PrintWriterout = response.getWriter();
out.print("<script>alert(' , ...'); window.location='userlogin.html' </script>");
out.flush();
out.close();
// request.setAttribute("loginError", " , ...");
// request.getRequestDispatcher("userlogin.html").forward(request,response);
} else {
arg2.doFilter(request, response);
}
}
@Override
public void destroy(){
}
} </span>
Author:시작
Sign: 네가 아직도 시도하고 있다면 실패한 게 아니야.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.