2011-10-25 2 views
0

요청의 작동 방식을 이해하려고합니다. 불행히도 나는 처음에는 코딩에 던져졌고 그 다음에는 이해에 던져졌습니다.웹 응용 프로그램 URL 액세스 java

저는 몇 년 전에 자바에서 몇 가지 기본적인 웹 응용 프로그램을 작성했으며 예상대로 작동했습니다. 주요 웹 페이지 (.jsp로)에 나는 메뉴 버튼 중 하나로서 다음했다 :

<p><a href="home.jsp">test</a></p> 

나는 현재 새로운 웹 애플리케이션을 작성하고 많이 잊었하고있다. 이번에는 스프링 MVC를 사용하여 적절하게하고 있습니다. 나는 왜이 스 니펫이 더 이상 나를 집으로 데려 오지 않는지 이해할 수 없다. 현재 웹 응용 프로그램의 jsp와 왜 처음에는 이전 응용 프로그램에서 사용했는지 이해할 수 없다.

Apache는 요청한 리소스()를 사용할 수 없습니다.

그런 종류의 직접적인 상호 작용이 필요하지 않습니다. URL을 통해 리소스에 액세스 할 수 있는지 여부를 이해하려고합니다. Spring MVC는 서블릿 처리 요청으로 만 볼 수있는 추가 보안 기능을 제공합니까? 정말로 사소한 것을 놓치고 있습니까?

또한 동일한 이전 웹 응용 프로그램 메뉴에서 서블릿에 대한 직접 링크가 있었지만 현재는 새 webapp의 서블릿에 대한 직접적인 참조를 만들 수 없습니다. 서블릿에 의해 캡쳐 될 적절한 요청을 할 수는 있지만 그 이름으로는 할 수 없습니다.

Apache는 요청한 리소스()를 사용할 수 없습니다. 메뉴에서 서블릿

참조 :

<% if((String) session.getAttribute("passengerFound") != null){ %> 
<a href="TripRecentBook"><img style="border:0" src="menuButtons/My Trips.png" alt="My Trips"/></a> <%} %> 

감사합니다, 나는 그것이 정말 간단 내기. 이해하고 정말로 싶습니다. 제발 도와주세요. Front Controller (dispatcherServlet)와 관련이 있다는 것을 알고 있지만 필자의 머리 속에는 논리적이고 확고한 설명을 할 수 없습니다.

답변

2

그냥 나는 자원이없는, 즉 URL

를 통해 접근 할 수 있는지 이해하려고 노력하고있다. Spring MVC를 사용할 때 기본 동작과 권장 설정은 Spring DispatcherServlet을 / url 패턴으로 매핑하는 것인데, 이는 모든 요청이 DispatcherServlet으로 보내진다는 것을 의미한다. 상자 밖에서는 dispatcher-servlet이 정적 리소스 요청을 처리하지 않습니다. 이 원하는 경우, 두 가지 주요 옵션은

  1. 는 (당신의 봄 컨텍스트에 리소스를 매핑을 추가 effectivly 하위 컨텍스트
  2. 에 스프링 MVC 부분을 분리, 루트가 아닌 다른 패턴에 DispatcherServlet을지도하다 당신의 applicationContext.xml).

<mvc:resources mapping="/res/**" location="/res/" />

이 위 (등 이미지 같은) 정적 자원에 대한 요청으로 **/입술/모든 요청을 치료하기 위해 스프링 MVC를 말할 것 그 자원은 물리적/입술/폴더에있는 것을 응용 프로그램 루트에 있습니다.

+0

에있다. 나는 거기에 내 .css ProjectName/resources/screen.css 직접 요청 작동합니다.따라서 어떤 종류의 요청을 어떻게 처리해야하는지 명시 적으로 말하지 않으면 애플리케이션에서 리소스를 빼낼 방법이 없기 때문에 더 나은 보안을 제공 할 수 있습니다. 감사. – Aubergine

0

하기는 누락 될 수있는 "/"당신이 올바른지 "/home.jsp" 대신 "home.jsp"

+0

아니요, 당신도 작동하지 않습니다 :-) 나는 위의 게시물이 내가 잠시 후에 읽을 상황을 드러내고 있다고 생각합니다. – Aubergine

관련 문제