• Jsp技术


    Jsp技术

    1. Jsp 概述

    • Jsp:Java Server Page

    • Jsp 程序是在传统的HTML文档中插入Java程序段或Jsp标签而形成。(*.jsp)

    • Jsp 是一种实现静态和动态混合编码的技术。

    <%@ page language="java" import="java.util.*" contentType="text/html; charset=utf-8"  pageEncoding="utf-8"%>
    <body>
          <%
             Date d=new Date();
             int h=d.getHours();
             if(h>12) out.print("下午好");
             else out.print("上午好");
          %>
    </body>
    
    <body>
        <% for(int i=0; i<5; i++) { %>
        <!-- Jsp表达式 -->
    		<div style="font-size:<%=20+i%>px">测试JSP</div>
         <% } %>
    </body>
    

    * Jsp 执行过程

    Jsp页面中的HTML标记(静态部分)交给客户端浏览器直接显示。

    服务器端执行<%%>之间的Java程序(动态部分),并把执行结果交给客户端的浏览器显示。

    服务器端还要负责处理相关的Jsp标记,并将有关的处理结果发送到客户的浏览器。

    2. Jsp 脚本元素

    2.1 HTML注释

    ** ** 客户端可见

    2.2 隐藏的注释

    <%-- 注释语句 --%> 客户端不可见

    <%-- 张三编写   日期:  2016.3 --%>
    <script>
           function clickme(){
               alert("你敢点我!");     // js 注释
           }
    </script>
    <!-- 欢迎页面 -->
    <p onclick="clickme()" style="cursor: pointer">点击我</p>
    

    2.3 输出表达式

    <%= 表达式 %>

    <% String s="abcde"; %>
    字符串s= <%=s%>,长度= <%= s.length()%>
    
    

    2.4 全局变量声明

    <%! 变量声明; [声明; ] ... %>

    <body>
      <% i++;  %>
      <p>您是第<%=i%>个访问本站的客户</p>
      <%! int i=0; %>
    </body>
    
    

    2.5 方法声明

    <%! 方法代码 %>

    <body>
      <%! int add(int a,int b)  { 
                  return a+b; 
              } 
       %>
      1+2=<%= add(1,2) %>
    </body>
    

    2.6 类声明

    <%! 类代码 %>

    <body>
        <%! class GF {
            	  String XM;
            	  int AGE;
            	  GF(String xm, int a) { XM=xm; AGE=a; }
            	  String getXM() { return XM;  }
                 }
        %>
        <%GF a=new GF("小明",20);%>
        <%=a.getXM() %>
    </body>
    

    3. Jsp动作组件

    • < jsp:include>:在页面中包含一个文件。

    • < jsp:forward>:把请求转发到另一个新的页面。

    • < jsp:param>:在动作组件中引入参数信息。

    • < jsp:useBean>:寻找或者实例化一个JavaBean。 【JavaBean中使用】

    • < jsp:setProperty>:设置JavaBean的属性。【JavaBean中使用】

    • < jsp:getProperty>:输出某个JavaBean的属性。【JavaBean中使用】

    3.1 jsp:include

    语法格式:

    <jsp:include page="relativeURL"/>
    或
    	<jsp:include page="relativeURL"> 
    		<jsp:param name="参数1"  value="参数1值"/>
    		…
    		<jsp:param name="参数n"  value="参数n值"/>
    	</jsp:include> 
    

    3.2 < jsp:forward>

    语法格式:

    < jsp:forward page="relativeURL"/>
    或
    	< jsp:forward page="relativeURL"> 
    		<jsp:param name=“参数1”  value=“参数1值”/>
    		…
    		<jsp:param name=“参数n”  value=“参数n值”/>
    	</jsp:include> 
    
    

    3.3 < jsp:param>

    • 用于传递参数信息,必须配合< jsp:include>或< jsp:forward>动作组件一起使用。

    语法格式:

     <jsp:param name=“参数” value=“参数值”/>
    

    4. Jsp内置对象

    4.1 request对象

    • request对象中封装了客户端发送过来的所有的请求数据(包括请求头信息,请求方式,客户端ip地址以及请求参数等)。

    • request对象的作用域为一次请求

    4.2 response对象

    • response对象代表服务器对客户端请求的响应

    基本用法:

    void setHeader(String name, String value) 
    
    void sendRedirect(String location) 
    
    4.2.1 response.setHeader()方法
    • 用法1:设置页面自动刷新
    response.setHeader("refresh", "秒数"); 
    
    • 用法2:设置定时跳转页面
    response.setHeader("refresh", "秒数 **;** URL=页面名称") ; 
    
    4.2.2 response.sendRedirect()方法
    • 用法1:请求重定向到新页面(页面跳转
    response.sendRedirect("http://www.wust.edu.cn"); 
    
    • 用法2:跳转时传递数据
    response.sendRedirect("edit.jsp?id=1"); 
    
    4.2.3 redirect和forward方式区别
    jsp:forward response.sendRedirect****()
    效率高,速度快 效率低,速度慢
    地址栏不改变跳转,服务器端跳转,服务器之间内部转 地址栏改变跳转,客户端跳转(其中地址可以是任意的)
    使用forward时,相同的request,依然能保留在下一个页面 客户端跳转,不同的request
    传递参数: <jsp:param name=" " value=" " /> URL传递参数:response.sendRedirect("test.jsp?id=1234")
    无条件立刻跳转,之后的代码不再被执行 所有代码执行完毕之后再跳转
    地址中的"/"代表网站地址,如: http://localhost:8080/Test 地址中的"/"代表服务器地址: http://localhost:8080/

    4.3 session对象

    • session代表服务器与客户端所建立的会话。

      从一个客户端打开浏览器并连接到服务器开始,到客户关闭浏览器离开这个服务器结束,被称为一个会话。

    • 当一个客户首次访问服务器上页面时,服务器将产生一个session对象,同时分配一个String类型的id号。

    • session可以实现在一个会话期间的多页面间的数据共享/传递。

    4.3.1 session基本用法
    • session.setAtrribute(String name, Object value)

      用value来初始化session对象某个属性(name指定)的值;

      如果指定的属性不存在,则新建一个;如果已存在,则更改name属性的值。

    • session.getAtrribute(String name)

      获得由name指定名称的session对象属性的值;

      方法返回Object对象,因此,对返回的对象要用强制转换把得到的对象转换为此对象原来的类型;

      如果属性不存在,返回空值。

    4.4 application对象

    • Web服务器一旦启动,就会自动创建application对象,并一直保持,直到服务器关闭。

    • application对象负责提供应用程序在服务器中运行时的一些全局信息,客户端使用的application对象都是一样的。

    • 在此期间,在任何地方对application对象相关属性的操作,都将影响到其他用户对此的访问。

    • application对象可以实现用户间数据的共享/传递。

    4.4.1 application基本用法

    • application.setAttribute(String name, Object value)

      用value来初始化application对象某个属性(name指定)的值;

      如果指定的属性不存在,则新建一个;如果已存在,则更改name属性的值。

    • application.getAttribute(String name)

      获得由name指定名称的application对象属性的值;

      方法返回Object对象,因此,对返回的对象要用强制转换把得到的对象转换为此对象原来的类型;

      如果属性不存在,返回空值。

    4.5 out对象

    • out对象用来向客户端发送数据(文本级),其内容将是浏览器需要显示的内容。

    • 常用方法:pirnt()

    都说酒是陈的香。
  • 相关阅读:
    逆向入门之路1 关于逆向工程
    EC笔记:第三部分:14、在资源管理类中小心Copying行为
    vuex最简单、最详细的入门文档
    前端加密的几种常见方式
    NAS星云链 入门之从零开发第一个DAPP
    chrome 不支持12px以下字体为题的解决
    input checkbox 多选 验证
    你对javascript的原生操作或者工具了解多少呢?
    ionic2-键盘覆盖输入框和返回键问题解决方案
    ionic2 手风琴效果
  • 原文地址:https://www.cnblogs.com/yihangjou/p/11909148.html
Copyright © 2020-2023  润新知