zoukankan      html  css  js  c++  java
  • JSP

    一、JSP简介

    在HTML中嵌入Java脚本代码,由应用服务器中的JSP引擎来编译和执行嵌入的Java脚本代码,然后将生成的整个页面信息返回给客户端;

    一个JSP页面包含:静态内容(HTML静态文本),JSP指令,JSP脚本元素和内置对象,JSP动作,用户自定义标签

    1)脚本程序

    脚本程序可以包含任意量的Java语句、变量、方法或表达式,只要它们在脚本语言中是有效的。

    语法格式

    <% Java代码 %>

    与其等价的XML语句

    <jsp:scriptlet>
        // Java代码...
    <jsp:scrilptlet>

    2)JSP声明

    一个声明语句可以声明一个或多个变量、方法,供后面的Java代码使用。JSP中变量和方法必须声明后才能使用

    声明语法格式:在页面中定义Java代码

    <%! // Java代码... %>

    与其等价的XML语句

    <jsp:declaration>
        // Java代码...
    </jsp:declaration>

    3)JSP表达式

    表达式元素中可以包含任何符合Java语言规范的表达式

    一个JSP表达式中包含的脚本语言表达式,先被转化成String,然后插入到表达式出现的地方。

    语法格式:对数据的显示,系统将其作为一个值进行计算和显示

    <%= Java表达式/变量 %>

    与其等价的XML语句

    <jsp:expression>
       // Java表达式/变量
    </jsp:expression>

    4)JSP注释

    为代码作注释以及将某段代码注释掉。
    ● HTML的注释<!--    这是注释,但客户端可以查看到 -->
    
    ● JSP注释<%--    这也是注释,客户端无法查看到 --%>
    
    ● 在JSP脚本中的注释<%    //单行注释 %> <%    /*多行注释/* %>

    5)JSP指令

    用来设置与整个JSP页面相关的属性

    语法格式:<%@ directive attribute="value" %>
    指令 描述
    <%@ page ...%>
    定义页面的依赖属性,比如脚本语言、error页面、缓存需求等
    <%@ include ...%>
    包含其他文件
    <%@ taglib ...%>
    引入标签库的定义,可以是自定义标签

    6)中文编码问题

    如果我们要在页面正常显示中文,我们需要在 JSP 文件头部添加以下代码:

    <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>

    7)路径跳转问题

    在 jsp 里面经常会有跳转,就涉及到绝对路径和相对路径问题。

    绝对路径一般表示一般都使用绝对路径

    • "./" 表示的是当前目录
    • "../" 表示上一级目录,"../../" 表示的是上级目录的上级目录
    • 客户端绝对路径:http://主机名:端口号/
    • 服务器端绝对路径:http://主机名:端口号/项目名

    8)JSP行为

    JSP行为标签使用XML语法结构来控制servlet引擎

    它能够动态插入一个文件,重用JavaBean组件,引导用户去另一个页面,为Java插件产生相关的HTML等等

    语法格式:它严格遵守XML标准

    <jsp:action_name attribute="value" />
    语法 描述
    jsp:include 用于在当前页面中包含静态或动态资源
    jsp:useBean 寻找和初始化一个JavaBean组件
    jsp:setProperty 设置 JavaBean组件的值
    jsp:getProperty 将 JavaBean组件的值插入到 output中
    jsp:forward 从一个JSP文件向另一个文件传递一个包含用户请求的request对象
    jsp:plugin 用于在生成的HTML页面中包含Applet和JavaBean对象
    jsp:element 动态创建一个XML元素
    jsp:attribute 定义动态创建的XML元素的属性
    jsp:body 定义动态创建的XML元素的主体
    jsp:text 用于封装模板数据

    二、JSP隐含(内置)对象

    JSP支持九个自动定义的变量,称之为隐含(内置)对象

    对象 描述 作用
    request HttpServletRequest类的实例 封装了来自客户端、浏览器的各种信息
    response HttpServletResponse类的实例 封装了服务器的相应信息
    out PrintWriter类的实例 用于向客户端、浏览器输出数据
    session HttpSession类的实例 用来保存会话信息。即可以实现在同一个用户的不同请求之间共享数据
    application ServletContext类的实例 代表了当前应用程序的上下文。可以在不同的用户之间共享信息
    config ServletConfig类的实例 封装类应用程序的配置信息
    pageContext PageContext类的实例 提供了对JSP页面所有对象以及命名空间的访问
    page 类似于Java类中的this关键字 指向了当前JSP程序本身
    exception Exception类的实例 封装了JSP程序执行过程中发生的异常和信息错误

    三、控制流程语句

    JSP提供对Java语言的全面支持。可以在JSP程序中使用Java API甚至建立Java代码块,包括判断和循环语句等。

    1)判断语句if...else ,switch...case

    <% if (day == 1 | day == 7) { %>
          <p>今天是周末</p>
    <% } else { %>
          <p>今天不是周末</p>
    <% } %>
        
    <% 
        switch(x) {
            case 1: code... break;
            case 2: code... break;
            case 3: code... break;
            default: code;
        }
    %>

    2)循环语句for,while,do...while

    <%for ( 语法表达式 ){ %>
       code...
    <%}%>
        
    <%while ( 语法表达式 ){ %>
        code...
        <%循环控制语句%>
    <%}%>
  • 相关阅读:
    CC2431 代码分析⑦
    CC2431 代码分析 ⑤
    CC2431 代码分析⑥
    CC2431 代码分析④-衣锦还乡的CC2431
    基于CC2530/CC2430 的光强采集系统--ADC实验
    Server2012R2 ADFS3.0 The same client browser session has made '6' requests in the last '13'seconds
    Dynamics CRM2013 任务列表添加自定义按钮
    Dynamics CRM 2011/2013 section的隐藏
    Dynamics CRM2013 定制你的系统登录后的首页面
    Dynamics CRM EntityCollection 根据实体中的某个字段为依据去除重复数据
  • 原文地址:https://www.cnblogs.com/Dm920/p/11688822.html
Copyright © 2011-2022 走看看