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";
else
am_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)输入比分和赛事状况,页面每十五秒更新一次,把文档里的内容显示到页面上。