2012-12-20 1 views
0

나는이 구조의 웹 응용 프로그램 사용하고 있습니다 : 내/주요 index.jsp에 내가있어 로그인에서JSP 세션 위해 response.sendRedirect (와 문제) 또는 request.getRequestDispatcher()와

main/index.jsp 
main/first/index.jsp 
main/second/index.jsp 

을 양식, 마녀 세션 변수 및 리디렉션, 내가 어떤 종류의 사용자/패스에 따라 실제로 사용할 수 있습니다. 실제로 request.getRequestDispatcher ("/ first/index.jsp") 및 request.getRequestDispatcher ("/ second/index.jsp ")를 사용하여 로그인 페이지에서 리디렉션합니다. 2 개 개의 웹 어플리케이션은 (제 1 및 제 2) 자신의 세션 변수가 활성화 된 경우에만 사용할 수 있으며, 둘 다 약간의 변수는 링크를 통해 통과 같은 :

main/first/index.jsp?id=1&var=2 

내 현재의 문제는 : 내가 주/인덱스에서 통과 할 때 .jsp 다른 두 webapps 중 하나, 내 URL을 변경하지 마십시오. main/second/index.jsp 여야하지만 여전히 main/index.jsp이고 해당 페이지의 모든 링크가 엉망입니다 (폴더와 관련되어 있기 때문에). 그래서 변수를 전달하는 링크를 사용하려고하면 나는이 링크를, 퍼팅 해결하기 위해 노력했습니다

main/index.jsp?id=2&var=1 

, 자신의 홈 경로,하지만 하나 "반복"후 :

main/second/index.jsp?id=2&var=1 

하지만 : 링크를 통해 나는 이것을 얻을 것이다 두 번째 URL은 올바른 URL을 가지므로 두 번째 URL은 다음과 같이됩니다.

main/second/second/index.jsp?id=3&var=1 

여전히 쓸모없고 잘못되었습니다.

request.getRequestDispatcher()를 사용하는 대신 response.sendRedirect()를 사용해 보았습니다.하지만이 솔루션에서는 세션 변수가 손실됩니다. 리디렉션 후에 모든 것이 손실됩니다.

누군가 나를 도와 줄 수 있습니까? 고맙습니다.

+1

는 차이가) 대해 sendRedirect()와 getRequestDispatcher (사이입니다 무엇을 조사 하였다 :이

<a href="/main/first/index.jsp?id=1"> One, 1</a> 

대신 사용 : 나는이 같은 URL을 통해 변수를 통과 한 전체 주소를 사용하는 데 필요한 ? 여기에 좋은 출발점이 있습니다 : http://www.javapractices.com/topic/TopicAction.do?Id=181 –

+0

당신은 제게 당신의 JSP와 서블릿 파일 코드를 알려 주시면 해결할 수 있습니까? –

답변

0

몇 가지 테스트를 끝낸 후에이를 해결했습니다.

<a href="index.jsp?id=1"> One, 1</a>