Java 创建Servlet Cookies

Java 创建Servlet Cookies,java,http,class,servlets,cookies,Java,Http,Class,Servlets,Cookies,我对servlets还比较陌生,目前正在努力添加cookies。我相信这是我所采用的模块化方法的结果,我构建了一个header实用程序类,该类只需将所有header信息插入servlet,因此我希望采用与添加cookie相同的方法 我还有一个crediential validator类,它不包括用户名和密码,对其进行验证,然后返回有效/无效响应。我相信问题就在这里。在将用户名和密码传递给凭证验证器的登录表单中,我将表单操作作为post定向到凭证servlet和表单方法 如果我想将一个值从表单发送

我对servlets还比较陌生,目前正在努力添加cookies。我相信这是我所采用的模块化方法的结果,我构建了一个header实用程序类,该类只需将所有header信息插入servlet,因此我希望采用与添加cookie相同的方法

我还有一个crediential validator类,它不包括用户名和密码,对其进行验证,然后返回有效/无效响应。我相信问题就在这里。在将用户名和密码传递给凭证验证器的登录表单中,我将表单操作作为post定向到凭证servlet和表单方法

如果我想将一个值从表单发送到另一个servlet,这样做会带来一个问题,或者是这样吗

对于学校来说,这个项目的目标是严格使用servlet创建一个简单的网站,然后我们可以使用JSP来减轻痛苦

我是否应该考虑另一种方法?当使用表单操作和方法时,是否可以让这些类在表单上执行各种函数

谢谢你的帮助和指导

最好的
E

您需要在HttpServletResponse中使用addCookie。我建议手头有java文档,这样您就可以看到servlet可用的内容。)

您可以将请求发送到一个servlet,然后在需要时将请求转发到另一个servlet

在您的情况下,在验证之后,您可以将结果存储在一个属性中,然后将控制权转移到另一个servlet。(如果你想这么做的话)

这就是如何处理饼干

创建并发送cookies

Cookie userCookie = new Cookie("name", "value");
userCookie.setMaxAge(60*60*24*365); //Store cookie for 1 year
response.addCookie(userCookie);
从客户端读取cookie

String cookieName = "somecookie";
Cookie[] cookies = request.getCookies();
if (cookies != null) 
{
    for(int i=0; i<cookies.length; i++) 
    {
        Cookie cookie = cookies[i];
        if (cookieName.equals(cookie.getName())) 
        {
            doSomethingWith(cookie.getValue());
        }
    }
}
else
{
    //do something else for firsttime visitors 
}   

虽然迟到了,谢谢你的回复。这很有帮助。同样,也很有帮助。谢谢你抽出时间。
String cookieName = "somecookie";
Cookie[] cookies = request.getCookies();
if (cookies != null) 
{
    for(int i=0; i<cookies.length; i++) 
    {
        Cookie cookie = cookies[i];
        if (cookieName.equals(cookie.getName())) 
        {
            doSomethingWith(cookie.getValue());
        }
    }
}
else
{
    //do something else for firsttime visitors 
}   
HttpSession session = request.getSession();
session.setAttribute("username",username);
In other pages,
if(session.getAttribute("username")==null)
{
//forward to login page.
}