servlet的一个jsp页面

问题描述:

响应比方说一个servlet text.java返回一个HTML内容到JSP页面的index.jsp。servlet的一个jsp页面

IN index.jsp

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

IN text.java

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(); 
    } 
} 

现在我们说的servlet响应Web浏览器的请求,那么为什么在URL点击按钮,而不是JSP页面中的后servlet的名称在那里,并且控件不会返回到jsp页面。

只有使用AJAX可能(formelement.innerHTML = ob.responseText())? //其中var ob = new XMLHttpRequest();

你可以继续这样的...

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中刚刚获得通过的结果:

request.getAttribute("result"); 
+0

你能解释这一点:的request.getRequestDispatcher(“/ index.jsp的”)向前(请求,响应)。 – Nil 2012-08-04 09:39:05

+0

的getRequestDispatcher(“/ index.jsp的”)将创建对象与JSP页面和forwrd方法的网址会将您的当前请求,响应对象jsp页面。 – 2012-08-04 10:48:37

你应该看到如何在web.xml中映射的servlet,寻找一个基本的servlet教程。

你不能给像text.java一个链接,并期望它会触发text.java的servlet。你需要映射一个URL到Servlet类

+0

text.java确定我输入了错误。但如果我在链接写入文本就会调用servlet和有关测绘ÿ该CN做也 – Nil 2012-08-04 15:06:32

JSP是写一个servlet作为模板。 Servlet是服务器端的,通常不会互相调用。这是你的网页(它是通过jsp生成还是不生成),将链接暴露给URL,而不是java文件。点击链接后,浏览器向您的服务器发送请求链接URL的请求。因此,在您的服务器上,此URL(由您决定)必须映射到Servlet类,该类将处理请求并产生响应。这个URL到servlet映射在WAR的web.xml文件中配置。