我想创建一个要在pageload上加载的.jsp页面,但是该页面的内容是通过调用本地数据库动态创建的。
我的问题是。当用户请求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(请求,响应);
编辑。好的,所以现在该站点的工作方式如下。我请求index.jsp页面,该页面在web.xml中映射到servlet。但是,如果我将requestDispatcher设置为index.jsp页面,则整个站点将挂起。如果我将其设置为类似于result1.jsp的其他页面,则可以正常工作。在显示内容的索引页中执行。
我如何对Servlet说,将输出发送给启动器?
但是,如果我将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>
在您的Servlet中加载数据,然后转发到index.jsp。
http://www.thejavageek.com/2013/08/11/mvc-architecture-with-servlets-and-jsp/
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句