【问题标题】:How have best performance with jsp?jsp如何获得最佳性能?
【发布时间】:2011-03-05 11:32:05
【问题描述】:

我有一些问题:

1) 我怎样才能在 jsp 中采用最佳实践来让我的网站获得最佳性能?

2) 我应该如何使用 request.session.getAttribute() 和 request.attribute() ?

3) servlet 和 jsp 之间的所有数据都应该在 request.session.getAttribute 中?还是在 request.getAttribute 中?

我问这个原因,使用一段时间后,我的 tomcat 停止了,我在另一个项目中使用同一个 tomcat,这永远不会发生。

最好的问候, 瓦尔特·恩里克。

【问题讨论】:

    标签: java jsp tomcat containers


    【解决方案1】:
    1. 不用担心 jsp 的性能,它已经被充分证明和测试过了。
    2. 会话在多个请求之间对用户有效,request.getAttribute 对于向您的 servlet 发出的每个新的 HTTP 请求都是唯一的。
    3. 一定要把所有你能得到的数据放到每个请求中,这意味着你必须使用request.getAttribute

    如果您的 tomcat 有问题,我建议您发布堆栈跟踪或连接一些监控工具(例如您的 IDE debugger 或类似 jconsole 的东西)。

    会话也很有用。会话通常包含有关已登录用户及其首选项的信息。例如,它可以用于存储 usernametheme,以便在此类可用时使用。

    【讨论】:

    • 在我的情况下,用户应该被记录下来做一些动作,所以会话更合适,对吧?
    • @Valter,在会话中存储用户数据,绝不在会话中存储特定于请求的信息,例如submitting a form
    • 没关系@Johan 我没有在会话中提交表单 =)
    【解决方案2】:

    您的问题的答案是:

    1) 我怎样才能在 jsp 中采用最佳实践来让我的网站获得最佳性能?

    您应该使用 MVC 框架,而不是编写 servlet 和 jsp 页面。有许多 java MVC 框架,如 Spring、Struts、Wicket 等。它们将帮助您创建更好的稳定和可维护的应用程序

    2) 我应该如何使用 request.session.getAttribute() 和 request.attribute() ?

    在哪里存储数据是您的设计。如果您需要在多个请求中访问某个属性,则必须将其放入会话中。而如果您只需要 1 或 2 个请求的属性,您可以提前处理请求。我上面提到的框架总是提供更好的管理。

    3) servlet 和 jsp 之间的所有数据都应该在 request.session.getAttribute 中?或者在 request.getAttribute ?

    同样,这取决于您的应用程序以及您需要多长时间才能尝试访问数据。

    【讨论】:

    • 我需要在多个请求中访问该数据,所以会话更好,对吧?并感谢框架,将搜索它。
    • 是的..在这种情况下你应该使用会话
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-05-07
    • 2022-01-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多