zoukankan      html  css  js  c++  java
  • jsp(2)

    JavaBean简单介绍
            JavaBeans就是符合某种特定的规范的java类,使用Javabeans的优点是解决代码反复编写,
            降低代码冗余,功能区分明白,提高了代码的维护性
      JSP动作元素
         JSP动作元素,动作元素为请求处理阶段提供信息。动作元素遵循XML元素的语法,有一个包括元素名
         的開始标签,能够有属性、可选的内容、与開始标签匹配的结束标签。


       jsp动作标签
        <jsp:useBeans>
        作用:在jsp页面中实例化或者在指定范围内使用javabean:
        <jsp:useBean id = "标识符" class = "java类名" scope = “作用范围”/>
        <jsp:setProperty>
        作用:给已经实例化的JavaBean对象的属性赋值,一共同拥有四种形式
        <jsp:getProperty>
        作用:获取指定JavaBean对象的属性值
        Javabean的四个作用域范围
        说明:使用useBeans的scope属性能够用来指定javabean的作用范围
        page 仅在当前页面有效
        request 能够通过HttpRequest.getAttribute()方法取得javaBean对象
        session 能够通过HttpSession.getAttribute()方法取得JavaBean对象
        application 能够通过application.getAttribute()方法取得javabean对象

    JSP状态管理
       http协议的无状态性
         无状态是指,当浏览器发送请求给server的时候,server响应client请求。
         可是当同一个浏览器再次发送请求给server的时候,server并不知道它就是
         刚才那个浏览器
         简单的说。就是server不会去记得你。所以就是无状态协议
      保存用户状态的两大机制
        Session、Cookie
        Cookie是Webserver保存在client的一系列文本
        Cookie的作用
          对特定对象的追踪
          保存用户网页浏览记录与习惯
          简化登录
          安全风险:很easy泄露用户的信息
       JSP中Cookie的使用
       创建: Cookie newCookie = new Cookie(String key,Object value);
       写入: response.addCookie(newCookie);
       读取: Cookie[] cookies = request.getCookies();
       经常用法
         void setMaxAge(int expiry) 设置cookie的有效期,秒为单位
         void setValue(String value) 在cookie创建后。对cookie进行赋值
         String getName() 获取cookie的名称
         String getValue() 获取cookie的值
         int getMaxAge() 获取cookie的有效时间。秒为单位

         案例:

     <%
          request.setCharacterEncoding("utf-8");
           String[] isUseCookies = request.getParameterValues("isUseCookie");
           if(isUseCookies!=null&&isUseCookies.length>0){
             //这样做能够解决cookie中不能保存中文的问题
              String username = URLEncoder.encode(request.getParameter("username"),"utf-8");
    	  String password = URLEncoder.encode(request.getParameter("password"),"utf-8");
    	  Cookie usernameCookie = new Cookie("username",username);
    	  Cookie passwordCookie = new Cookie("password",password);
    	  usernameCookie.setMaxAge(864000);
    	  passwordCookie.setMaxAge(864000);
    	  response.addCookie(usernameCookie);
    	  response.addCookie(passwordCookie);
           }else{
              Cookie[] cookies = request.getCookies();
    	  if(cookies != null &&cookies.length > 0){
    	  for(Cookie c : cookie){
    	    if(c.getName().equals("username")||c.getName().equals("password")){
    	       c.setMaxAge(0);
    	       response.addCookie(c);
    	    }
    	  }
    	  }
           }
           %>

    Session与Cookie的对照
       session在server端保存用户信息
       cookie在client保存用户信息
       session中保存的是Object类型
       cookie中保存的是String类型
       session会随会话的结束而将其存储的数据销毁
       cookie能够长期保存在client
       session经常使用于保存重要的信息
       cookie保存不重要的用户信息
     
     指令与动作
        include指令
           语法:<%@include file="URL"%>
        forward动作
          <jsp:forward page="URL"/>
          等同于
            request.getRequestDispatcher("/url").forward(request,response);
       param动作
           <jsp:param name="參数名" value="參数值">
           经常与<jsp:forward>一起使用,作为其的子标签


  • 相关阅读:
    「系统集成方案」智慧工地
    「Django」学习之路,持续更改
    「Django」与mysql8连接的若干问题
    「Python」socket指南
    「Python」35个知识点
    「CSS」文本编排相关的CSS属性设置
    「CSS」css基础
    bWAPP----HTML Injection
    bWAPP----HTML Injection
    bWAPP----HTML Injection
  • 原文地址:https://www.cnblogs.com/zhchoutai/p/7356873.html
Copyright © 2011-2022 走看看