JSP数据交互(2)

1. application对象:
     void setAttribute(String key,Object value): 以key/value的形式将对象存储到appliction中
     Object getAttribute(String key): 通过key获取application中存储的对象
     String getRealPath(String path): 返回相对路径的真实路径
     
2. 统计访问人数:
    登陆控制页面:
     <%
       Integer count=(Integer)appliction.getAttribute("count");
       if(count!=null){
           count=count+1;
       }else{
           count=1;
       }
       appliction.setAttribute("count",count);
     %>
   统计页面增加:
       <%
          Integer i=(Integer)appliction.getAttribute("count");
          out.printIn("统计访问量"+i+"个人访问过本网站");
       %>
       
3.  对象的作用域:
       page作用域:     指单一JSP页面的范围,只能在创建该对象的页面中访问。在客户端每次请求JSP页面创建,在服务器发送响应或请求转发到其他
       页面或资源后失效,pageCountext对象本身也属于page作用域
       request作用域:    是与客户端请求绑定在一起,其作用域比page作用域的范围要大
       session作用域 :  
       application作用域:  面对整个Web程序,服务器启动后会创建一个application对象,被所有用户共享
       
4.  coolie:
       由服务器端生成,发送给客户端浏览器的,浏览器会将其保存为某个目录下的文本文件
        作用表现:
         对特定的对象追踪
         统计网页的浏览次数
         在cookie有效期内,记录用户登录信息
         实现各种个性化服务
         
5. 在JSP中使用cookie
    5.1创建cookie对象:
           Cookie newCookie=new Cookie(String name,String value);
    5.2写入cookie:
           response.addCookie(newCookie);
           常用方法:
           void setMaxAge(int expiry):设置cookie的有效期,以秒为单位
           void setValue(String value): 在cookie创建后,为cookie赋予新的值
           String getName(): 获取cookie的名称
           String getValue():  获取cookie的值
           int getMaxAge():  获取cookie的有效时间,以秒为单位
           
    5.3读取cookie:
    5.4  cookie与session区别:
           session是在服务器端保存用户信息,cookie是在客户端保存用户信息
           session中保存的值是Object类型,cookie保存的是String类型
           session随会话的结束而将其存储的数据销毁,cookie可以长期保存在客户端
           cookie通常用于保存不重要额用户信息,重要的信息使用session保存
           
           
6.   JSP访问数据库:
           6.1 加载JDBC驱动
           6.2 与数据库建立连接
           6.3 发送SQL语句
           
           
7.   JavaBean:
           实际上是一个Java类,可以重用,功能可分为:封装数据,封装业务
           满足以下要求:
           JavaBean是一个公有类,并提供无参的公有构造方法
                              属性私有
                              具有公有的访问属性的getter,和setter方法

第二章回顾:
1.  内置对象:
        out    用于向客户端输出数据
		request    主要用于处理客户端请求的数据信息
		response   用于响应客户端请求并向客户端输出信息
		session   用于记录会话状态的相关信息
		appliction    类似于系统的全局变量,用于实现Web应用中的资源共享
		page
		pageContext    提供了在JSP运行时访问和其他相关的环境信息的功能,常用方法:
		          ServletRequest():  获取request对象
		          ServletResponse():  获得response对象
		          HttpSession getSession():   获得session对象
		          JspWriter getOut():    获取out对象
		          void setAttribute():   保存属性
		          Object getAttrubute():  获得属性
		          void inclute():   请求指定的资源,并将目标资源的响应结果包含在调用页面的响应中
		config
		exception
2. request如何解析用户表单提交过来的数据
        String name= request.getParameter("userName");
		<form>
		      <input type="text" name="userName"/>
		</form>
		
3. 给request作用域:
        request.setAttribute("key",Object obj);
		List<Student> list=(List<Student>)request.getAttribute();
		
4. 转发和重定向:
        请求次数:
		   重定向2次,转发1次
		   转发相当于服务器内部的一个行为,客户端根本无法感知到这个动作
		URL地址:
		   重定向最终页面,转发中间页面
		数据:
		   重定向不懈怠数据,转发携带数据
		   
5.  response用来对客户端请求做出相应


6.  session技术,一次会话
        session.setAttribute("uname","你好");
		session.setAttribute("uname",user);
		认证通过,客户才有权限访问其他的业务模块 
		
		
7.  注销:
        1. 清空session
		2. 跳转到登陆
		   
8.  include:只能写相对路径
    <%@ include file="xxx.jsp"%>
静态包含
动态包含<jsp:include>
session Loginout
单独抽取一个Loginout.jsp
9. application: 统计网站的访问次数
Object类型不能转成值类型,要转成值类型的包装类

10.作用域:
     pageContext
     request
     session
     application
     
11 cookie:
     实现session基础,cookie保存着sessionid,每次请求都要携带该网站的sessionid
     与server上的sessionid匹配,最终判定用户状态,(登陆的,可以进行后续业务操作)
     
12  cookie的分类:
     会话级别cookie:
     没有设置setMaxAge(60)
     硬盘级别cookie:
     cookie不是内置对象,因为要new
     必须通过response.addCookie(cookie);
     cookie形成在server端,存储在client端

     

<body>
       <form action="/Day03_0100/session/do.jsp" method="post">
        登录名:  <input type="text" name="txtName"/><br/>
          密码:<input type="password" name="txtPwd"/>
          <input type="submit" value="登录"/>
       </form>
  </body>

<%
	//解决乱码
	request.setCharacterEncoding("utf-8");
	String name = request.getParameter("txtName");
	String pwd = request.getParameter("txtPwd");
	if ("1".equals(name) && "1".equals(pwd)) {
		session.setAttribute("txtName", name);
		Cookie cookie = new Cookie("txtName", name);
		Cookie cookiepwd = new Cookie("txtPwd", pwd);
		cookie.setMaxAge(60);
		response.addCookie(cookie);
		response.addCookie(cookiepwd);
		request.getRequestDispatcher("/ssession/success.jsp").forward(
				request, response);
	} else {
		response.sendRedirect("/Day03_0100/session/login.jsp");
	}
%>

 <body>
  
     欢迎您 :<%=session.getAttribute("txtName") %>
      <br/>
   <a href="<%=path %>/session/loginout.jsp">注销</a>
  </body>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值