1.设计一个类,使用Cookie技术实现显示用户上次访问时间的功能。要求如下。 (1)使用IDEA开发工具,创建一个Web项目:VisitTimes+学号,例如 VisitTimes103032021001, (注:项目中涉及的包名自定)。 (2)创建一个LastAccessServlet类,使其继承HttpServlet类并重写该类的doGet() 方法。 (3)在doGet()方法中,使用request.getCookies()得到所有cookie形成的cookie数组, 并进行遍历。 (4)如果遍历过程中找到cookie信息中存在lastAccess属性则输出,否则创建cookie 对象设置值为当前时间并发送给客户端。 (5)cookie的存活时间为1小时,访问当前应用中的所有资源客户端都回送cookie信息。
时间: 2023-06-14 08:08:22 浏览: 325
以下是对应的代码实现:
1. 在IDEA中创建一个名为VisitTimes103032021001的Web项目,并创建一个名为LastAccessServlet的类。
2. 在LastAccessServlet类中重写doGet()方法,实现Cookie技术显示用户上次访问时间的功能。
```java
import java.io.IOException;
import java.io.PrintWriter;
import java.util.Date;
import javax.servlet.ServletException;
import javax.servlet.http.Cookie;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
public class LastAccessServlet extends HttpServlet {
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
response.setContentType("text/html;charset=UTF-8");
PrintWriter out = response.getWriter();
Cookie[] cookies = request.getCookies();
if (cookies != null) {
for (Cookie cookie : cookies) {
if (cookie.getName().equals("lastAccess")) {
String lastAccessTime = cookie.getValue();
out.println("您上次的访问时间是:" + lastAccessTime);
cookie.setValue(new Date().toString());
cookie.setMaxAge(60 * 60); // 设置生存时间为1小时
response.addCookie(cookie);
break;
}
}
}
if (cookies == null || cookies.length == 0) {
Cookie cookie = new Cookie("lastAccess", new Date().toString());
cookie.setMaxAge(60 * 60);
response.addCookie(cookie);
out.println("欢迎首次访问本站!");
}
}
}
```
3. 在web.xml文件中配置servlet和servlet-mapping。
```xml
<web-app>
<servlet>
<servlet-name>LastAccessServlet</servlet-name>
<servlet-class>LastAccessServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>LastAccessServlet</servlet-name>
<url-pattern>/LastAccessServlet</url-pattern>
</servlet-mapping>
</web-app>
```
4. 运行项目,访问http://localhost:8080/VisitTimes103032021001/LastAccessServlet,即可看到效果。第一次访问时输出“欢迎首次访问本站!”,之后每次访问都会显示上次访问时间,并在cookie中记录该时间。
阅读全文