JSP入门之JSP语法

系列文章目录

JSP入门之JSP语法

目录

一、JSP页面的基本结构

二、声明变量和定义方法

1.声明变量

三、Java程序片

1.用syncchronized方法修饰成员变量

四、Java表达式

五、JSP中的注释

1.HTML注释

1.JSP注释

六、JSP指令标记

1.page指令标记

2.include指令标记

七、JSP动作标记

1.include动作标记

2.param动作标记

3.forward动作标记

总结


一、JSP页面的基本结构

在传统的HTML页面文件中加入Java程序片和JSP标记就构成了一个JSP页面。一个JSP页面可由5中元素组合而成:

①普通的HTML标记和JavaScript标记(<script   />)

②JSP标记,如指令标记、动作标记(<%@   %>)

③变量和方法的声明(<%!   %>)

④Java程序片(<%   %>)

⑤Java表达式(<%=   %>)

二、声明变量和定义方法

1.声明变量

<%!  %>之间声明的变量在整个JSP页面内都有效,与<%!  %>标记符在JSP页面中所在的书写位置无关。Tomcat服务器将JSP页面转译成Java文件时将<%!  %>标记符之间声明的变量作为类的成员变量,这些变量占有的内存空间知道Tomcat服务器关闭才释放。

代码如下(示例):

<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
    <title>Title</title>
</head>
<body bgcolor="yellow">
<%! int i = 0;
%>
<%  i++;
%>
<p style = "font-family:宋体;font-size:36px;color:green">
    您是第<%= i%>个访问本站的用户。
</p>
</body>
</html>

2.定义方法和类

代码如下(示例):

<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
    <title>Title</title>
</head>
<body bgcolor="yellow">
<p style = "font-family:宋体;font-size:36px;color:green">
    <%! double multi(double x, double y){
            return x * y;
        }
        double div(double x, double y){
            return x / y;
        }
        class Circle{
            double r;
            double getArea(){
                return 3.1415926 * r * r;
            }
        }
    %>
    <%  double x = 8;
        double y = 16;
        out.print("调用multi方法计算" + x + "与" + y + "的积:<br>");
        out.print(multi(x, y));
        out.print("<br>调用div方法计算" + x + "除以" + y + "的商:<br>");
        out.print(div(x, y));
        String s = String.format("小数点保留3位:%10.3f",div(x, y));
        out.println(s);
        Circle circle = new Circle();
        circle.r = 3.6;
        out.print("<br>半径是" + circle.r + "的圆面积:" + circle.getArea());
    %>
</p>
</body>
</html>

三、Java程序片

可以在<%  %>之间插入Java程序片。在程序片中声明的变量称作JSP页面的局部变量。局部变量的有效范围与其声明的位置有关,即局部变量在JSP页面后继的所有程序片以及表达式部分内都有效。Tomcat服务器将JSP页面转译成Java文件时,将各个程序片的这些变量作为类中某个方法的变量,即局部变量。

1.用syncchronized方法修饰成员变量

代码如下(示例):

<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
    <title>Title</title>
</head>
<body bgcolor="yellow">
<p style = "font-family:宋体;font-size:36px;color:green">
    <%!  int count = 0;
        synchronized void setCount(){
            count++;
        }
    %>
    <%  setCount();
        out.println("您是第" + count + "个访问本站的客户");
    %>
</p>
</body>
</html>

四、Java表达式

可以在<%=   %>之间插入一个可求值的表达式(注意:不可插入语句)。表达式的值由服务器端负责计算,并将计算结果用字符串形式发送到用户端显示。

代码如下(示例):

<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
    <title>Title</title>
</head>
<body bgcolor="yellow">
<%  int x = 12, y = 9;
%>
<p style = "font-family:宋体;font-size:36px;color:green">
    计算表达式x+y+x%y,即<%= x%> + <%= y%> + <%= x%> % <%= y%>的值:<%= x+y+x%y%>
    <br>计算表达式x>y,即<%= x%> > <%= y%>的值<%= x > y%>
    <br>计算表达式sin(<%= Math.PI / 2%>)的值:<%= Math.sin(Math.PI / 2)%>
    <br>
    <% if(x - y >= 0){
    %>
        如果<%= x%>大于<%= y%>,计算<%= x%> - <%= y%>即
        <%= x - y%>的平方根%>
        <%= Math.sqrt(x - y)%>
    <%
        }
    %>
</p>
</body>
</html>

五、JSP中的注释

1.HTML注释

<!--注释内容-->,JSP引擎把HTML注释交给用户,因此用户可以通过浏览器查看JSP页面的源文件时,能够看到HTML注释。

1.JSP注释

<%--注释内容-->,Tomcat服务器忽略JSP注释,即在编译JSP页面时忽略JSP注释。

六、JSP指令标记

1.page指令标记

page指令用来定义整个JSP页面的一些属性和这些属性的值,属性值用单引号或双引号括起来。

page指令的作用对整个JSP页面有效,与其书写位置无关。

①contentType属性

<%@ page contentType = "text/html"%>

通过设置contentType属性的值让浏览器可以使用相应的解析器来解析JSP页面。

如果不使用page指令为contentType指定一个值,那么contentType属性默认值时"text/html"。JSP页面使用的page指令只能为contentType设置一个值,不允许两次使用page指令给contentType属性指定不同的值。

contentType的附加属性charset的值时通知用户浏览器用怎样的编码解析收到的字符。

②pageEncoding属性

<%@ page pageEncoding = "utf-8"%>

pageEncoding属性的默认值是UTF-8。需要注意的是,和contentType的附加属性charset的值意义不同,pageEncoding属性值是定义JSP页面使用的编码,即是告诉Tomcat服务器解析器用怎样的编码解析JSP页面中的字符。

③language属性

<%@ page language = "java"%>

language属性定义JSP页面使用的脚本语言,该属性的值目前只能取"java".

langueage属性的默认值是"java",即如果在JSP页面中没有使用page指令指定该属性的值,那么JSP默认language的值为默认值。

④import属性

<%@ page import = "java.util.*"%>

import属性的作用是为JSP页面引入Java运行环境提供的包中的类,这样就可以在JSP页面的程序片部分、变量及方法定义部分以及表达式部分使用包中的类。

⑤session属性

session属性用于设置是否需要使用内置的session对象。session的属性值可以是true或false。seeion属性的默认值是true。

⑥buffer属性

<%@ page buffer = "24kb"%>

buffer属性用来指定out设置的缓冲区的大小或不适用缓冲区。buffer属性的默认值是8kb。buffer属性可以取值"none",即设置out不使用缓冲区.

⑦autoFlush属性

autoFlush属性指定out的缓冲区被填满是,缓冲区是否自动刷新。autoFlush可以取值true或false。autoFlush属性的默认值是true。当autoFlush属性取值false时,如果out的缓冲区填满,就会出现缓存溢出异常。当buffer的值时"none"时,autoFlush的值就不能设置成false。

⑧isThreadSafe属性

isThreadSafe属性用来设置访问JSP页面是否线程安全。isTreadSafe的属性值可取true或false。当isThreadSafe属性值设置为true时,JSP页面能同时响应多个用户的请求;当isThreadSafe属性值设置成false时,JSP页面同一时刻只能响应一个用户的请求,其他用户必须排队等待。isThreadSafe属性的默认值时true。

⑨info属性

<%@ page info = "常用的字符串"%>

info属性的属性值是一个字符串,其目的是为JSP页面准备一个常用但可能要经常修改的字符串。

2.include指令标记

<%@ include file = "文件的URL"%>

如果需要在JSP页面内某处整体嵌入一个文件,就可以考虑使用include指令标记。

include指令标记采用的是静态嵌入,所谓静态嵌入,就是当前JSP页面和嵌入的文件合并成一个新的JSP页面,然后Tomcat服务器再将这个新的JSP页面转译成Java文件。需要注意的是嵌入的文件的contentTpye的值要与当前JSP页面的contentType的值相同。

七、JSP动作标记

1.include动作标记

<jsp:include page = "文件的URL">

        param 子标记

</jsp:include>

需要注意的是,当include动作标记不需要param子标记时,必须要去掉param子标记。

当Tomcat服务器根据JSP页面生成Java文件时,不把JSP页面中动作指令include所包含的文件与原JSP页面合并为一个新的JSP页面,而是告诉Java解释器,这个文件在JSP运行时才包含进来。include动作标记实在JSP页面运行时才处理文件,被处理的文件在逻辑和语法上独立于当前JSP页面。

2.param动作标记

<jsp:param name = "参数" value = "参数的值"/>

param标记以"名字-值"对的形式为其他标记提供附加信息,param标记不能独立使用,须作为jsp:include、jsp:forward标记的子标记来使用。

3.forward动作标记

<jsp:forward page = "要转向的页面">

        param 子标记

</jsp:forward>

forward指令的作用是:从该指令处停止当前页面的执行,而转向执行page属性指定的JSP页面。需要注意的是,当forward动作标记不需要param子标记时,必须要去掉param子标记。

需要注意的是,当前页面使用forward动作标记转向后,尽管用户看到了转向后的页面的效果,但浏览器地址栏中显示的仍然十四转向前的JSP页面的URL地址。

总结

以上就是今天要讲的内容,本文仅仅简单介绍了JSP语法,大家要想继续深入了解可以去看看zw的博客

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
JSP(Java Server Pages)是一种用于开发动态Web应用程序的Java技术。JSP教材PDF是指一本关于教授JSP编程知识的电子书,通常以PDF格式提供。以下是关于JSP教材PDF的回答。 JSP教材PDF对于学习和了解JSP编程语言非常有帮助。它提供了关于JSP基础知识、语法和概念的详细说明,以及如何在Web应用程序中使用JSP开发动态内容的实际示例。 通过阅读JSP教材PDF,学习者可以了解JSP的工作原理、核心概念和基本语法。教材通常以简单易懂的方式解释这些概念,并提供了大量的示例代码和练习题,以帮助读者更好地理解和应用所学的内容。 JSP教材PDF通常涵盖了JSP的各个方面,包括JSP标签、表达式、脚本元素、内建的JSP对象、JSP指令、JSP动作和JSTL(JSP标准标签库)等。教材还可能涉及与数据库的连接、数据检索和处理、会话管理、错误处理和JSP安全等相关主题。 对于初学者来说,JSP教材PDF是入门JSP编程的一种理想方式。它提供了系统化的学习资源,帮助学习者逐步掌握JSP编程的基础知识和技巧。同时,对于有经验的开发人员来说,教材也可以作为参考手册,供他们查阅和深入研究特定主题。 总而言之,JSP教材PDF对于学习JSP编程是非常有益的。它提供了深入浅出的学习材料,帮助学习者掌握JSP的基本概念和技术,并通过示例和练习引导他们进一步应用所学的知识。无论是初学者还是有经验的开发人员,阅读JSP教材PDF都有助于提升他们的JSP编程技能。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值