标题:servlet程序。。。高手进
只看楼主
xy701215
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2009-10-12
结帖率:0
已结贴  问题点数:20 回复次数:9 
servlet程序。。。高手进
麻烦高手帮我看下~~~~
      编写一个名为Greeting的Servlet程序:能根据用户访问服务器的时间给出不同的问候语:0—8时输出“早上好”,8—12时输出“上午好”,12—18时输出“下午好”,18—24时输出“晚上好”。

   
搜索更多相关主题的帖子: servlet 
2009-10-12 09:59
流星雨
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:JAVA风暴
等 级:版主
威 望:43
帖 子:1851
专家分:1858
注 册:2004-5-30
得分:6 
没时间帮你写,这个很简单,给你个思路,写个线程,里边获取系统时间。0—8时输出“早上好”,8—12时输出“上午好”,12—18时输出“下午好”,18—24时输出“晚上好”。 可以利用线程的休眠来控制它的输出间隔时间!
 

感谢你们带我找到星空下美丽神话,无论经历多少苦痛也不放弃的梦;插上希望翅膀乘风我和你们飞翔,飞过海天尽头携手把梦想实现.....
2009-10-14 19:24
流星雨
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:JAVA风暴
等 级:版主
威 望:43
帖 子:1851
专家分:1858
注 册:2004-5-30
得分:0 
抽了点时间给你写了,但没时间测。
每隔有分钟输出一次,你自己可以改。
public class Greeting extends HttpServlet {
 
    public void init() throws ServletException {
        new Thread(new GreetingThread(), "==>GreetingThread<==").start();
    }
 
    public class GreetingThread implements Runnable {
        public void run() {
 
            while (true) {
                try {
                    doWork();
                    Thread.sleep(60000);
                } catch (InterruptedException ex) {
 
                } catch (Exception e) {
 
                    e.printStackTrace();
                }
            }
        }
 
        public void doWork() {
            Date zero = null;
            Date eight = null;
            Date sixteen = null;
            Date twentyFour = null;
            Date now = null;
            Timestamp nowTime = new Timestamp(System.currentTimeMillis());
            DateFormat allTimeFormat = new SimpleDateFormat("HH:mm:ss.SSS");
            //Date allTime = null;
            try {
                zero = allTimeFormat.parse("00:00:00.000");
                eight = allTimeFormat.parse("08:00:00.000");
                sixteen = allTimeFormat.parse("16:00:00.000");
                twentyFour = allTimeFormat.parse("24:00:00.000");
                now = allTimeFormat.parse(allTimeFormat.format(nowTime));
            } catch (Exception e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
            if (now.after(zero) && now.before(eight)) {
                System.out.println("早");
            } else if (now.before(sixteen)) {
                System.out.println("中");
            } else if (now.before(sixteen)) {
                System.out.println("下");
            } else {
                System.out.println("晚");
            }
        }
 
    }
 
       }
}

感谢你们带我找到星空下美丽神话,无论经历多少苦痛也不放弃的梦;插上希望翅膀乘风我和你们飞翔,飞过海天尽头携手把梦想实现.....
2009-10-15 16:32
流星雨
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:JAVA风暴
等 级:版主
威 望:43
帖 子:1851
专家分:1858
注 册:2004-5-30
得分:0 
你也不回来看看。。。。不管你了。

感谢你们带我找到星空下美丽神话,无论经历多少苦痛也不放弃的梦;插上希望翅膀乘风我和你们飞翔,飞过海天尽头携手把梦想实现.....
2009-10-15 19:00
sasarcc
Rank: 1
等 级:新手上路
帖 子:1
专家分:7
注 册:2009-10-16
得分:6 
不错
2009-10-16 20:51
柠檬可乐
Rank: 4
等 级:业余侠客
威 望:6
帖 子:66
专家分:205
注 册:2009-6-16
得分:6 
看不懂啊
2009-10-17 12:53
liutao83126
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2009-10-28
得分:0 
像这个问题叫我做我就用Timer做,每隔5分钟执行一次,取系统时间判断...
2009-10-28 10:26
liutao83126
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2009-10-28
得分:0 
有点借鉴价值,收下了
2009-10-28 10:26
baifenghan
Rank: 8Rank: 8
等 级:贵宾
威 望:10
帖 子:258
专家分:952
注 册:2006-3-17
得分:0 
写的很棒,但是用个线程似乎有点把问题弄大了,毕竟线程不是什么好主,轻易还是。。。
2009-11-03 21:51
xy701215
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2009-10-12
得分:0 
流星雨,谢谢你拉。。不过不是我不回来看,而且我写好了。不过我其实要的是获取到客户端的时间,比如你来访问我的服务器,我要获取的是你的时间而不是我服务器的时间。。
2009-11-10 16:15



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-288214-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.023849 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved