2021-01-19

目录

一、session(服务端)与Cookie(客户端)

1.cookie

(1)Servlet Cookie 方法

(2)具体演示

2.session

(1)定义

(2)session方法

(3)示例

二、JSP 文件上传

1.下载与配置


 


 


一、session(服务端)与Cookie(客户端)

1.cookie

(1)Servlet Cookie 方法

  • public Cookie(String name,String value)
  • String getName():获取name
  • String getValue():获取value
  • void setMaxAge(int expiry);最大有效期 (秒)
  • void setValue(String newValue);设置 cookie 的值

(2)具体演示

    服务端准备Cookie:response.addCookie(Cookie cookie)
    页面跳转(转发,重定向)
    客户端获取cookie:  request.getCookies();

  • 服务端代码
        <%
            //服务端
            Cookie cookie1 = new Cookie("name","qqq");
            Cookie cookie2 = new Cookie("pwd","qqq");

            response.addCookie(cookie1);
            response.addCookie(cookie2);

            // 页面跳转到客户端(转发、重定向)
            response.sendRedirect("result.jsp");
        %>
  • 客户端代码
        <%
            // 客户端
            Cookie[] cookies = request.getCookies();
            for(Cookie cookie:cookies){
                out.print(cookie.getName()+"--"+cookie.getValue()+"<br/>");
            }
        %>

 

 

2.session

(1)定义

  • a. session存储在服务端
  • b. session是在 同一个用户(客户)请求时 共享
  • c. 实现机制:第一次客户请求时 产生一个sessionid 并复制给 cookie的jsessionid 然后发给客户端。最终 通过session的sessionid-cookie的jsessionid

(2)session方法

  • String getId() :获取sessionId  
  • boolean isNew() :判断是否是 新用户(第一次访问)
  • void invalidate():使session失效  (退出登录、注销)
  • Object getAttribute(String name):返回session对象中与指定名称绑定的对象,如果不存在则返回null
  • void setMaxInactiveInterval(秒) :设置最大有效 非活动时间 
  • object getMaxInactiveInterval():获取最大有效 非活动时间 

(3)示例

  • 代码演示
<body>
    <form action="check.jsp" method="post">
        用户名:<input type="text" name="uname" ><br/>
        密码:<input type="password" name="upwd" /><br/>
        <input type="submit" value="登陆" /><br/>
    </form>
</body>
<body>
        <%
            request.setCharacterEncoding("utf-8");
            String name = request.getParameter("uname");
            String pwd = request.getParameter("upwd");

            if(name.equals("qqq") && pwd.equals("abc")){
                //只有登录成功,session才会存在uname、upwd
                session.setAttribute("uname",name);
                session.setAttribute("upwd",pwd);
                //session.setMaxInactiveInterval(10);

                request.getRequestDispatcher("welcome.jsp").forward(request,response);
            } else {
                // 登录失败
                response.sendRedirect("login.jsp");

            }
        %>
</body>
<body>
    欢迎您:
        <%
            String name = (String) session.getAttribute("uname");
            // 如果用户没有登录,而是直接通过地址栏访问welcome.jsp,则必然获取到的name是null
            // 如果么有登录,应该跳转登录页面
            if(name != null){
                out.print(name);
            } else {
                response.sendRedirect("login.jsp");
            }
        %>
</body>

运行结果

二、JSP 文件上传

1.下载与配置

  • 下载commons-fileupload.jar组件

在maven中下载

 

  • 下载commons-io.jar

引入两个jar

编写index.jsp,代码如下

  <body>
      <form action="UploadServe" method="post" entype="multipart/form-data">
        学号:<input name="sno"/><br/>
        姓名:<input name="sname"/><br/>
        上传照片:<input type="file" name="spicture"/><br/>
        <input type="submit" value="注册"/>
      </form>
  </body>

创建Servlet

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值