Spring mvc의 웹을 자세히 설명합니다.xml 설정 설명
1. 감청기(listener)
이벤트 감청, js에서 광범위하게 응용되고 각종 이벤트 함수의 실현, 안드로이드와javase도 광범위하게 응용되고 각종 클릭 이벤트의 감청이다.어떤 사건을 촉발할 때, 이 사건에 감청된 모든 감청기를 촉발합니다.스프링의
org.springframework.web.context.ContextLoaderListener
는 바로 Servlet Context Listener 인터페이스를 실현한 감청기입니다. 이 감청기는 용기(tomcat,jetty)가 시작될 때 터치한 다음spring에 해당하는 설정 정보를 시작할 수 있습니다.2. 필터(filter)
하나의 HTTP 요청은 브라우저 클라이언트와 서버의 상호작용이다. 이번 상호작용에서 브라우저가 서버에 데이터를 보내는 과정, 그리고 서버가 요청 데이터를 받은 후에 처리 결과를 되돌리는 과정, 결과가 성공하면 HTTP 요청을 한 번 완성한다(그 중의 악수, 루트 등은 자세히 말하지 않는다).브라우저와 서버가 한 번 오는 과정에서 우리는 요청 데이터 인코딩 방식을 통일시키고 IP 검사,session 검사 등 관련 servlet 처리 전의 작업을 추가할 수 있으며 servlet 처리 후 브라우저 클라이언트에게 응답하는 과정에서 필터 작업을 할 수 있다.spring의
org.springframework.web.filter.CharacterEncodingFilter
는 필터입니다. servlet에 요청하기 전에 요청 인코딩을 <param-value>UTF-8</param-value>
에서 설정한 인코딩 방식으로 변환합니다. 필터의 경로는 Filter-mapping의 URL-pattern 설정 경로입니다.3. 요청 처리(servlet)
웹 기반 HTTP 요청 경로xml 설정의 차단 경로가 일치하면 상응하는 servlet 처리(처리하기 전에 설정된 필터 처리)가 됩니다. 이 servlet에서 요청한 데이터 정보를 얻을 수 있고 상응하는 처리를 하고 처리가 끝난 후에 브라우저에 응답합니다.스프링의
org.springframework.web.servlet.DispatcherServlet
는 바로 servlet입니다. 그러나 이 servlet은spring이 자체적으로 실현한 것입니다. 이 처리 요청 경로는 servlet-mapping 아래의 URL-pattern에서 설정됩니다. 설정이 완료되면 이 설정이 차단된 모든 요청을spring의 Dispatcher Servlet에 맡기고 처리합니다. 이spring 핵심의 servlet은 하나의 루트의 역할로 이해합니다.차단된 요청은 요청 경로와 요청 방식에 따라 더 나누어지고spring의 @Controller 아래 @RequestMapping(value={"/xxx"}, method=RequestMethod.xox )
방법으로 처리됩니다.자세한 구성은 다음과 같습니다.
4. 스프링 용기의 초기화
<!-- -->
<context-param>
<param-name>contextConfigLocation</param-name>
<!-- spring , spring -->
<param-value>classpath*:spring/spring-config.xml</param-value>
</context-param>
<!-- spring , spring -->
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener- class>
</listener>
스프링의 상하문 감청기 설정ContextLoaderListener
은 ServletContextListener
인터페이스를 실현하고 용기가 불러올 때spring 용기를 시작합니다.ServletContextListener
방법에서spring 용기를 초기화합니다.웹을 통해spring 용기를 불러올 수 있는 몇 가지 방법이 있습니다.xml의 contextInitialized
탭에서spring의 응용 프로그램 Context를 설정합니다.xml 경로, 파일 이름은 임의로 찾을 수 있으며, 설정이 없으면/WEB-INF/경로에서 기본 응용 프로그램Context를 찾습니다.xml 파일.5.spring 용기의 핵심 servlet, 차단 요청 경로
<!-- spring , , -->
<servlet>
<servlet-name>dispatcher</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<init-param>
<param-name>contextConfigLocation</param-name>
<param-value>/META-INF/spring-servlet.xml</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>dispatcher</servlet-name>
<!-- -->
<url-pattern>/</url-pattern>
</servlet-mapping>
스프링의 핵심 servlet 설정입니다. 이 servlet은 여기서 차단된 경로를spring의 controller 차단된 경로로 전송하여 처리합니다. 이 servlet은spring의 루트 중심에 해당합니다.spring 차단된 요청에 대응하는 전송을 처리합니다.6,spring 인코딩 필터
<!-- spring -->
<filter>
<filter-name>characterEncodingFilter</filter-name>
<filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>
<init-param>
<param-name>encoding</param-name>
<param-value>UTF-8</param-value>
</init-param>
<init-param>
<param-name>forceEncoding</param-name>
<param-value>true</param-value>
</init-param>
</filter>
<!-- -->
<filter-mapping>
<filter-name>characterEncodingFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
spring의 인코딩 필터, 이 필터가 설정한 경로의 데이터 형식을 인코딩합니다7. url-pattern 설정 설명
servlet과 filter에서 우리는 url-pattern을 설정해야 하지만, 이 설정의 해석 규칙이 몇 가지가 있는지 우리는 다음에 상세하게 이야기합시다.
1. 정확한 일치: 예:/xxx.html는 xxx만 일치합니다.html.
2. 경로 일치: 예를 들어/xxx/는 xxx를 접두사로 하는 URL과 일치합니다.
3. 접미사 일치: 예.html는 html을 접두사로 하는 모든 URL과 일치합니다.
그러나 URL-pattern의 일치에 있어 충돌이 발생할 수 있습니다. 이 경우 우선순위를 정해야 합니다. 상기 세 가지 우선순위는 정확한 일치 > 경로 일치 > 접두사 일치입니다.
이상은 본문의 전체 내용입니다. 여러분의 학습에 도움이 되고 저희를 많이 응원해 주십시오.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
thymeleaf로 HTML 페이지를 동적으로 만듭니다 (spring + gradle)지난번에는 에서 화면에 HTML을 표시했습니다. 이번에는 화면을 동적으로 움직여보고 싶기 때문에 입력한 문자를 화면에 표시시키고 싶습니다. 초보자의 비망록이므로 이상한 점 등 있으면 지적 받을 수 있으면 기쁩니다! ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.