繁体   English   中英

servlet对jsp页面的响应

[英]servlet's response to a jsp page

假设servlet text.java将html内容返回到jsp页面index.jsp。

index.jsp

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

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");

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

您应该了解如何在web.xml中映射servlet,并搜索基本的servlet教程。

您不能提供像text.java这样的链接,并且期望它会触发text.java servlet。 您需要将网址映射到servlet类

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM