JSP 페이지 차단, 로그인 상세 및 구현 코드 확인
최근에 struts2를 사용하여 프로젝트를 진행하려면 JSP를 차단하여 등록되었는지 확인해야 하지만, struts2의 필터 체인은 action만 필터할 수 있습니다.나중에 웹에서 발견했어요.xml에서javax를 직접 추가할 수 있습니다.servlet.Filter 구현 클래스의 필터로 JSP를 필터링할 수 있습니다.코드 보기
Filter 구현 클래스
<span style="font-size:18px;">package com.common;
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.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
public class LoginFilter extends HttpServlet implements Filter {
private static final long serialVersionUID = 1L;
@Override
public void doFilter(ServletRequest request, ServletResponse response,
FilterChain chain) throws IOException, ServletException {
HttpServletRequest req = (HttpServletRequest)request;
HttpServletResponse res = (HttpServletResponse)response;
String path = req.getContextPath();
String indexPath = req.getScheme()+"://"+req.getServerName()+":"+req.getServerPort()+path+ "/pages/login.jsp";
if(req.getRequestURI().endsWith("login.jsp"))
{
chain.doFilter(request, response);
return;
}
Object loginuser = req.getSession().getAttribute("<strong><span style="color:#ff0000;">loginSession</span></strong>");
if(loginuser == null){
res.sendRedirect(indexPath);
return;
}
chain.doFilter(request, response);
}
@Override
public void init(FilterConfig arg0) throws ServletException {
// TODO Auto-generated method stub
}
}
</span>
로그인 방법:
<span style="font-size:18px;"> public String login()
{
Login login = new Login();
//.......
ActionContext ctx = ActionContext.getContext();
Map<String, Object> session = ctx.getSession();
session.put("<strong><span style="color:#ff0000;">loginSession</span></strong>", login);
return "success";
}</span>
web.xml 구성
<filter>
<filter-name>setlog</filter-name>
<filter-class>com.common.LoginFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>setlog</filter-name>
<url-pattern>/pages/home.jsp</url-pattern>
<url-pattern>/pages/channel/*</url-pattern>
<url-pattern>/pages/content/*</url-pattern>
<url-pattern>/pages/product/*</url-pattern>
<url-pattern>/pages/vodtask/*</url-pattern>
</filter-mapping>
페이지에 프레임워크가 사용되면session이 시간을 초과하여 로그인 페이지로 종료될 수 있습니다. 로그인 페이지는 프레임워크의 하위 페이지에 표시됩니다. 해결 방법은 로그인 페이지에 다음과 같은 코드를 추가하면 됩니다.
<span style="font-size: 18px;"> <script language="javascript">
if (top != window)
top.location.href = window.location.href;
</script></span>
읽어주셔서 감사합니다. 여러분에게 도움이 되었으면 좋겠습니다. 본 사이트에 대한 지지에 감사드립니다!
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
검색 사이트를 만들었으므로 정리해 보았습니다 1■목차 · 처음에 · 사이트 구성 · DB 구성 ・테이블 내용 ・급제점 ■ 처음에 Jsp·서블릿을 학습해, 뭔가 만들려고 생각했기 때문에 스포츠 짐의 검색 사이트를 만들어 보았다. 현재의 스포츠 체육관 검색 사이트는...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.