servlet自动刷新页面(比赛文字直播)

来源:互联网 发布:java ee 路径 编辑:程序博客网 时间:2024/05/23 01:17

java老师只留下一个servlet名词就叫全班人写程序。经过一个晚上加一个上午终于部署好了开发环境,并编写了一个自动刷新页面的程序,主要还是参考菜鸟教程。

(一)首先要下好java的JDK和安装好eclipse。

(二)下载Tomcat,到Tomcat官网,找到下载,版本是


然后直接解压到一个盘中:


(三)在解压到的文件夹的lib文件夹找到servlet-api,把它复制到java安装目录JRE下的lib中。

(四)在Eclipse编写代码:

如果提示类似错误“Access restriction: The type 'HttpServlet' is not API (restriction on required library 'D:\JAVA\JRE\lib\ext\servlet-api.jar')”

根据stackoverflow,解决方法如下:

1、右键.java文件,选择build path

2、点击configure build path 进入设置界面,找到java build path,找到library

3、删除(Remove)JRE System Library

4、重新添加JRE System Library(ps如果想在命令行编译java文件需要点击add external jar,添加servlet-api.jar)

package servletRefresh;//导入必需的 java 库import java.io.*;import javax.servlet.*;import javax.servlet.http.*;import java.util.*;public class Refresh extends HttpServlet {// 处理 GET 方法请求的方法public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {// 设置刷新自动加载的事件间隔为 15 秒response.setIntHeader("Refresh", 15);// 设置响应内容类型response.setContentType("text/html;charset=gb2312");Scanner s = null;Scanner i = null;PrintWriter pw = null;s = new Scanner(new File("D:/apache-tomcat-8.0.29/webapps/ROOT/Test/number.txt"));String strLine = s.nextLine();i = new Scanner(strLine);int num1 = i.nextInt();int num2 = i.nextInt();// 获取当前的时间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";elseam_pm = "PM";String CT = hour + ":" + minute + ":" + second + " " + am_pm;PrintWriter out = response.getWriter();String title = "程序猿vs程序媛";out.println("<html>\n" + "<head><title>" + title + "</title></head>\n" + "<body bgcolor=\"#f0f0f0\">\n"+ "<h1 align=\"center\">" + title + "</h1>\n" + "<p align=\"center\">当前时间是:" + CT + "</p>\n" + "<p align=\"center\">猿队:媛队 " + num1 + ":"+ num2 + "</p>\n");//获取,并显示比赛状况while (s.hasNextLine()) {String strline = s.nextLine();out.println("<p align=\"center\">" + strline + "</p>\n");}i.close();s.close();}// 处理 POST 方法请求的方法public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {doGet(request, response);}}
(五)编译后,在项目文件夹bin里面找到包文件夹,将它复制到 安装Tomcat的盘\apache-tomcat-8.0.29\webapps\ROOT\WEB-INF\classes里面

(六)修改 安装Tomcat\apache-tomcat-8.0.29\webapps\ROOT\WEB-INF\里面的web文件

简单解释一下:

<servlet-name>是这个servlet的名字。

<servlet-class>class文件的所在位置,servletRefresh是我们刚刚复制到classes里面的文件夹(包)。

<url-pattern>就是匹配的url(输入的网址)。


(七)在命令行运行:

set PATH=D:\JAVA\SDK\bin;%PATH%

set JAVA_HOME=D:\JAVA\SDK

D:\apache-tomcat-8.0.29\bin\startup.bat

(八)输入网址localhost:8080/Refresh就可以运行应用了。

---------------------------以上就是配置环境,启动应用的一般步骤了----------------------

(九)实现了赛事直播,就是在一个名为number文档文件(路径是D:\apache-tomcat-8.0.29\webapps\ROOT\Test)输入比分和赛事状况,页面每十五秒更新一次,把文档里的内容显示到页面上。



0 0
原创粉丝点击