Jsp的基础语法与指令

一、Java基础语法

1、JSP的简单介绍

JSP全名为Java Server Pages,中文名叫java服务器页面,其根本是一个简化的Servlet设计.JSP 技术是以 Java 语言作为脚本语言的,JSP 网页为整个服务器端的 Java 库单元提供了一个接口来服务于HTTP的应用程序。JSP开发的WEB应用可以跨平台使用,既可以运行在 Linux 上也能运行在 Windows 上。

2、JSP表达式

JSP脚本表达式(expression)用于将程序数据输出到客户端。

JSP脚本表达式用于将程序数据输出到客户端
语法:<%= 变量或者表达式%>  结尾不能有分号

<%= new Date()%>

工作原理:JSP引擎在翻译脚本表达式的时候,会将程序数据转为字符串,并在合适的位置调用out.println()来输出

3、JSP脚本片段

语法:

<%
      多行Java代码(可以定义变量,编写语句(for ,if,while),不可以编写函数)
%>

<%
    int sum=0;
    for(int i=0;i<100;i++){
        sum+=i;
    }
    response.getWriter().println(sum);
%>

注意事项:

    JSP脚本片断中只能出现java代码,不能出现其它模板元素, JSP引擎在翻译JSP页面中,会将JSP脚本片断中的Java代码将被原封不动地放到Servlet的_jspService方法中。
   JSP脚本片断中的Java代码必须严格遵循Java语法,例如,每执行语句后面必须用分号(;)结束。
   在一个JSP页面中可以有多个脚本片断,在两个或多个脚本片断之间可以嵌入文本、HTML标记和其他JSP元素。

多个脚本片段组合:

<%
    for (int i=1; i<5; i++) 
    {
%>
    <H1>哈哈哈哈哈</H1>
<%
    }
%>

4、JSP声明

    jsp页面中的所有代码默认的被翻译到servlet的service的方法中,但是jsp声明中的代码会被翻译到Servlet的_jspService方法的外面

语法:

<%!
    Java代码(可以定义静态代码块,方法,成员变量)
%>

<%!
    static {
        System.out.println("静态代码块");
    }
    private String name="lss";
    public String getName(){
        return name;
    }
%>

二、JSP指令

1、JSP的简单介绍

     在JSP页面中,可以使用JSP指令来指定页面的有关输出方式、引用包、加载文件、缓冲区、出错处理等相关设置,主要作用是用来于JSP引擎之间进行沟通。
常用指令:

--page指令:
     page指令用于定义JSP页面的各种属性,无论page指令出现在JSP页面中的什么地方,它作用的都是整个JSP页面,为了保持程序的可读性和遵循良好的编程习惯,page指令最好是放在整个JSP页面的起始位置
--Include指令
    
include指令用于引入其它JSP页面,如果使用include指令引入了其它JSP页面,那么JSP引擎将把这两个JSP翻译成一个servlet。所以include指令引入通常也称之为静态引入
--taglib指令
  taglib指令的功能是使用标签库定义新的自定义标签,在JSP页面中启用定制行为。

<%@ page contentType="text/html;charset=UTF-8" language="java" import="java.util.Date" pageEncoding="utf-8" %>
<%@ include file="index.jsp"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jstl/core-rt" %>//这个之后会使用到

2、page指令:

 

序号

属性说明
1buffer指定输出流的缓冲模型。
2autoFlush控制servlet输出缓冲区的行为。
3contentType定义字符编码方案。
4errorPage定义另一个报告Java未检查运行时异常的JSP的URL。
5isErrorPage指示此JSP页面是否是由另一个JSP页面的errorPage属性指定的URL。
6extends指定生成的servlet必须扩展的超类。
7import指定JSP中使用的包或类的列表,就像Java的import语句一样。
8info定义可以使用servlet的getServletInfo()方法访问的字符串。
9isThreadSafe定义生成的servlet的线程模型。
10language定义JSP页面中使用的编程语言。
11session指定JSP页面是否参与HTTP会话
12isELIgnored指定JSP页面中的EL表达式是否被忽略。
13isScriptingEnabled确定脚本元素是否被允许使用。

关于page指令可以参考:https://blog.csdn.net/qq_24484085/article/details/77929969

 

2.1 代码实例(使用errorpage指明出错的页面)

<%@ page errorPage="errorPage.jsp" language="java" import="java.util.*" pageEncoding="UTF-8" %>
<html>
<head>
    <title>错误的网页</title>
</head>
<body>
<%
    int i=9/0;
%>
</body>

</html>

<%@ page isErrorPage="true" pageEncoding="UTF-8" %>
<html>
<head><title>很不幸,你出错了</title></head>
<body>
<h1 align="center"> 你出错误啦,哈哈哈</h1>
<%=
   exception.getMessage()
%>
</body>
</html>

 如果某一个jsp页面是作为系统的错误处理页面,那么建议将page指令的isErrorPage属性(默认为false)设置为"true"来显式声明这个Jsp页面是一个错误处理页面

显示的设置 isErrorPage(true)的好处:
    jsp引擎将jsp页面翻译成servlet的时候,在servlet的_jspservice方法中会声明一个 exception对象,然后将运行jsp出错的异常信息存储到exception对象中,这样就可以咋在error.jsp页面中使用。

2.2在web.xml文件中设置整个web应用出错跳转的页面

<error-page>
        <error-code>404</error-code>//指定出错的编码状态
        <location>/jsp/ErrorPage/404Error.jsp</location>
</error-page>

3、include指令

3.1include指令范例

<%@ page pageEncoding="UTF-8" import="java.util.*"%>
<html>
<head><title>jspf组合</title></head>
<body>
    <%@ include file="import/Head.jspf"%>
    <h1>这是我们网站的主要内容哦</h1>
    <%@ include file="import/End.jspf"%>
</body>
</html>

 

<%@ page pageEncoding="UTF-8"  %>
<html>
<head><title>开头</title></head>
<body>
    <h1>这是我们的网页开头哦</h1>
</body>
</html>
<%@ page pageEncoding="UTF-8"  %>
<html>
<head><title>结尾</title></head>
<body>
<h1>这是我们的网页结尾哦</h1>
</body>
</html>

include指令总结:

这里的include指令可以包含任意的文件,只是把别的文件的内容包含到自身的页面中,这种叫做静态包含(只是把内容包含进来不做任何的处理)

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值