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的属性值必须是序列化的对象,否则保存会出现错误。

       

  • 相关阅读:
    网络编程总结
    网络编程进阶---->>> hamc模块 socketserver模块验证合法性 两者进行通信连接
    黏包
    socket概念 套接字
    网络协议
    python之路——网络基础
    模块复习 staticmethod和classmethod的区别
    Dubbo执行流程?
    Dubbo在安全机制方面是如何解决的
    Dubbo中有哪些角色?
  • 原文地址:https://www.cnblogs.com/monty12/p/9215647.html
Copyright © 2011-2022 走看看