博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Servlet自动刷新页面
阅读量:6220 次
发布时间:2019-06-21

本文共 2094 字,大约阅读时间需要 6 分钟。

以下内容引用自:

假设一个Web页面,显示了现场比赛得分或股票市场状况或货币兑换率。对于所有这些类型的页面,都需要使用浏览器中的Refresh或Reload按钮来定期刷新Web页面。

Java Servlet提供一个机制使这项工作变得简单,可以使得Web页面在给定的时间间隔自动刷新。

刷新一个Web页面最简单的方式是使用响应对象的方法setIntHeader()。以下是这种方法的特征:

public void setIntHeader(String header, int headerValue)

此方法将头信息“Refresh”和一个表示时间间隔的整数值(以秒为单位)发送回浏览器。

一、自动刷新页面实例

这个例子演示了Servlet如何使用setIntHeader()方法设置Refresh头信息,实现自动刷新页面。

// Import required java librariesimport java.io.*;import javax.servlet.*;import javax.servlet.http.*;import java.util.*;// Extend HttpServlet classpublic class Refresh extends HttpServlet {  // Method to handle GET method request.  public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException  {      // Set refresh, autoload time as 5 seconds      response.setIntHeader("Refresh", 5);      // Set response content type      response.setContentType("text/html");      // Get current time      Calendar calendar = new GregorianCalendar();      String am_pm;      int hour = calendar.get(Calendar.HOUR);      int minute = calendar.get(Calendar.MINUTE);      int second = calendar.get(Calendar.SECOND);      if(calendar.get(Calendar.AM_PM) == 0)        am_pm = "AM";      else        am_pm = "PM";       String CT = hour+":"+ minute +":"+ second +" "+ am_pm;         PrintWriter out = response.getWriter();      String title = "Auto Page Refresh using Servlet";      String docType =      "\n";      out.println(docType +        "\n" +        "" + title + "\n"+        "\n" +        "

" + title + "

\n" + "

Current Time is: " + CT + "

\n"); } // Method to handle POST method request. public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { doGet(request, response); }}

现在编译上述Servlet并在web.xml文件中创建以下条目:

.... 
Refresh
Refresh
Refresh
/Refresh
....

现在使用URL http://localhost:8080/Refresh来调用这个Servlet。这将会每隔5秒钟显示一次当前系统时间,如下所示。运行该Servlet并等着看结果:

 

测试工程:

==>如有问题,请联系我:easonjim#163.com,或者下方发表评论。<==

转载地址:http://yvlja.baihongyu.com/

你可能感兴趣的文章
被误解的MVC和被神化的MVVM
查看>>
DevOps日常:别人家的运维这样过
查看>>
中台之上(一):重视业务架构,不要让“业务的归业务、技术的归技术”
查看>>
通过Visual Studio为Linux编写C++代码
查看>>
利用Apache Spark SQL和DataFrames扩展关系数据库
查看>>
Netflix 混沌工程手册 Part 3:实践方法
查看>>
2018年开源状况:代码贡献超310亿行,而漏洞超16000个
查看>>
Java初学者如何能够把知识深入贯彻
查看>>
仅售99美元!英伟达发布最小AI计算机Jetson Nano
查看>>
写守护进程时, 需要fork两次吗?
查看>>
方面和服务,差别大吗?
查看>>
Go现在接受来自GitHub PR的补丁
查看>>
JetBrains发布WebStorm 2016.2,改进对TypeScript和React的支持
查看>>
国内首例:飞步无人卡车携手中国邮政、德邦投入日常运营
查看>>
深入理解浏览器的缓存机制
查看>>
7道常见的数据分析面试题
查看>>
《反脆弱边缘:反脆弱实践》访谈
查看>>
敏捷世界里中层经理的角色
查看>>
微服务现状综述
查看>>
使用试验和数据创新并构建客户真正使用的产品
查看>>