1.什么是会话(session)

                一个会话就是在一段时间内,一个客户端与Web服务器的一连串的交互过程,同一个session对象的sessionid 相同

2.session对象常用方法

       String getid()     获取sessionid   String id = session.getid();

       void   setMaxInactiveInterval(int interval)   设定session的非活动时间    session.setMaxInactiveInterval(600);  单位是秒

        int  getMaxInactiveInterval()     获取session的有效非活动时间(以秒为单位)    

       void  invalidate()     设置session对象失效

       void   setAttribute(String  key,Object  value)    以key/value的形式保存对象值    session.setAttribute("text","hahaha");

      Object  getAttribute(String  key)      通过key获取对象值   String aa = (String)session.getAttribute("text");

      void   removeAttribute(String   key)      从session中删除指定名称(key)所对应的对象

3.session与窗口的关系

     每个session对象都与一个浏览器窗口对应,重新开启一个浏览器窗口,可以重现建立一个session对象(不同版本浏览器有差别)

     通过超链接打开的新窗口,新窗口的session和其父窗口的session相同

4.session.getAttribute(String key)的返回值是一个Object,必须进行强制类型转换

5.include指令

      简单理解  将两或多个个jsp文件连接输出到同一个页面

      作用和用途:当有一个很多个页面都需要用到的代码,例如登录,就可以写到一个jsp文件中,需要用的时候调用即可

6.application对象

       application实现用户之间的数据共享

       application对象的常用方法

                  void setAttibute(String key,Object value);    以key/value的方法保存对象值      application.setAttibute("text","hahahahah");

                  Object  getAttibute(String  key);   以key获取对象值      application.getAttibute("text");

                  String   getRealPath(String  path);   返回相对路径的真实路径

7.统计网站访问次数

          

          <%
              Integer  count = (Integer)application.getAttribute("count');
              if(count!=null){
                         count = 1 + count;
                }else(
                          count=1;
                  )
                application.setAttribute("count",count);
           %>
          <%
                   Interger  i = (Interger) application.getAttribute("count');
                  out.println("您好,第"+i+"次访问")
           %>

 

           通过set方法改变值,get方法拿到值来实现计数

8.jsp常用的内置对象

                out    用于向客户端输出信息

                request   主要用于处理客户端请求的数据信息

                response   用于响应客户端请求并向客户端输出信息

                session   用于记录会话状态的相关信息

                application    类似于系统的全局变量,用于实现Web应用中的资源共享

9.对象的作用域

           application作用域  对应上下文  及这次服务器的运行

           session作用域   对应一个用户会话    及这个浏览器

           request作用域    对应一次请求

           page作用域    对应一个jsp文件的运行

page作用域:

page作用域指单一JSP页面的范围,page作用域内的对象只能在创建该对象的页面中访问。

page作用域内可以使用pageContext对象的setAttribute()和getAttibute()方法访问具有这种范围类型的对象。

pageContext对象本身也属于page作用域,具有page作用域的对象被绑定到pageContext对象中。

 代码;

 

 

request作用域:

request作用域的对象是与客户端的请求绑定在一起,其作用域的范围要比page作用域的范围大。

注意:

因为request对象对于每次客户端的请求都是不同的,所以对于任何一个新的请求,都要重新创建该作用域内的对象。而当请求结束后,创建的对象也随之失效。

 代码:

 

 

 

session作用域:

JSP容器为每一次会话创建一个session对象。

在会话有效期间内,只要将数据绑定到session中,则该数据可以被本次会话的其他资源所访问。

代码:

 

 

 

 

 

application作用域.

application的作用域则面对整个Web应用程序W,即当服务器启动后就会创建一个application对象,被所有用户共享。

当数据绑定到JSP的application对象中时,在Web应用程序的运行期间,所有的页面都可以访问application作用域的对象。

 代码:

 

 

在不同浏览器中展示的结果:

 

 

 

四个作用域的范围大小:

page作用域<request作用域<session作用域<appliction作用域

10.page作用域指本个jsp页面的范围

                request作用域内的对象则是和客户端的请求绑定在一起

                session作用域  一次会话

                application作用域面对整个Web应用程序

11.对象作用域范围

12.什么是Cookie

cookie是Web服务器保存在客户端的一系列文本信息

13.cookie的作用
      对特定对象的追踪
      实现各种个性化服务
      简化登录
      安全性能
      容易泄露信息
14.在JSP中使用Cookie
        创建cookie
Cookie newCookie = new Cookie(String key, String value);

  写入cookie

response.addCookie(newCookie);

   读取cookie

Cookie[] cookies = request.getCookies();

15.cookie对象常用的方法

 

方法名称

说  明

void setMaxAge(int expiry)

设置cookie的有效期,以秒为单位

void setValue(String value)

在cookie创建后,对cookie进行赋值

String getName()

获取cookie的名称

String getValue()

获取cookie的值

int getMaxAge()

获取cookie的有效时间,以秒为单位

16.cookie和session对比

 

 

 

1.都用于保存用户状态,都会过期
2.session保存在服务器端的内存中,而cookie以文本文件的方式存于客户端
3.session中保存的是Object类型,cookie保存的是String类型
4.session随会话结束将其存储的数据销毁,而cookie可以长期保存在客户端
5.session用于保存重要的信息,cookie用于保存不重要的用户信息
6.cookie中对保存对象的大小是有限制的

 

JSP访问数据库

分层实现

  1. 数据访问层(DAO)
  2. 表示层(JSP)

            非空验证

            提示错误信息并保留用户所填信息

(详细信息在专项专题中具体实现)

JavaBean

优势:

  1. 解决代码重复编写,减少代码冗余
  2. 功能区分明确
  3. 提高代码的维护性

分类:

  1. 封装数据
  2. 封装业务

    javaBean{共有类      无参的构造方法       属性私有    getter和setter方法   }

总结:

 

 

 

 

 posted on 2020-07-21 17:30  中国姑娘F  阅读(123)  评论(0编辑  收藏  举报