2009-07-31 7 views
0

나는이 example 를 따라하려고하지만 난이 부분을 이해 할 수 없습니다
Imagine also that the servlet's context path is myServer/myApp/servlets. The servlet container would direct a request with URL myServer/myApp/createUser.do myServlet to myServlet, because the request URL matches the pattern *.do. Servlet myServlet can extract the requested operation's name from the request URL.
내가 요청을 이해하지 수, 그것은이 myServer /을 myApp /에게 MyServlet/createUser.do이어야한다? 그런 요청을 어떻게 만들 수 있습니까? myServlet/createUser.do를 폼의 액션에 넣을 수 있습니까?
감사합니다.
Iulia서블릿에서 수행 할 작업을 어떻게 식별 할 수 있습니까?

답변

0

아니요, myapp 용 서블릿에 대한 매핑을 만듭니다. 서블릿 이름 자체는 대개 요청 URL에 표시되지 않습니다. 따라서 myapp로 이동하는 모든 요청은 일치하는 경우 서블릿으로 리디렉션됩니다. 즉 당신의 매핑

http://myserver/myapp/ * 수도 있었죠

가 서블릿에 수도 있었죠와 모든 요청을 리디렉션 것을 의미한다. 이제 서블릿은 요청 URL을 처리해야합니다 (예 : createUser에 대한보기 렌더링)

+0

답장을 보내 주셔서 감사합니다. 나는 그것으로 놀고 있었고 나는 하나의 질문을 가지고있다. 로그인 화면을 만들려고합니다. 기본적으로 index.jsp가 열립니다. http : // localhost : 3818/MyApp. $ {pageContext.request.contextPath} /signin.do를 폼의 액션에 추가했고 Dispatcher * .do -pattern> 을 web.xml에 추가하십시오. 이것은 작동하지 않습니다 (제출, 통과, 값 null). 그러나 웹 응용 프로그램이 http : // localhost : 3818/MyApp/signin.do로 열리면 작동합니다. – Iulia

+0

"약간의 붉은 악마가 내 앱을 망가뜨 렸어"라는 것 말고는 논리적 인 설명이 있습니까? - 로그인 화면을 다른 사람과 똑같이 만들려면 어떻게해야합니까? 디스패처를 /*으로 추가합니까? 그것으로 충분할 것인가? 모든 것이 그것을 통과해야한다는 것을 의미하지 않을 것인가? 다시 한번 감사드립니다. – Iulia

+0

나는 당신이하고 싶은 것을 정말로 모른다 ... 사실 당신이 사용하는 서블릿 구현을 말하지 않는다. 당신은 단지.do의 모든 호출이 당신의 서블릿으로 재전송 될 것임을 sais에 매핑합니다. 그래서 그냥 localhost : 3818/MyApp를 호출하면 .do 확장자 (localhost : 3818/MyApp/index.do가 작동하기 때문에)가 없기 때문에 리디렉션되지 않습니다. – Daff