글로벌 프론트 컨트롤러 서블릿으로 정적 리소스에 액세스
Spring MVC 디스패처를 /에서 글로벌 프론트 컨트롤러 서블릿으로 매핑하는 경우 , 일반적으로 /res와 같은 폴더에 저장되는 CSS, JS 및 이미지와 같은 정적 리소스에 액세스하는 데 문제가 발생할 수 있습니다. 이는 / 매핑이 모든 요청을 캡처하고 이를 서블릿으로 라우팅하여 이러한 정적 파일에 대한 액세스를 방지하기 때문입니다.
이 문제를 해결하기 위해 컨트롤러 서블릿에 대해 보다 구체적인 URL 패턴을 정의할 수 있습니다. 예를 들어 /pages/. 그런 다음 정적 콘텐츠를 /static과 같은 별도의 폴더에 배치할 수 있습니다. 필터는 /을 수신하고 정적 콘텐츠에 대한 요청을 기본 서블릿에 투명하게 전달하는 동시에 다른 요청은 컨트롤러 서블릿으로 디스패치하도록 구성할 수 있습니다.
다음은 단순화된 코드 샘플입니다.
<filter> <filter-name>filter</filter-name> <filter-class>com.example.Filter</filter-class> </filter> <filter-mapping> <filter-name>filter</filter-name> <url-pattern>/*</url-pattern> </filter-mapping> <servlet> <servlet-name>controller</servlet-name> <servlet-class>com.example.Controller</servlet-class> </servlet> <servlet-mapping> <servlet-name>controller</servlet-name> <url-pattern>/pages/*</url-pattern> </servlet-mapping>
그리고 필터의 doFilter() 메소드에서:
HttpServletRequest req = (HttpServletRequest) request; String path = req.getRequestURI().substring(req.getContextPath().length()); if (path.startsWith("/static")) { chain.doFilter(request, response); // Goes to default servlet. } else { request.getRequestDispatcher("/pages" + path).forward(request, response); }
이 구성은 다음을 보장합니다. 나머지 요청을 처리하는 컨트롤러 서블릿의 기능을 중단하지 않고 CSS 및 JS와 같은 정적 리소스에 액세스할 수 있습니다. 또한 필터를 사용하면 브라우저 관점에서 정적 파일 액세스가 완전히 투명해집니다.
위 내용은 Spring MVC에서 Global Front Controller 서블릿을 사용할 때 정적 리소스에 액세스하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

AI Hentai Generator
AI Hentai를 무료로 생성하십시오.

인기 기사

뜨거운 도구

MinGW - Windows용 미니멀리스트 GNU
이 프로젝트는 osdn.net/projects/mingw로 마이그레이션되는 중입니다. 계속해서 그곳에서 우리를 팔로우할 수 있습니다. MinGW: GCC(GNU Compiler Collection)의 기본 Windows 포트로, 기본 Windows 애플리케이션을 구축하기 위한 무료 배포 가능 가져오기 라이브러리 및 헤더 파일로 C99 기능을 지원하는 MSVC 런타임에 대한 확장이 포함되어 있습니다. 모든 MinGW 소프트웨어는 64비트 Windows 플랫폼에서 실행될 수 있습니다.

SublimeText3 영어 버전
권장 사항: Win 버전, 코드 프롬프트 지원!

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

Eclipse용 SAP NetWeaver 서버 어댑터
Eclipse를 SAP NetWeaver 애플리케이션 서버와 통합합니다.

PhpStorm 맥 버전
최신(2018.2.1) 전문 PHP 통합 개발 도구
