-1

我是 JSP 的新手。我使用 JSP 创建了一个 Web 应用程序。

<%.....%>我在 JSP scriptlets( ) 中编写了 java 代码。
对于数据库连接,我也采用相同的方式。
例子:

   html code;
  <%
    database connectivity code;

  %>

     some jquery code;

 <%

    again database connectivity code;
 %>

但是有些人告诉我,它有一个很大的缺点,那就是“通过使用 scriptlet 声明,一次只有一个人可以使用您的网站而不会发生冲突”
我做得对吗?以这种方式构建 Web 应用程序是否正确?

4

3 回答 3

1

这是一个坏主意,但这并不是因为一次只有一个人可以使用该网站。这是一个坏主意,因为代码将变得难以维护。您的数据库连接代码应该与您的视图逻辑分开。也许把它放在一个servlet中(理想情况下它会在一些持久层中被抽象出来)。servlet 将从数据库中获取数据并使其可供 jsp 呈现。

于 2013-10-04T18:38:38.493 回答
0

只有当您放入 scriptlet 中的代码导致这种情况发生时,您在 scriptlet 上获得的建议才是正确的,JSTL、Struts 等都生成的 java 代码看起来就像您的带有 scriptlet 的 JSP 生成的代码一样。

话虽如此,使用小脚本被认为是不好的做法,因为它会导致复杂的代码。尝试使用 JSTL 使用 bean 并将您的 java 逻辑放入其中。您的 JSP 看起来会更好,并且更容易维护。

于 2013-10-04T18:45:39.500 回答
0

就像 servlet 一样,JSP 也被翻译成 servlet 然后被编译,所以你在 JSP 声明块中声明的任何东西<%! ... %>都会直接在翻译后的 Servlet 中声明。并且就 servlet 而言,在整个服务器生命周期中只有一个 servlet 实例,并且只有新创建的线程才从该实例调用服务方法。因此,如果同时发生请求,它们可能会更改相同的数据成员并可能导致意外结果

于 2013-10-04T18:41:42.397 回答