springMVC controller 층의 Request와view 층의 Request 차이

2436 단어 controller
웹 컨테이너는 resin을 사용하고 프로젝트는springMVC를 사용하며 관건적인 설정은 다음과 같습니다.
        class="org.springframework.web.servlet.view.InternalResourceViewResolver">
       
       
   

 
컨트롤러 레이어에는 다음과 같은 방법이 있습니다.
 @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을 가져왔기 때문이다.
 
 

좋은 웹페이지 즐겨찾기