我为我的网站创建了一个主(index.jsp)页面,它将使用嵌入式jsp从数据库加载一个下拉选择控件。
我的?:每次页面加载时都会运行/加载jsp(即使用"返回主页面#34;来自另一个网页),或者是先前调用jsp的结果(在缓存中) )被使用?
我希望页面尽可能快地加载。
谢谢你的帮助, 格雷格
答案 0 :(得分:0)
要直接回答您的问题,是的,每当用户关注Return to Main Page
的链接时,index.jsp就会执行JSP文件中的所有代码。
如果您想优化加载时间,建议您使用cookies
(对于非安全信息仅)或sessions
。执行此操作时,请确保您不允许index.jsp重新加载所有内容并再次从DB中提取信息(否则您将破坏会话的目的!)您可以执行以下操作:
<%
if (session != null) {
%>
<!-- insert code here to load page using information stored in session -->
<%
} else {
%>
<!-- insert your existing code here, to load the index.jsp page fresh, as there is an absence of session -->
<%
}
%>
以下页面是帮助您开始在cookies
和sessions
中存储信息的有用页面。
(阅读所有内容!)
否则,如果您只需要在几个页面之间传递信息(例如,从包含内容的页面到主索引页面),隐藏的表单字段可用于将信息作为临时"session"
传递,如下所示:
<input type="hidden" name="session" value="<%= some_value %>">
希望这有帮助,欢呼!
编辑:添加了有关如何使用和不使用会话加载JSP页面的更多信息。
答案 1 :(得分:0)
每次页面加载时是否运行/加载jsp(即从另一个网页上“返回主页面”)或者是否会使用之前调用jsp(在缓存中)的结果?
取决于。
您可以使用cache control headers告诉浏览器缓存结果。
您可以使用server side cache such as Varnish在服务器上缓存结果,以便任何客户端连接都可以拥有缓存版本。
或者您可以让文件被请求并且每次都重新运行Java代码。