jsp中无法定时显示数据,因为没有事件来间隔50秒驱动这个页面,你的out.print( tag ); 只是打印第一次的值;可以使用HTML的定时刷新功能实现,<meta http-equiv="Refresh" content="1000;URL=页面名字">,也不用使用timer了
解决方案 »
- HttpClient下载文件有空格,如何处理?
- Eclipse3.6+tomcat6.0+jdk1.6 页面总是乱码!
- Hibernate operation: could not insert: 急问
- 数据库连接问题
- JavaBean的问题,请帮忙解决一下
- <%@ page import="java.io.*" %> 会页面上生成一个空行,请问怎样去除掉呢?谢谢
- JSP讨论群2347397
- 在Servlet里学文件时,每次写入的文件内容都会追加在原文件后面,如何解决这一问题
- 求书!《Java 与 UML 面向对象程序设计》
- 我的applet前几天还好好的能运行的,怎么今天就不行了呢?
- 菜鸟遇难题,紧急救助
- 偶在用 jsp 的 taglib 的时候,j2sdkee 错误,如何是好?
就可以了
response.setIntHeader("refresh",1);//一秒刷新一次
public void run() {
try{
while(true){
……//监听动态库
Thread.sleep(3000);//三秒一次
}
}catch(Exception e){}
}
加到servlet里面吗?
(2)用线程的话是做成servlet还是javabean呢?
在servlet的service方法里可以直接用,在javabean里只要将response作为参数传进去即可
2.
建议在servlet里使用
implements Runnable
然后写run方法
myJavaBean bean=new myJavaBean();//servlet
<jsp:useBean id="bean" scope="page" class="myPackage.myJavaBean" /><!--jsp-->
这样引用bean.muFunction(response);
然后在myJavaBean里这样写
public void myFunction(javax.servlet.http.HttpServletResponse response) {
response.setIntHeader("Refresh",1);
}
在web.xml里的<web-app>和</web-app>之间加上
<servlet>
<servlet-name>yourservlet</servlet-name>
<servlet-class>yourservlet</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
就会在启动服务器的时候自动加载这个servlet
import java.io.*;
import mis.connectWiz.loadLib;
import javax.servlet.*;
import javax.servlet.http.*;
public class getTag extends HttpServlet implements Runnable
{
Thread th1;
public static String tag;
public void doGet(HttpServletRequest request,
HttpServletResponse response)
throws IOException, ServletException
{
}
public void start()
{
th1 = new Thread( this, "myThread" );
th1.start();
}
public void run()
{
try{
while(true){
loadLib lib = new loadLib();
if ( lib.ConnectMMI() == false )
;
else
{
tag = lib.GetActTagName( "" );
}
Thread.sleep(1000);
}
}catch(Exception e){
e.printStackTrace();
}
}
}
web.xml如下:
<servlet>
<servlet-name>getTag</servlet-name>
<servlet-class>mis.connectWiz.getTag</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>getTag</servlet-name>
<url-pattern>/getTag</url-pattern>
</servlet-mapping>
为什么tomcat启动不起来呢,是不是我写的有问题?(3)我怎么从servlet里判断得到的函数值不为空的话,从而转向另外一个界面呢。拜托,再帮帮忙,账一定结(不行,我再开贴给你加分)!!!
2, <servlet>
<servlet-name>getTag</servlet-name>
<servlet-class>mis.connectWiz.getTag</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>getTag</servlet-name>
<url-pattern>/servlet/getTag</url-pattern>
</servlet-mapping>
3,我也不知道
你在这个servlet里用线程定时监听
public class getTag extends HttpServlet implements Runnable
{
Thread th1;
public static String tag;
public void doGet(HttpServletRequest request,
HttpServletResponse response)
throws IOException, ServletException
{
}
public void doPost( HttpServletRequest request,
HttpServletResponse response )
throws IOException, ServletException
{
doGet( request, response );
if ( !tag.equals( "NULL" ) )
response.sendRedirect( "http://localhost:8080/hj/login/login.jsp" );
}
public void start()
{
th1 = new Thread( this, "myThread" );
th1.start();
}
public void run()
{
try{
while(true){
loadLib lib = new loadLib();
if ( lib.ConnectMMI() == false )
;
else
{
tag = lib.GetActTagName( "" );
}
Thread.sleep(1000);
}
}catch(Exception e){
e.printStackTrace();
}
}
}
但是,我点击...,本应有反应,却没有反应,是不是应该打开一个新的页面,而不是用response.sendRedirect( "" );
还是有其他问题呢?
-->
if(tar!=null)
public class getTag extends HttpServlet implements Runnable
{
Thread th1;
public static String tag;
public void doGet(HttpServletRequest request,
HttpServletResponse response)
throws IOException, ServletException
{
doPost(request,response);
}
public void doPost( HttpServletRequest request,
HttpServletResponse response )
throws IOException, ServletException
{
if (tag!=null)
response.sendRedirect( "http://localhost:8080/hj/login/login.jsp" );
else
response.sendRedirect( "http://localhost:8080/hj/login/unlogin.jsp" );
}
public void start()
{
th1 = new Thread( this, "myThread" );
th1.start();
}
public void run()
{
try{
while(true){
loadLib lib = new loadLib();
if ( lib.ConnectMMI() == false )
;
else
{
tag = lib.GetActTagName( "" );
}
Thread.sleep(1000);
}
}catch(Exception e){
e.printStackTrace();
}
}
}