要求:
手动实现一个servlet,要求用户去访问这个servlet的时候,user每次在browser刷新都可以看到服务器当前的时间。
提示:要往用户浏览器输出语句,目前可以在service里调用如下代码:
public void service(ServletRequest req, ServletResponse res) {
System.out.println("hello,servlet!");
res.getWriter().println("hello,world");
}
体会这种方式去实现servlet跟静态页面有何区别。
实现:
1.前提是创建一个Servlet项目
代码:
@WebServlet("/time")
public class ShowTime extends GenericServlet{
@Override
public void service(ServletRequest servletRequest, ServletResponse servletResponse) throws IOException {
//格式化时间 yyyy-MM-dd HH:mm:ss
SimpleDateFormat t = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
//获得ServletContext对象。
//一个WEB应用中的所有Servlet共享同一个ServletContext对象,
// 因此Servlet对象之间可以通过ServletContext对象来实现通讯
ServletContext servletContext = getServletContext();
//用来存储一个对象,也可以称之为存储一个域属性
//域属性名称为key,域属性的值为t.format(new Date()
servletContext.setAttribute("key",t.format(new Date()));
servletResponse.getWriter().println(servletContext.getAttribute("key"));
}
}
结果: