您的位置:首页 > 其它

Servlet同一用户的不同页面共享数据

2013-10-24 22:20 429 查看
(1) 表单(隐藏表单)

//发送端


public void doGet(HttpServletRequest req,HttpServletResponse res){

        res.setContentType("text/html;charset=UTF-8");//中文乱码

        String s="MAN";

        try {

            PrintWriter pw = res.getWriter();

            pw.println("<html>");

            pw.println("<body>");

            pw.println("<h1>登陆界面</h1>");

            pw.println("<form action=loginCl mothod=post>");//使用url

            pw.println("用户名:<input type=text name=username> <br>");

            pw.println("密码:<input type=password name=passwd> <br>");

            //隐藏表单传递数据

            pw.println("<input type=hidden name=sex value=" + s +"><br>")    

            pw.println("<input type=submit value=login><br>");  //login要跳转的url(xml里配置的)

            pw.println("</body>");

            pw.println("</html>");

        } catch (IOException e) { }    

    }


//接收端


public void doGet(HttpServletRequest req,HttpServletResponse res){

        //接收用户名和密码

        try {

            String u = req.getParameter("username");

            String p = req.getParameter("passwd");

            String s = req.getParameter("sex");//接收隐藏表单数据

        }catch (IOException e) {}    

    }


(2)sendRedirect转向

//发送端

public void doGet(HttpServletRequest req,HttpServletResponse res){

        //接收用户名和密码

        try {

                // sendRedirect()转向  使不同页面共享数据

                res.sendRedirect("wel?uname="+u +"&pass="+p);//写上要跳转的url(xml里配置的)

        }catch (IOException e) {

            // TODO Auto-generated catch block

            e.printStackTrace();

        }    

    }


//接收端

public void doGet(HttpServletRequest req,HttpServletResponse res){

        //通过sendRedirect从logincl中知得到用户名密码

        String u = req.getParameter("uname");

        String p = req.getParameter("pass");

    }


(3)Session

//创建Session


public void doGet(HttpServletRequest req,HttpServletResponse res){

        //接收用户名和密码

        try {

            String u = req.getParameter("username");

            String p = req.getParameter("passwd");

            if(u.equals("aaa")&&p.equals("123")){

                //将用户名放入session中

                HttpSession hs=req.getSession(true);//得到session

                hs.setMaxInactiveInterval(30);//修改session存在的时间(秒)

                hs.setAttribute("uname", u);//添加session

                res.sendRedirect("wel");

            }else{

                 res.sendRedirect("login");

            }

        }catch (IOException e) {}    

    }


//得到Session元素

public void doGet(HttpServletRequest req,HttpServletResponse res){

        HttpSession hs = req.getSession(true);//得到session

        String sessionId = hs.getId();//得到session Id

        //从session获取登陆属性

        String myname = (String)hs.getAttribute("uname");

        if(myname == null){ //非法登录(直接联接wel)

            try {

                res.sendRedirect("login");

            } catch (IOException e) {    e.printStackTrace();}

        }

        //hs.removeAttribute("uname"); // 清除session中的pass属性

        //hs.setMaxInactiveInterval(0); //清除session所有内容

        PrintWriter pw;

        try {

            pw = res.getWriter();

            pw.println("welcome  " + myname);    

            pw.println("session ID  " + sessionId);

        } catch (IOException e) {    e.printStackTrace();}

    }


(4)Cookie

//创建Cookie


public void doGet(HttpServletRequest req,HttpServletResponse res){

        //接收用户名和密码

        try {

            String u = req.getParameter("username");

            String p = req.getParameter("passwd");

            String keep = req.getParameter("keep");

            if(u.equals("aaa")&&p.equals("123")){

                if(keep != null){

                    Cookie name = new Cookie("myname",u);//创建Cookie

                    Cookie pass = new Cookie("mypasswd",p);//创建Cookie

                    name.setMaxAge(10);//设置Cookie时间(秒)

                    pass.setMaxAge(10);//不设置时生存期到关闭浏览器为止

                    res.addCookie(name);//回写到客户端

                    res.addCookie(pass);//回写到客户端

                }

                res.sendRedirect("wel");//写上要跳转的url(xml里配置的)

            }else{

                res.sendRedirect("login");

            }

        }catch (IOException e) {e.printStackTrace();}    

    }


//获取Cookie

public void doGet(HttpServletRequest req,HttpServletResponse res){

        try {

            Cookie [] allCookies=req.getCookies();//得到所有Cookie信息

            int i=0;  

            String name = "";  

            String passwd = "";

            if(allCookies != null){

                for(i=0;i<allCookies.length;i++){

                    Cookie temp = allCookies[i];//依次取出cookie

                    if(temp.getName().equals("myname")){

                        name = temp.getValue();

                    }else if(temp.getName().equals("mypasswd")){

                        passwd = temp.getValue();

                    }

                }

            }

//            if(!name.equals("")&&!passwd.equals("")){//到loginCl去验证一下

//              res.sendRedirect("loginCl?user="+name +"&pwd="+passwd);

//                return;

//            }

            PrintWriter pw = res.getWriter();

            pw.println("welcome!" + name);    

        } catch (IOException e) {e.printStackTrace();}

    }
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息