2009-12-15 4 views
8

JavaScript를 사용하지 않고 하이퍼 링크를 클릭하면 자바 서블릿을 호출 할 수 있습니까?하이퍼 링크 클릭시 서블릿 호출

+3

글쎄, 새로운 댓글은 노란 봉투로 나타납니다. 그래서 당신은 그것을 읽었습니다 - 당신을 도운 해답을 받아들이거나 미래에 많은 사람들이 당신을 도울 것으로 기대하지 마십시오. – Bozho

답변

24

web.xml 파일에 정의 된 서블릿 매핑이있는 하이퍼 링크에 URL을 지정하십시오.

servlet-mapping 요소는 서블릿과 URL 패턴 간의 매핑을 정의합니다. 아래의 예는 /foo로 시작하는 URL에 myservlet라는 이름의 서블릿 매핑이 예를 들어

<servlet> 
    <servlet-name>myservlet</servlet-name> 
    <servlet-class>com.stackoverflow.examples.MyServlet</servlet-class> 
</servlet> 
<servlet-mapping> 
    <servlet-name>myservlet</servlet-name> 
    <url-pattern>/foo/*</url-pattern> 
</servlet-mapping> 
  • 같은 <a href="/foo/test.html">Click Me</a> 서블릿을 호출 할 하이퍼 링크를.
+0

나는 분명히 이해하지 못한다. 조금 더 자세히 설명해 주겠다. – sarah

+0

고맙습니다. – sarah

3

서블릿 "callme"을 정의했으며 web.xml이이 서블릿에 대해 구성되었다고 생각하십시오. JSP에서 하이퍼 링크를

web.xml을

<servlet> 
<description>callme Functions</description> 
<display-name>callme</display-name> 
<servlet-name>callme</servlet-name> <servlet-class>com.test.Projects.callme</servlet- 
class> 
</servlet> 

<servlet-mapping> 
<servlet-name>callme</servlet-name> 
<url-pattern>/callme</url-pattern> 
</servlet-mapping> 

을 사용하여 호출하려면 다음 구문을 사용

<a href="<%=request.getContextPath()%>/callme">Call the servlet</a> 
+0

올바른 매핑을 위해 upvoted가되었지만, scriptlet을 위해 downvoted가되어서 saldo 당 0으로 투표되었습니다. – BalusC

6
  1. 당신이 web.xml에서 서블릿을 선언 이름, 클래스와 URL을 설정하여 -pattern (귀하의 URL 패턴이 /myServlet이라고 가정)
  2. <a href="/myServlet">mylink</a>
  3. 우선 당신이 원하는 무엇이든 할 수있는 서블릿의 doGet(..) 방법을 쓰기
1

정확하게 당신이 "자바 서블릿을 전화로 무엇을 의미합니까? 링크를 클릭하기위한 가장 일반적인 (JavaScript 마술없이) 브라우저 동작은 링크에 지정된 URL에서 문서를 가져 와서 표시하고 HTTP 요청에 응답하는 서블릿이 존재하는 HTTP 요청을 보내는 것입니다.

그래서 특별한 것을 할 필요가 없습니다. 일반 HTML 링크 만 사용하고 "호출"하려는 서블릿이 해당 링크의 URL과 일치하는지 확인하십시오. 물론 다음 질문은 서블릿이 반환하는 것과 브라우저가 브라우저로 처리하기를 원하는 것입니다.