Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
Tags
- nppFTP
- JSP
- 무농약
- 서버
- 설치
- 게시판
- 이클립스
- war
- cisco
- server
- 패킷트레이서
- 설정
- centos7
- tomcat
- eclipse
- centos
- 언어
- comand
- 한글
- CLI
- gcloud.gabia
- interface
- servlet
- 홈가든
- java
- board
- configration
- vmware
- packet-tracer
- 시스코
Archives
- Today
- Total
넓고얕은지식사전
JSP & Servlet 게시판 구현하기(로그아웃) 본문
반응형
지난번에 로그인 기능을 구현 하였다.
https://nullgoyatten.tistory.com/19
그렇다면 이번에는 로그아웃 기능을 이어서 구현해보자.
1. LogoutHandler 작성
경로 : auth.command> LogoutHandler.java
package auth.command;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import mvc.command.CommandHandler;
public class LogoutHandler implements CommandHandler {
@Override
public String process(HttpServletRequest req, HttpServletResponse res)
throws Exception {
HttpSession session = req.getSession(false);
if (session != null) {
session.invalidate();
}
res.sendRedirect(req.getContextPath() + "/index.jsp");
return null;
}
}
2. commandHandlerURI.properties 수정. LogoutHandler가 /logout.do 요청을 처리하도록 매핑 설정에 추가한다.
/join.do=member.command.JoinHandler
/login.do=auth.command.LoginHandler
/logout.do=auth.command.LogoutHandler
3. 패키지 생성 (패키지명 : filter)
4. LoginCheckFilter 작성
경로 : filter > LoginCheckFilter.java
package filter;
import java.io.IOException;
import javax.servlet.Filter;
import javax.servlet.FilterChain;
import javax.servlet.FilterConfig;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
public class LoginCheckFilter implements Filter {
@Override
public void doFilter(ServletRequest req, ServletResponse res, FilterChain chain)
throws IOException, ServletException {
HttpServletRequest request = (HttpServletRequest) req;
HttpSession session = request.getSession(false);
if (session == null || session.getAttribute("authUser") == null) {
HttpServletResponse response = (HttpServletResponse)res;
response.sendRedirect(request.getContextPath() + "/login.do");
} else {
chain.doFilter(req, res);
}
}
@Override
public void init(FilterConfig config) throws ServletException {
}
@Override
public void destroy() {
}
}
5. web.xml 수정
web.xml(경로 : WebContent > WEB-INF)에 LoginCheckFilter 설정을 추가해줘야 한다.
<!-- LoginCheckFilter관련 설정 -->
<filter>
<filter-name>LoginCheckFilter</filter-name>
<filter-class>filter.LoginCheckFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>LoginCheckFilter</filter-name>
<url-pattern>/changePwd.do</url-pattern>
</filter-mapping>
6. 테스트
자 이렇게 로그아웃 기능까지 구현이 완료되었다.
다음글 : 암호변경 구현
https://nullgoyatten.tistory.com/21
반응형
'IT > JSP & Servlet' 카테고리의 다른 글
JSP & Servlet 게시판 구현하기(게시글 쓰기) (0) | 2023.01.14 |
---|---|
JSP & Servlet 게시판 구현하기(암호 변경) (0) | 2023.01.14 |
JSP & Servlet 게시판 구현하기(로그인) (0) | 2023.01.12 |
JSP & Servlet 게시판 구현하기(가입) (0) | 2022.12.27 |
이클립스 프로젝트 저장하기 & 불러오기(Archive) (0) | 2022.04.20 |
Comments