小编典典
应用服务器。您认为Tomcat在运行时占用空间,学习量或…方面都是沉重的负担?我倾向于选择与IDE具有良好集成的东西。因此,Eclipse + Tomcat或Apache Geronimo(也许是WebSphere Community Edition的幌子)可以完成这项工作。从我所看到的来看,这些足以满足您的需求,而且学习曲线确实很容易管理。
是的,JSP。您可能仍然发现演示文稿的需求变得更加复杂。使用JSF所做的额外努力可能还没有得到回报-诸如日期选择器之类的精美小部件。
在您的处理过程中,您将拥有一个servlet(如果您使用的是JSF,则为一个动作类),该类可以在启动时初始化类型为Engine的成员变量,然后将其用于每个请求。要记住的是,许多用户将同时访问该servlet和该引擎。是否可以安全地同时在多个线程中使用您的引擎?
在这一点上要扩大。在实现JSP时,有两个模型(有些发明)称为模型1和模型2。请参见此说明。
在模型1的情况下,您倾向于将代码直接放入JSP中,它充当控制器角色。坦率地说,即使是在处理小型,快速开发的应用程序时,我也不是这样。我始终使用模型2。但是,如果您选择将Java放入JSP中,则可以使用它。
// theWorker.work();
%>
我希望拥有这样的工厂,以便您可以控制工人的创建。工厂会有类似的东西(举一个非常简单的例子)
private static MyWorker s_worker = new MyWorker();
public static synchronized getWorker() {
return s_worker;
}
或者,您可以在首次调用该方法时创建工作程序。
对于模型2,您自然会有一个Servlet,您将在其中放入一些代码,因此您只需
private MyWorker m_worker = MyWorkerFactory.getWorker();
这将在加载servlet时初始化。无需担心将其设置为在启动时加载,您只需知道它将在运行第一个请求之前进行初始化。更好的是,使用servlet的init()方法。保证在处理任何请求之前将调用此方法,这是此类工作的Servlet
API架构。
public class EngineServlet extends HttpServlet {
private Engine engine;
// init is the "official" place for initialisation
public void init(ServletConfig config) throws ServletException {
super.init(config);
engine = new Engine();
}
2020-06-08