首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >混合使用JSP和Servlets会对性能造成很大的影响吗?

问混合使用JSP和Servlets会对性能造成很大的影响吗?
EN

Stack Overflow用户
提问于 2010-10-04 09:26:15
回答 2查看 740关注 0票数 2

据我所知,JSP无论如何都是编译的,所以我预计您会从两者获得类似的性能。我希望显示大量数据,并且我正在考虑使用JSP作为基础,并调用servlet为表中的每一行生成代码。除非有一种很好的方法通过对servlet的一次调用来生成整个表,否则这将意味着数百次调用,我认为这效率很低。这里的“正确”方式是什么?直接的servlet会产生大量丑陋的println代码,而直接的JSP会产生大量丑陋的逻辑语句……

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2010-10-04 09:59:36

@Tony是完全正确的。只是不要在Servlet中打印HTML。这项工作是针对JSP的。另外,不要在JSP中编写原始Java代码。此作业是针对Servlet的。一旦你记住了这两条简单的规则,一切都会顺利进行的。

Servlet的作业示例:

代码语言:javascript
复制
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    List<Product> products = productDAO.list(); // Obtain all products.
    request.setAttribute("products", products); // Store products in request scope.
    request.getRequestDispatcher("/WEB-INF/products.jsp").forward(request, response); // Forward to JSP page to display them in a HTML table.
}

在JSTL帮助很少的情况下,JSP的工作示例:

代码语言:javascript
复制
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
...
<table>
    <c:forEach items="${products}" var="product">
        <tr>
            <td>${product.name}</td>
            <td>${product.description}</td>
            <td>${product.price}</td>
        </tr>
    </c:forEach>
</table>

就这么简单:)

相关问题:

票数 6
EN

Stack Overflow用户

发布于 2010-10-04 09:31:21

servlet加载一个类似于map的数据结构,将其放入请求中,然后转发给一个jsp。jsp迭代并格式化。当它被用来做好事而不是坏事时,它是非常有效的。

票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3852299

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档