springMVC controller 층의 Request와view 층의 Request 차이
2436 단어 controller
컨트롤러 레이어에는 다음과 같은 방법이 있습니다.
@RequestMapping("/forum")
public String forum(HttpServletRequest request, HttpServletResponse response, Model model) throws IOException {
System.out.println("controller getContextPath: " + request.getContextPath());
System.out.println("controller getServletPath: " + request.getServletPath());
System.out.println("controller query string: " + request.getQueryString());
request.setAttribute("controllerrequest", request);
return "/templates/" + systemConfig.getAppName() + "/forum"; }
반환된 페이지 forum.jsp 페이지 부분 코드는 다음과 같습니다.
<%
out.print(request.getContextPath());
out.print("---");
out.print(request.getServletPath());
out.print("---");
out.print(request.getQueryString());
out.print("---");
out.print(request.equals(request.getAttribute("controllerrequest")));
%>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
//
컨트롤러 레이어 결과:
controller getContextPath:/bbs7
controller getServletPath:/forum.do
controller query string: fid=1988&filter=type&fval=g6559g80b2g89c2g70b9
view 레이어 출력:
/bbs7---/WEB-INF/view/templates/baby/forum.jsp---fid=1988&filter=type&fval=g6559g80b2g89c2g70b9---false
controller층과view층의 Request는 어떤 공통점이 있습니까?인쇄한 결과를 보면 다음과 같은 결론을 얻을 수 있다.
(1) 이 두 리퀘스트는 서로 다른 대상이다
(2) 이 두 Request에서 받은 getContextPath () 는 동일합니다. 모두 같은 응용 프로그램의ContextPath이기 때문입니다.
(3) 두 개의 Request가 받은 servletPath는 다르다. controller층은 최초로 요청한 servlet 경로를 받고view층은 요청이 mvc처리를 거쳐 전송된 후 jsp 페이지의 경로를 받는다.
(4) 두 개의 Request가 받은query String은 같다. mvc가view층으로 요청을 할 때 처음 요청한query String을 가져왔기 때문이다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
iOS open source project: DYNavigationControllerDYNavigationController is a project that implements left and right sliding navigation. First initialize DYNavigationCont...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.