2017-11-09 8 views
2

Servlet, JSP 등으로 웹 응용 프로그램을 프로그래밍하는 데 상대적으로 익숙하지 않습니다.JSP에서 "submit"쿼리를 처리 할 서블릿을 파악하는 방법은 무엇입니까?

제 경우에는 2 개의 서블릿과 5 개의 JSP가 필요합니다. 하나의 서블릿이 좋으며 연결을 초기화하고 있습니다. MySQL 데이터베이스에 연결하고 다양한 JSP로 리다이렉트하고 다른 서블릿은 다른 서블릿보다 데이터베이스 액세스와 관련된 더 많은 권한을 가진 JSPAdmin 페이지에 해당하는 ServletAdmin입니다.

이제 ServletAdmin이 JSPAdmin 페이지의 요청 만 처리하기를 원하지만 어떻게 작동하는지 모르겠다. @WebServlet 주석을 사용하여 내 서블릿에 매개 변수를 설정해야합니까? 나는 이미 그런 첫 번째 동안 그 일을했습니다

@WebServlet(
     name = "ServletConnection", 
     displayName = "Connection handling Servlet",  
     urlPatterns = {"/JSPConnection", "/JSPInit","/JSPCaddie","/JSPPay"} 
) 

I하지 정말 내가 여기서 뭘하는지 얻을, 내가 전에 내 질문을 검색하고 그래서 을 시도하는 솔루션을 건너왔다 그것에서 무언가를 만드십시오, 그러나 나는 확실하기 위하여 오히려 요구할 것입니다.

모든 JSP 모든 서블릿은 urlPatterns에서 인용으로

내 JSP를 각각 명명 된 해당 폴더의 루트에 이상 내 단락에서 현재와 나의 서블릿이다.

+0

당신은 아마 @WebServlet'처럼 다른 시작 URL을 사용할 수 있습니다 ("/ 관리자/*") '에 대한 admin stuff과 나머지는'@WebServlet ("/ user/*")'와 같은 것을 사용하고 모든 요청 URL은 admin 또는 user로 시작합니다. (내가 주석을 정직하게 사용 해본 적이 없다.) –

답변

1

서블릿이 제출 요청을 처리 할 때 양식 내에서 작업 필드에 부여하는 클래스가 무엇이든간에. 액션과 url 패턴의 값이 일치해야합니다. 이것이 귀하의 요청이 귀하의 요청을 처리 할 서블릿을 알 수있는 방법입니다.

양식을 사용하지 않는 경우 href 값은 url 패턴과 일치해야합니다.

<form method="POST" action='UserController' name="frmAddUser"> 
     User ID : <input type="text" readonly="readonly" name="userid" 
      value="<c:out value="${user.userid}" />" /> <br /> 
     <input type="submit" value="Submit" /> 
    </form> 

    <a href="UserController">Click Here </a> 

주석 :

@WebServlet(name = "Servlet", description = "This is a servlet with annotations", urlPatterns = "/UserController") 
+0

아, 알았어. 서블릿의 이름을

일부 HTML 코드
에 입력하면된다. 해당 JSP 요청 처리 – Nenoxx

0

가장 좋은 방법은 너무 많이하지 복잡 다양한 논리의 많은 서블릿을 익사하지 않는 것입니다. 둘 이상의 jsp에 적합한 서블릿 로직이 있다면 괜찮습니다. 그걸 써. 해당 서블릿에 URL 값을 할당하고 원하는 모든 페이지에서 사용하십시오.

@WebServlet(name = "MyServlet", urlPatterns={"/whatever"}) 

그리고 당신의 JSP 양식에서

:

<form action="whatever" method="POST"> 

행운을 빕니다 :)