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

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



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Java Servlet中,自动装配注解是一种简化配置的方式,它可以帮助我们自动Servlet类与相应的URL进行映射,从而实现请求的处理。在Java Servlet规范中,有两个主要的自动装配注解:@WebServlet和@WebServlet。 1. @WebServlet注解: @WebServlet注解用于将一个Servlet类与一个或多个URL模式进行映射。它的语法如下: ``` @WebServlet(urlPatterns = {"/url1", "/url2"}) public class MyServlet extends HttpServlet { // Servlet的具体实现 } ``` 在上面的例子中,MyServlet类被映射到了两个URL模式:/url1和/url2。当请求匹配到这两个URL模式时,容器会自动调用MyServlet的相应方法来处理请求。 2. @WebServlet注解的属性: - urlPatterns:指定一个或多个URL模式,用于将Servlet类与URL进行映射。 - value:与urlPatterns属性作用相同,用于指定URL模式。 - name:指定Servlet的名称。 - description:对Servlet的描述信息。 - initParams:指定Servlet的初始化参数。 - asyncSupported:指定Servlet是否支持异步处理,默认为false。 3. @WebServlet注解的使用注意事项: - @WebServlet注解可以放在Servlet类的定义上,也可以放在配置类或者其他类上,以便在应用程序启动时自动注册Servlet。 - 如果一个Servlet类没有使用@WebServlet注解进行映射,也没有在web.xml中进行配置,那么它将无法被容器自动装配。 自动装配注解的使用可以简化Servlet的配置,提高开发效率。但需要注意的是,自动装配注解只在Servlet 3.0及以上版本中才可用。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值