相关疑难解决方法(0)

servlet如何工作?实例化,会话,共享变量和多线程

假设,我有一个拥有大量servlet的Web服务器.对于在这些servlet之间传递的信息,我正在设置会话和实例变量.

现在,如果有2个或更多用户向此服务器发送请求,那么会话变量会发生什么?它们对所有用户都是通用的,或者对于每个用户而言都是不同的.如果它们不同,那么服务器如何区分不同的用户?

还有一个类似的问题,如果有n用户访问特定的servlet,那么这个servlet只在第一个用户第一次访问它时实例化,或者是否为所有用户单独实例化?换句话说,实例变量会发生什么?

java multithreading servlets session-variables instance-variables

1105
推荐指数
6
解决办法
28万
查看次数

应用程序启动时启动servlet

我想在加载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)

我不知道做错了什么.

java web.xml servlets servlet-listeners

5
推荐指数
1
解决办法
4060
查看次数

Tomcat启动时实例化对象

我部署了Tomcat服务器,接收从JSON格式的传感器传输的观察结果.我还有一个传感器描述我想要使用的本体.

但是,我想在服务器接收到任何传感器观察之前加载本体.如何加载Tomcat后如何实例化对象?

java jsp tomcat ontology

4
推荐指数
1
解决办法
3262
查看次数