让我们说servlet text.java将一个html内容返回给jsp页面index.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();
答案 0 :(得分: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中得到结果:
request.getAttribute("result");
答案 1 :(得分:2)
JSP是作为模板编写的servlet。 Servlet是服务器端的,通常不会相互调用。这是您的网页(无论是否通过jsp生成),它将链接暴露给URL,而不是Java文件。单击链接后,浏览器会向服务器发送请求以获取链接的URL。因此,在您的服务器上,此URL(由您自定义)必须映射到将处理请求并生成响应的Servlet
类。这个URL到servlet的映射是在WAR的web.xml
文件中配置的。
答案 2 :(得分:0)
您应该看到如何在web.xml中映射servlet,搜索基本的servlet教程。
你不能给像text.java这样的链接,并期望它会触发text.java servlet。你需要将一个url映射到servlet类