关于在JSP中使用脚本
这个问题在这里已经有了答案:
这是一个坏主意,但这不是因为一次只有一个人可以使用该网站。 这是一个坏主意,因为代码将变得难以维护。 您的数据库连接代码应该与您的查看逻辑分开。 也许把它放在一个servlet中(理想情况下它会在某个持久层中被抽象出来)。 该servlet将从数据库中获取数据并使其可供jsp呈现。
如果脚本中的代码导致发生这种情况,JSTL,Struts等都会生成Java代码,这些代码看起来就像JSP与Scriptlet生成的代码一样,您只能通过脚本获得针对您的网站的单线程的建议。
这就是说,使用scriptlets被认为是不好的做法,因为它会导致错综复杂的代码。 尝试使用JSTL使用bean,而不是使用你的java逻辑。 您的JSP看起来会更好,更容易维护。
就像servlet一样,JSP也被翻译成servlet并进行编译,所以无论你在JSP声明块中声明了什么,即<%! ... %>
<%! ... %>
将在翻译的Servlet中直接声明。 而就servlet而言,在整个服务器生命周期中只有一次servlet实例,并且只有来自该实例的新创建的线程才会调用服务方法。 所以如果发生同时发生的请求,它们可能会改变相同的数据成员并可能导致意外的结果