2012-08-04 5 views
-1

서블릿 text.java가 jsp 페이지 index.jsp에 HTML 컨텐트를 반환합니다.JSP 페이지에 대한 서블릿의 응답

protected void processRequest(HttpServletRequest request, HttpServletResponse response) 
throws ServletException, IOException { 
    response.setContentType("text/html;charset=UTF-8"); 
    PrintWriter out = response.getWriter(); 
    try { 
    out.println("<b>HELLO</b>"); 
    } finally { 
     out.close(); 
    } 
} 

text.java IN index.jsp

<button onclick="location.href='text'">CLICK</button> 

IN

이제 우리는 그 서블릿은 다음 JSP 페이지 대신 왜 URL에있는 버튼을 클릭 한 후, 웹 브라우저의 요청에 응답하는 말 서블릿의 이름이 거기에 있고 컨트롤이 jsp 페이지로 리턴되지 않습니다.

아약스 (formelement.innerHTML = ob.responseText())에서만 가능합니까? // var ob = new XMLHttpRequest();

답변

4

...

protected void processRequest(HttpServletRequest request, HttpServletResponse response) 
    throws ServletException, IOException { 
    response.setContentType("text/html;charset=UTF-8"); 
    String str = "<b>heloo</b>"; 
    request.setAttribute("result", str); 
    request.getRequestDispatcher("/index.jsp").forward(request, response); 
} 

및 JSP에서 서블릿에 URL을 매핑해야 템플릿으로 서블릿은 서버 측이며 일반적으로 서로 호출하지 않습니다. 이것은 링크 을 자바 파일이 아닌 URL에 노출시키는 웹 페이지입니다 (jsp를 통해 생성되었는지 여부는 아님). 링크를 클릭하면 브라우저가 서버에 링크 URL을 요청합니다. 따라서 서버에서이 URL (정의 할 때까지)은 요청을 처리하고 응답을 생성하는 Servlet 클래스로 매핑되어야합니다. 이 URL- 서블릿 매핑은 WAR의 web.xml 파일에 구성됩니다.

+0

이것을 설명해 주시겠습니까? request.getRequestDispatcher ("/ index.jsp"). forward (request, response); – Nil

+0

getRequestDispatcher ("/ index.jsp")는 jsp 페이지의 url로 객체를 만들고 forwrd 메소드는 현재 요청 인 응답 객체를 JSP 페이지로 전달합니다. –

0

web.xml에서 서블릿을 매핑하는 방법을 살펴보고 기본 서블릿 튜토리얼을 검색하십시오.

당신은 text.java와 같은 링크를 줄 수는 없으며 text.java 서블릿을 작동시킬 것으로 기대합니다.

request.getAttribute("result"); 
+0

text.java 괜찮습니다. 잘못 입력했습니다. 하지만 링크에 텍스트를 써주면 서블릿을 호출하고 매핑하는 것에 대해서도 할 수 있습니다. – Nil

2

JSP로 작성 서블릿이다 : 당신은 단지로 결과를 얻을 클래스를

이 같은 진행할 수
관련 문제