现在做一个项目,前台是显示是用jsp,但是实时数据的获取需要和c++通信.目前想到的方案是在jsp(servlet?)中运行一个线程c++通信,把获取的数据缓存在全局变量中,然后客户端和请求时把数据发送过去.但现在有问题:
1.jsp启动一个线程和c++通信,把获取的数据缓存在全局变量中,请问可以缓存到什么地方比较好?放到全局的javabean,application?
2.如何在jsp中启动一个线程?
3.tomcat在第一次接受到客户端请求的时候会实例化一个对应的类,而且在程序运行期间只有一个类的实例.每次客户端请求的时候在服务器端都发生了什么?
4.如果可以创建这个线程,应该在哪里启动这个线程?能咋jsp的<%%>之间吗?还是一定要在servlet中启动线程?
1.jsp启动一个线程和c++通信,把获取的数据缓存在全局变量中,请问可以缓存到什么地方比较好?放到全局的javabean,application?
2.如何在jsp中启动一个线程?
3.tomcat在第一次接受到客户端请求的时候会实例化一个对应的类,而且在程序运行期间只有一个类的实例.每次客户端请求的时候在服务器端都发生了什么?
4.如果可以创建这个线程,应该在哪里启动这个线程?能咋jsp的<%%>之间吗?还是一定要在servlet中启动线程?
解决方案 »
- 关于Java继承类解惑
- sql语句,大家帮忙解释一下
- hibnater 非hql的exists表示
- hibernate模糊查询条件是中文 但是不能返回值
- hibernate 更新数据 tomcat
- Hibernate中的实体类中的非主键字段,能不能调用oracle的sequence来自动生成序号,然后自动插入数据库
- 大家好!请问一个高难度问题。。。。。
- tomcat下。。请问生成war文件时,如果让访问他的目录为根目录?
- JasperReport的入门问题
- log4j为什么总是把日志输出到tomcat\bin下,而不是我的指定目录,而且我只定目录名前多了log字符
- 哪位大师能告诉我 下面两个用IF 和 WHILE 的区别啊!
- 计算式分解??
不需要webservice的,呵呵虽然看懂了,但是没参与过这个领域,哈。
2.在jsp中启动线程和一般的java中启动线程方法是一样的。但是有可能你的servlet线程已经结束,但是你启动的线程仍然还存在着。
3.服务器在干活。
4.jsp和servlet在容器中运行时最终都是使用servlet技术规范。没有区别。
可能我的问题没有描述清楚
1.数据的生命周期是永久的,就是整个应用程序都得使用
2.原来在servlet里面启动线程后等待的时间好像有点问题,待会儿去修正一下
3.具体点的问题是:客户段请求了以后服务器的执行过程是什么?调用servlet内的哪些方法?执行顺序如何?
4.启动的线程需要在整个应用程序运行期间都有效,怎么样保证被启动的线程有效?补充问题:
5.如何在应用程序启动的时候就启动这个线程,而不用在servlet被访问的时候才启动?
做一个存放数据的缓存类,存数据可以用list或map那个线程主要把数据读出来存入数据缓存类,然后你的jsp只要访问这个数据缓存类就好了
1.如果做一个读取线程的类应该在哪里启动这个线程呢?
2.怎么把存放数据的缓存类设置成全局的?应为这个类要在整个web程序运行期间都执行的
不清楚什么是点共享还是面共享,请指教
<servlet>
<servlet-name>InitServlet</servlet-name>
<servlet-class>
InitServlet
</servlet-class>
<load-on-startup>10</load-on-startup>
</servlet>然后在这个servlet的init()方法里启动这个线程