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

    一、jsp介绍:

      jsp是servlet的一种包装。是html+js+css+servlet。

      jsp文件无需配置,如果修改了jsp文件不需要reload应用。

      jsp访问方法:直接访问文件名.jsp文件

      jsp是一种动态网页技术。

    二、语法:

      注释:<%-- --%>

      1、指令元素:

        (1)page指令:

            

               

                <%@ page language="java" contentType="text/html; charset=ISO-8859-1"  pageEncoding="ISO-8859-1"%>

            (2)include指令:

                用法:<%@include file="filename" %>

      2、脚本元素:

         

        (1)表达式:

            java片段:

             <%=100%>

            <%= %> //相当于out.println()

        (2)声明:

          <%! int i=90;%>

          声明变量:

            <%! public int i;%>

          声明函数:

            <%! public int info(){} %>

        (3) 动作元素:

          跳转元素:<jsp:forward page="/he.jsp"></jsp:forward>

          动态引入:<jsp:include file=''></jsp:include>

          与静态引入区别:静态引入是将两个jsp文件翻译成一个servlet,所以被引入的文件不要包含<body><html>等标签。

                但动态引入不同,把两个jsp文件分别编译,所以被引入的可以包含<html>等标签。

      3、开发规范:开发的jsp页面不能放在web-root下,而是应该放到web-inf文件夹下去(Tomcat会对web-inf文件夹进行保护)因此用一个入口页面的                         jsp:forward方法来访问。 

    三、jsp的编译指令:

      1、page指令:

          

      2、include指令:

        <%@include file="" %>

       用于静态引用其他的文件。

    四、动作指令:

      1、jsp:forward :用于执行页面跳转。

    五、jsp九大内置对象:

      1、application 是javax.servlet.ServletContext的实例。

        

      2、config:用得少,可以不用了解。

      3、exception:

      4、out:javax.servlet.jsp.JspWriter()的实例,代表jsp页面的输出流。

      5、request:HttpServletRequest的实例。

        

    1 getparameter(String paramatername) //获取其中一个参数的值
    2 getParameterMap()  //获取所有的参数的键值对

      

    1 getRequestDispatcher("/a.jsp").include(request,response) //将a.jsp页面include到本页面
    2 
    3 getRequestDispatcher("/a.jsp").forward(request,response) //将本页面请求forward到a.jsp页面,执行跳转操作

      6、response:HttpServletResponse的实例。

         (1)执行重定向操作:

            一般情况下重定向操作是在控制器中执行的。

            sendRedirect(String path)

         (2)增加cookie信息:

            

     1 //服务器端代码

     2 Cookie c=new Cookie("cookiename",name); //新建cookie,名字,值

     3 c.setMaxAge(24*3600);
     4 response.addCookie(c);
     5 
    6 //客户端代码 7 8 //获取浏览器访问访问服务器时传递过来的cookie数组 9 Cookie[] cookies = request.getCookies(); 10 //如果用户是第一次访问,那么得到的cookies将是null 11 if (cookies!=null) { 12 out.write("您上次访问的时间是:"); 13 for (int i = 0; i < cookies.length; i++) { 14 Cookie cookie = cookies[i]; 15 if (cookie.getName().equals("lastAccessTime")) { 16 Long lastAccessTime =Long.parseLong(cookie.getValue()); 17 Date date = new Date(lastAccessTime); 18 out.write(date.toLocaleString()); 19 } 20 } 21 }else { 22 out.write("这是您第一次访问本站!"); 23 }

      7、session:HttpSession的实例,代表了一次会话。

        (1)一次会话:指客户端浏览器连接服务器开始,到客户端浏览器与服务器断开连接为止,就是一次会话。

        (2) 1 常用方法:

    2 setAttribute(String name,Object value)

    3 getAttribute(String name) 

           (3)注意:

              session存在的目的主要是说为了保存与用户会话状态相关的信息。如果仅仅为了两个页面之间交换信息的话,可以将数据保存在request中进行传递。

              而且要求session的属性值必须是序列化的对象,否则保存会出现错误。

       

  • 相关阅读:
    51 Nod 1086 多重背包问题(单调队列优化)
    51 Nod 1086 多重背包问题(二进制优化)
    51 Nod 1085 01背包问题
    poj 2559 Largest Rectangle(单调栈)
    51 Nod 1089 最长回文子串(Manacher算法)
    51 Nod N的阶乘的长度 (斯特林近似)
    51 Nod 1134 最长递增子序列(经典问题回顾)
    51 Nod 1020 逆序排列
    PCA-主成分分析(Principal components analysis)
    Python中cPickle
  • 原文地址:https://www.cnblogs.com/monty12/p/9215647.html
Copyright © 2011-2022 走看看