当前位置: 首页 > 知识库问答 >
问题:

使用特定servlet在pageload上加载dynamic.jsp页面

胡致远
2023-03-14

我的问题是。当用户请求index.jsp页面时,我该如何“说”。在显示index.jsp页面之前,调用servletX获取内容,并将其发送回index.jsp页面?

我将jsp和servlet映射到一起,如下所示

<servlet>
    <servlet-name>intname</servlet-name>
    <servlet-class>ServletBooks</servlet-class>
</servlet>
<servlet-mapping>
    <servlet-name>intname</servlet-name>
    <url-pattern>/index.jsp</url-pattern>
</servlet-mapping>

但不知道我如何把心事送回自我?getServletContext().getRequestDispatcher(???).forward(请求,响应);

共有1个答案

许涵容
2023-03-14

但是如果我将requestDispatcher设置为index.jsp页面,整个站点将挂起。如果我将它设置为另一个页面,比如result1.jsp,它可以正常工作。

是的,因为当index.jsp映射到要从中转发的Servlet时,它显然进入了一个无限循环。

您需要查看ModelViewController模式。实际上,您从不允许直接访问JSP,而是通过一个控制器路由,在您的例子中是一个简单的Servlet,它将加载视图所需的任何数据,然后分派到视图进行呈现。

<servlet>
    <servlet-name>intname</servlet-name>
    <servlet-class>ServletBooks</servlet-class>
</servlet>
<servlet-mapping>
    <servlet-name>intname</servlet-name>
    <url-pattern>/loadBooks.do</url-pattern>
</servlet-mapping>

<!-- If you are on Tomcat set a Default page if root of webapp requested -->
<welcome-file-list>
    <welcome-file>loadBooks.do</welcome-file>
</welcome-file-list>
 类似资料:
  • 问题内容: 如何让CodeIgniter使用SSL加载特定页面?我有一个apache2 / 服务器。使用与非安全页面不同的文档根目录。例如,https(端口443)服务的页面不多,http(端口80)服务的页面不多。我如何让CodeIgniter在此设置中表现出色? 问题答案: 解决此问题的方法很少。 选项1: 我可能会将代码部署到两个文件夹中,然后在文件:/system/application/

  • 我想在加载aboutme时调用servlet GetUserData。jsp页面。 基本上,它所做的是设置一个会话变量,允许用户查看其配置文件信息。 它设置了一个会话变量,因此它不需要调用任何东西,只需在页面加载时继续使用servlet。 这个servlet调用另一种方法来生成SQL语句并准备要发送的数据。 最后,在JSP页面上,我想使用先前声明的会话变量将所有信息(如登录名、密码等)打印到表中。

  • 问题内容: 是否可以在不使用HTML表单的情况下从JSP文件调用servlet? 例如,在页面加载期间在HTML表中显示数据库的结果。 问题答案: 你可以使用doGet()servlet 的方法来预处理请求并将请求转发到JSP。然后只需在链接和浏览器地址栏中指向servlet URL而不是JSP URL。 例如 请注意,JSP文件放置在/WEB-INF文件夹内,以防止用户无需调用servlet即可

  • 我想在加载aboutme时调用servlet GetUserData。jsp页面。 基本上,它所做的是设置一个会话变量,允许用户查看其配置文件信息。 它设置了一个会话变量,因此不需要调用任何东西,只需在页面加载时继续使用servlet即可。 这个servlet调用另一种方法来生成SQL语句并准备要发送的数据。 最后,在JSP页面上,我想使用之前声明的会话变量将所有信息(如登录名、密码等)打印到表中

  • 问题内容: 在我的index.html页面中,我想在加载应用程序时加载一个单独的Ajax页面,最好的方法是什么?这是我的索引代码: 在这里加载ajax子页面..... 子页面就是: 内容.............. 谢谢。 问题答案: 使用JavaScript可以做到这一点。您必须在页面加载时执行此操作。这是jQuery中的示例。

  • 问题内容: 我有一个模板,显示作者可以编辑/删除的各种条目。用户可以单击“删除”来删除其帖子 删除后,用户将被重定向到条目页面,但该项目仍然存在,因此需要再次重新加载页面以显示删除效果。如果我禁用缓存,问题就会消失,但是我真的很想在所有其他页面中都拥有缓存… 添加这些标签无效,我认为我的浏览器只会忽略它们 我启用缓存槽: 有什么方法可以针对特定页面禁用它吗? 编辑 如建议,我尝试使用包装器: 并将