当前,我试图将信息从我的Java servlet显示到与其相关的jsp页面。但是,当我运行该程序时,jsp文件的预期输出将显示在servlet目录中。
和\ ServerToRun(应显示空白屏幕的Servlet页面):
所以我的问题是,
为什么/Display.jsp的内容出现在/ ServerToRun中?
以下是ServerToRun类的doPost()
的代码:
protected void doPost(HttpServletRequest request, HttpServletResponse
response) throws ServletException, IOException {
CSVFileOperations csvfo = new CSVFileOperations();
String url = "/Display.jsp";
response.setContentType("text/html");
String header = csvfo.getHeaders().remove();
System.out.println(header);
request.setAttribute("header", header);
request.getServletContext().getRequestDispatcher(url).
forward(request, response);
}
以及Display.jsp的标记:
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
pageEncoding="ISO-8859-1"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="ISO-8859-1">
<title>OTS Grief</title>
</head>
<body>
${header}<br>
Test Why is his showing up in ServerToRun?
</body>
</html>
感谢您的帮助。
答案 0 :(得分:0)
因为从servlet重定向到Display.jsp。尝试在JSP中添加任何动态内容并同时执行这两个内容,只有servlet才能显示动态内容。
答案 1 :(得分:0)
我想我理解你的问题。您正在谈论目录。
在您的URL中,路径(/Grief_UI/Display.jsp和/ Grief_UI / ServletToRun)与文件夹无关。
它是URL的结构元素。有时您甚至没有像这些路径元素那样命名的文件。路径通常由Servlet处理,并且用户有使用文件夹的感觉,是的,但这只是对资源本地化的描述。
答案 2 :(得分:0)
是因为您的servlet捕获了所有请求,所以您应该注意到要在ServerToRun.java类中添加哪个注释,或者如果要在显示描述符(web.xml)中添加servlet的注释。