假设,我有一个拥有大量servlet的Web服务器.对于在这些servlet之间传递的信息,我正在设置会话和实例变量.
现在,如果有2个或更多用户向此服务器发送请求,那么会话变量会发生什么?它们对所有用户都是通用的,或者对于每个用户而言都是不同的.如果它们不同,那么服务器如何区分不同的用户?
还有一个类似的问题,如果有n用户访问特定的servlet,那么这个servlet只在第一个用户第一次访问它时实例化,或者是否为所有用户单独实例化?换句话说,实例变量会发生什么?
java multithreading servlets session-variables instance-variables
我想在加载jsp页面之前启动servlet类,因为我需要在jsp页面中填充数据库中的一些数据.web.xml中的Servlet映射
<servlet>
<servlet-name>Index</servlet-name>
<servlet-class>com.Teklabz.Servlets.IndexServlet</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>Index</servlet-name>
<url-pattern>/index</url-pattern>
</servlet-mapping>
Run Code Online (Sandbox Code Playgroud)
但它没有用,当跟踪代码时它永远不会到达servlet类.另外我试图像这个链接一样使用ServletContextListener ,但我遇到了同样的问题.
监听代码:
public class ServletListener implements ServletContextListener{
@Override
public void contextInitialized(ServletContextEvent sce) {
throw new UnsupportedOperationException("Not supported yet.");
}
@Override
public void contextDestroyed(ServletContextEvent sce) {
throw new UnsupportedOperationException("Not supported yet.");
}
}
Run Code Online (Sandbox Code Playgroud)
web.xml代码:
<listener>
<listener-class>com.techlabz.listener.ServletListener</listener-class>
</listener>
Run Code Online (Sandbox Code Playgroud)
我不知道做错了什么.
我部署了Tomcat服务器,接收从JSON格式的传感器传输的观察结果.我还有一个传感器描述我想要使用的本体.
但是,我想在服务器接收到任何传感器观察之前加载本体.如何加载Tomcat后如何实例化对象?