㈠ java web开发,js自动刷新页面过一段时间后页面会崩溃,,,怎么办,,求助大神!!解决了给冲20话费~~
setInterval:
The real delay between func calls for setInterval is less than in the code!
That’s normal, because the time taken by func’s execution “consumes” a part of the interval.
It is possible that func’s execution turns out to be longer than we expected and takes more than 100ms.
In this case the engine waits for func to complete, then checks the scheler and if the time is up, runs it again immediately.
In the edge case, if the function always executes longer than delay ms, then the calls will happen without a pause at all.
setTimeout:
The recursive setTimeout guarantees the fixed delay (here 100ms).
That’s because a new call is planned at the end of the previous one.
举例:
㈡ java web 项目验证码的刷新问题
用js换 img的src就行了啊。
function change(){
document.getElementById("CreateCheckCode").src="PictureCheckCode?"+Math.random();
}
</script>
<img id="CreateCheckCode" src="PictureCheckCode" onclick="change()" />
㈢ 在java的Web开发过程中添加一个全局的定时器,如何处理
那就是所有打开的页面共享数据咯
方案有二:
一、
1.每个页面都添加定时器,
2.然后两秒钟或者5秒钟用ajax访问以下session,
如果session中的值比较小,就写值进去,如果session中的值比较大,就读值出来;这样就保证了每个页面上的计时器共享资源
二、与方案一唯一不同的一点就是,存值进cookie;
他们各有优缺点,
方案一的话:因为要计算请求时间,如果网速不好的话,就会有比较大的误差。
方案二的话:必须的保证用户的cookie没有禁用,而实际上很多用户的cookie都是禁用的。
个人比较喜欢第一种,如果真是没人操作的话,那时间差一些也无关紧要,
又没人看见。而且差的时间是多的,而不是少的,,多给用户一些时间,说不定还能多拉一些用户。
或者直接就不给给网速不好的用户这项功能
再或者判断网速不好的话就存cookie,如果cookie没有开的话,就不管了
个人想法仅供参考
㈣ 在Java中如何设置一个定时任务,在每天的一个时间点自动执行一个特定的程序具体代码怎么写代码全点
Quartz定时机制
首先导入jar包到程序内 quartz-all-1.6.0.jar
然后创建一个XML
TimeConfig.xml 名字可以自己定义
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN"
"http://www.springframework.org/dtd/spring-beans.dtd">
<beans>
<bean id="mainTask" class="net.timed.MainTask"/> //你要执行的任务类
//jar类
<bean id="mainJob" class="org.springframework.scheling.quartz.">
<property name="targetObject">
<ref bean="mainTask"/>//将你的类添加到定时器当中
</property>
<property name="targetMethod">
<value>execute</value> //定时执行类里面的哪个方法
</property>
</bean>
<bean id="timeTrigger" class="org.springframework.scheling.quartz.CronTriggerBean">
<property name="jobDetail">
<ref bean="mainJob"/>
</property>
<!--
0 0 10,14,16 * * ? 每天上午10点,下午2点,4点
0 0/30 9-17 * * ? 朝九晚五工作时间内每半小时
0 0 12 ? * WED 表示每个星期三中午12点
"0 0 12 * * ?" 每天中午12点触发
"0 15 10 ? * *" 每天上午10:15触发
"0 15 10 * * ?" 每天上午10:15触发
"0 15 10 * * ? *" 每天上午10:15触发
"0 15 10 * * ? 2005" 2005年的每天上午10:15触发
"0 * 14 * * ?" 在每天下午2点到下午2:59期间的每1分钟触发
"0 0/5 14 * * ?" 在每天下午2点到下午2:55期间的每5分钟触发
"0 0/5 14,18 * * ?" 在每天下午2点到2:55期间和下午6点到6:55期间的每5分钟触发
"0 0-5 14 * * ?" 在每天下午2点到下午2:05期间的每1分钟触发
"0 10,44 14 ? 3 WED" 每年三月的星期三的下午2:10和2:44触发
"0 15 10 ? * MON-FRI" 周一至周五的上午10:15触发
"0 15 10 15 * ?" 每月15日上午10:15触发
"0 15 10 L * ?" 每月最后一日的上午10:15触发
"0 15 10 ? * 6L" 每月的最后一个星期五上午10:15触发
"0 15 10 ? * 6L 2002-2005" 2002年至2005年的每月的最后一个星期五上午10:15触发
"0 15 10 ? * 6#3" 每月的第三个星期五上午10:15触发
上面这个是quartz的语法 定时单位
-->
<property name="cronExpression">
<value>0 0/5 * * * ?</value> //定时的语法
</property>
</bean>
<bean id="sfb" class="org.springframework.scheling.quartz.SchelerFactoryBean">
<property name="triggers">
<list>
<ref local="timeTrigger"/>
</list>
</property>
</bean>
</beans>
//下面这个类就是我在XML中引入的类
package net.timed;
import java.io.IOException;
import java.text.SimpleDateFormat;
import java.util.Date;
public class MainTask {
public void execute() throws IOException
{
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
System.out.println("do my job"+dateFormat.format(new Date()));
Runtime.getRuntime().exec("cmd /c start E:/mbl/BusinessOffice/MoneDB/bin/bakup.bat");
}
}
然后在web.xml中把这个TimeConfig.xml添加进去作为监听
系统启动的时候自动就监听这个事件
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.5"
xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
<context-param>
<param-name>
contextConfigLocation
</param-name>
<param-value>
/WEB-INF/TimerConfig.xml
</param-value>
</context-param>
<listener>
<listener-class>
org.springframework.web.context.ContextLoaderListener
</listener-class>
</listener>
<welcome-file-list>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>
</web-app>
这个是quartz spring的定时机制 请仔细的看看 如果可以请给分哦
㈤ java在web工程开发中如何实现多线程定时进行一项操作
给你写个大概思路吧
//创建处理房间状态的线程类,去执行改status的操作,操作在run方法里写好
class ChangeRoomStatusProcess extends Thread {...}
//主线程创建线程池,数量自定,当前为5
ScheledExecutorService ses = Executors.newScheledThreadPool(5);
...
ses.shutdown();
//当某个线程将status设置为1以后,设置定时器,30秒后执行ChangeRoomStatusProcess的run方法
ses.schele(new ChangeRoomStatusProcess(), 30000, TimeUnit.MILLISECONDS);
㈥ 我要做一个java web的定时器,需要隔一分钟访问一次数据库,请问大神可以给个类似的Demo我吗
方法一、java定时器Timer
<%
java.util.Timer timer = new java.util.Timer();
timer.schele(new TimerTask() {
public void run() {
try {
ref();//定时刷新的内容/方法,比如数据库查询显示
} catch (Exception e) {
e.printStackTrace();
}
}
}, 0, 60000);//定时器,定时时间1分钟(60000ms)
%>//注意需要导入包:java.util.*;
方法二、网页刷新
在<head>里添加
<meta http-equiv=refresh content="60">
其实还有很多方法可以实现。比如java定时器就很多种方法可以实现。
㈦ java web怎么实现页面定时跳转
直接在html文件头里加入
<meta http-equiv="refresh[刷新-这里指定动作]" content="5[这里是时间];url=/article[这里是跳转的URL]">
注意框内的是注释。
例如:
<meta http-equiv="refresh" content="40;URL=http://www.sobao.com" >
40秒后将自动载入http://www.sobao.com所在的网页。
㈧ 我要做一个java web的定时器,需要隔一分钟访问一次数据库,请问大神可以给个类似的Demo我吗
你想用 js做定时 还是 用后台做,如果后台的话,现在spring有相当完善的定时任务机制,
import org.apache.log4j.*;
public class TaskJob {
public static Logger log = Logger
.getLogger(TaskJob.class);
public void SayHello() {
//
TODO Auto-generated method stub
try
{
log.info("处理任务开始>........");
// 业务逻辑代码调用
System.out.println("时间[" + new
java.util.Date().toLocaleString()
+ "]----->大家好啊!");
log.info("处理任务结束!");
}
catch (Exception e) {
log.error("处理任务出现异常", e);
}
}
}
2.接下来的在spring 里配置:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN"
"http://www.springframework.org/dtd/spring-beans.dtd">
<beans>
<bean
name="taskJob" class="util.TaskJob" />
<bean
id="methodInvokingJobDetail"
class="org.springframework.scheling.quartz.">
<property name="targetObject">
<ref bean="taskJob" />
</property>
<property name="targetMethod">
<value>SayHello</value>
</property>
</bean>
<!--
配置触发器 -->
<bean
id="cronTrigger"
class="org.springframework.scheling.quartz.CronTriggerBean">
<!--
这里不可以直接在属性jobDetail中引用taskJob,因为他要求的是一个jobDetail类型的对象,所以我们得通过来转一下
-->
<property name="jobDetail">
<ref bean="methodInvokingJobDetail" />
</property>
<!-- 每天的8点到21点每隔1分钟触发,具体说明见附录 -->
<property name="cronExpression">
<value>0 * 08-21 * * ?</value>
</property>
</bean>
<bean
class="org.springframework.scheling.quartz.SchelerFactoryBean">
<!-- 添加触发器 -->
<property name="triggers">
<list>
<ref
local="cronTrigger" />
</list>
</property>
</bean>
</beans>
3.测试执行的类,只要把spring的配置文件加载了就可以看到定时任务运行了。
package util;
import org.springframework.context.ApplicationContext;
import
org.springframework.context.support.;
public class TestApp {
public static void main(String[] args) {
//
TODO Auto-generated method stub
System.out.println("加载spring配置文件....");
ApplicationContext
context = new
("applicationContext.xml");
System.out.println("加载配置文件完毕!");
// ApplicationContext context2
= new
("test/timerTask/quartzTimer.xml");
}
}
如果要在web项目中运行的话还要在web.xml 中加入如下代码:
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>/WEB-INF/classes/applicationContext.xml</param-value>
</context-param>
<context-param>
<param-name>log4jConfigLocation</param-name>
<param-value>/WEB-INF/log4j.properties</param-value>
</context-param>
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
以下是网上摘抄的一些说明:
字段允许值允许的特殊字符
秒 0-59 , - * /
分 0-59 , - * /
小时 0-23 , - * /
日期 1-31 , - * ? / L W C
月份 1-12 或者 JAN-DEC , - * /
星期 1-7 或者 SUN-SAT , - * ? / L C #
年(可选)留空, 1970-2099 , - * /
表达式意义
"0 0 12 * * ?" 每天中午12点触发
"0 15 10 ? * *" 每天上午10:15触发
"0 15 10 * * ?" 每天上午10:15触发
"0 15 10 * * ? *" 每天上午10:15触发
"0 15 10 * * ? 2005" 2005年的每天上午10:15触发
"0 * 14 * * ?" 在每天下午2点到下午2:59期间的每1分钟触发
"0 0/5 14 * * ?" 在每天下午2点到下午2:55期间的每5分钟触发
"0 0/5 14,18 * * ?"
在每天下午2点到2:55期间和下午6点到6:55期间的每5分钟触发
"0 0-5 14 * * ?" 在每天下午2点到下午2:05期间的每1分钟触发
"0 10,44 14 ? 3 WED" 每年三月的星期三的下午2:10和2:44触发
"0 15 10 ? * MON-FRI" 周一至周五的上午10:15触发
"0 15 10 15 * ?" 每月15日上午10:15触发
"0 15 10 L * ?" 每月最后一日的上午10:15触发
"0 15 10 ? * 6L" 每月的最后一个星期五上午10:15触发
"0 15 10 ? * 6L 2002-2005"
2002年至2005年的每月的最后一个星期五上午10:15触发
"0 15 10 ? * 6#3" 每月的第三个星期五上午10:15触发
㈨ java web项目上传一些图片,必须刷新文件夹才能显示图片,如何编写自动刷新代码
图片不会自动显示是不是浏览器缓存问题~?就是譬如两次请求都是同一个地址,但是如果你存储的图片已经更改,但是名字没变,这样浏览器貌似是不会重新发出请求。你可以在请求时候附加一个随机数,
或者你可以再详细描述下,你说的文件夹是在哪里的文件夹,网络上的?~还是本地?你说显示图片是在哪里显示?页面上?还是本地文件夹里面?
㈩ javaWeb:当用户在前台执行了一个动作,提示框提示信息,这个过程如何实现
用ajax做,时间间隔根据需要设定
不知道java有没有像.NET的Remoting技术也可以做,呵呵