我为我的网站创建了一个主(index.jsp)页面

时间:2016-12-07 21:06:39

标签: jsp

我为我的网站创建了一个主(index.jsp)页面,它将使用嵌入式jsp从数据库加载一个下拉选择控件。

我的?:每次页面加载时都会运行/加载jsp(即使用"返回主页面#34;来自另一个网页),或者是先前调用jsp的结果(在缓存中) )被使用?

我希望页面尽可能快地加载。

谢谢你的帮助, 格雷格

2 个答案:

答案 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 -->

<%
    }
%>

以下页面是帮助您开始在cookiessessions中存储信息的有用页面。

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代码。