servlet使用cookie记录页面访问或者登录次数



servlet使用cookie记录页面访问或者登录次数

这是我写的默认首页IndexServlet.java,在这里只需要看cookie部分即可,其他的代码是另外的用途
package web;
import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.http.Cookie;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
public class IndexServlet extends HttpServlet {
Cookie cookie = null;
void addcookie(Cookie cookie1){
if(cookie!=null&&cookie1.getName().equals(cookie.getName()))//这里一定要加cookie!=null,否则会抛出空指针异常错误
cookie.setValue(Integer.toString(Integer.parseInt(cookie.getValue())+1));
}
@Override
protected void doGet(HttpServletRequest request,
HttpServletResponse response) throws ServletException, IOException {
HttpSession session=request.getSession();
String username=(String)session.getAttribute(“username”);
String password=(String)session.getAttribute(“password”);

Cookie[] cookies = request.getCookies();
if (cookies != null){
for (int i = 0; i < cookies.length; i++){
if (cookies[i].getName().equals(“VisitTimes”)){
addcookie(cookie);
break;
}
}//end for
}//end if
if (cookie == null){
int maxAge=10000;
cookie = new Cookie(“VisitTimes”,”0″);
cookie.setPath(request.getContextPath());
cookie.setMaxAge(maxAge);
response.addCookie(cookie);
}//end if
response.setContentType(“text/html;charset=gb2312″);
java.io.PrintWriter out = response.getWriter( );
out.println(“<html>”);
out.println(“<head>”);
out.println(“<title>首页</title>”);
out.println(“</head>”);
out.println(“<body>”);
out.println(“<form action=’CheckServlet’ >”);
if(null==username||null==password){//如果session里面username为空,则显示如下
out.println(“”);
out.println(“用户名:<input type=text name=username>”);
out.println(“密码:<input type=password name=password>”);
out.println(“<input type=submit value=登录”);
out.println(“input type=reset value=重置”);
}

else if(username != null && username.equals(“guest”)
&& password != null && password.equals(“guest”))
{
out.println(“您已经登录了 “+cookie.getValue( )+”次<br>”);
}
else{
out.println(“<h3 style=’color:red;’>您输入的信息有误!</h3>”);
out.println(“用户名:<input type=text name=username>”);
out.println(“密码:<input type=password name=password>”);
out.println(“<input type=submit value=登录”);
out.println(“input type=reset value=重置”);
}
out.println(“</form>”);
out.println(“</body>”);
out.println(“</html>”);
}
@Override
protected void doPost(HttpServletRequest request,
HttpServletResponse response) throws ServletException, IOException {
doGet(request,response);
}
}