有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java如何在web应用程序中添加cookie代码

是否有任何代码可以添加到我的web应用程序中以实现cookie?这正是我在网络上可以做到的。xml和jsp中的可能?我想为登录实现cookies,但我不知道如何实现。有谁能给我具体的说明如何实施它

非常感谢您的帮助和支持

/*

*要更改此许可证标题,请在“项目属性”中选择“许可证标题”。 *要更改此模板文件,请选择工具|模板 *然后在编辑器中打开模板。 */

打包我的服务

import java.io.IOException;  
import java.io.PrintWriter;  

import javax.servlet.RequestDispatcher;  
import javax.servlet.ServletException;  
import javax.servlet.http.HttpServlet;  
import javax.servlet.http.HttpServletRequest;  
import javax.servlet.http.HttpServletResponse;  
import javax.servlet.http.HttpSession;  

import connect_with_my_sql_database.LoginDao;  

导入javax。servlet。http。曲奇

public class Login extends HttpServlet{  

    private static final long serialVersionUID = 1L;  

    protected void doGet(HttpServletRequest request, HttpServletResponse response)    
            throws ServletException, IOException {


    }

  @Override protected void doPost(HttpServletRequest request, HttpServletResponse response)    
            throws ServletException, IOException {    

        response.setContentType("text/html");    
       PrintWriter out = response.getWriter();   

        String n=request.getParameter("j_Username");    
        String p=request.getParameter("j_Password");   

        HttpSession session = request.getSession(false);  
        if(session!=null)  {
             session.setAttribute("Username", n);  
             session.setAttribute("Password", p);  
        }

        if(LoginDao.validate(n, p)){   

            Cookie c1=new Cookie("j_Username",encrypt(n));//the username and passwrd are //encrypted
            Cookie c2=new Cookie("j_Password",encrypt(p));
            c1.setMaxAge(20000);
            c2.setMaxAge(20000);
            response.addCookie(c1);
            response.addCookie(c2);

            RequestDispatcher rd=request.getRequestDispatcher("style/success.jsp"); 
            rd.forward(request,response);    
        }    
        else{  
           //out.print("<p  style=\"color:red\">Sorry "+n+" or "+p+" error</p>");
            RequestDispatcher rd=request.getRequestDispatcher("style/loginError.jsp");    
            rd.forward(request,response);    
        }    


        out.close();    
    }    
}   

共 (1) 个答案

  1. # 1 楼答案

    假设有一个登录名。jsp包含uname和password字段,当我们点击submit时,控件转到LoginCheck servlet。登录检查将检查用户名和密码是否正确。如果是,则创建两个cookie并将其发送到浏览器

    登录。jsp

    <form action="LoginCheck" method="post">
    <input type="text" name="uname">
    <input type="pasword" name="password">
    <input type="submit">
    </form>
    

    登录检查Servlet

    public void doPost(HttpServletRequest request,HttpServletResponse response)
    {
    String uname=request.getParameter("uname");
    String password=request.getParameter("password");
    if(checkLogin(uname,password))//checkLogin going to check with database if the user is logged in
    {
    Cookie c1=new Cookie("uname",encrypt(uname));//the username and passwrd are //encrypted
    Cookie c2=new Cookie("password',encrypt(password));
    c1.setMaxAge(20000);
    c2.setMaxAge(20000);
    response.addCookie(c1);
    response.addCookie(c2);//sends cookies to the browser
    }
    

    希望这有帮助