JSP基础语法

JSP简介

  • JSP全名为Java Server Pages(Java服务器端页面),其根本是一个简化的servlet设计,他实现了在Java当中使用HTML标签。JSP是一种动态的网页技术标准也是JavaEE的标准。JSP和Servlet一样,也是在服务器端运行的。

JSP页面元素构成

一、指令

  • page指令,一个jsp页面可以有多个page指令,他有3个最重要的属性
    • 语法 <%@ page 属性1=”属性值1,属性值2” 属性n=”属性值n”%>
    • language 指定JSP页面使用的脚本语言 java
    • import 导入类文件 默认为无
    • contentType 指定JSP页面所采用的编码方式
  • include指令,将一个外部文件嵌入到当前JSP页面中,同时解析这个页面中的JSP语句,在
  • taglib指令,启用标签指令,在使用JSTL时会使用

二、注释

  • html注释
  • JSP注释 <%– 客户端不可见 %–>
  • JSP脚本注释 //客户端不可见 /* 客户端不可见 */

三、声明

  • 在JSP页面中定义变量或者方法
  • 语法 <%! java代码 %>

    <%!
    String s = "张三";
    int add(int x, int y){
    return x + y;
    }
    %>

四、小脚本

  • 在JSP页面中可执行的java代码
  • 语法<% java代码 %>

    <% out.println("大家好,欢迎大家学习JavaEE开发"); %>
    

五、静态资源

六、表达式

  • 在JSP页面中执行的表达式
  • 语法 <%= 表达式 %> 注意表达式不加分号

    你好,<%= s%>
    x + y = <%= add(10,20) %>

JSP的生命周期

JSP生命周期就是从创建到销毁的整个过程,类似于servlet 生命周期,区别在于JSP生命周期还包括将JSP文件编译成servlet

一、编译阶段

  • 当浏览器请求JSP页面时,JSP引擎会首先去检查是否需要编译这个文件。如果这个文件没有被编译过,或者在上次编译后被更改过,则编译这个JSP文件。
    编译的过程包括三个步骤:
    • 解析JSP文件。
    • 将JSP文件转为servlet
    • 编译servlet。
  • 所以我们说jsp的本质上就是servlet,将JSP文件转换为servlet的文件存放在C:\Users\PRO\Desktop\Code.metadata.plugins\org.eclipse.wst.server.core\tmp0\work\Catalina\localhost\jsp_objects\org\apache\jsp,其中C:\Users\PRO\Desktop\Code\是你的工作空间,jsp_objects是你的项目名。
  • 如果用Servlet来生成网页中的动态内容无疑是非常繁琐的工作,另一方面,所有的文本和HTML标签都是硬编码,即使做出微小的修改,都需要进行重新编译。JSP解决了Servlet的这些问题,它是Servlet很好的补充,可以专门用作为用户呈现视图(View),而Servlet作为控制器(Controller)专门负责处理用户请求并转发或重定向到某个页面。

二、初始化阶段,调用_jspInit()方法,只执行一次

三、JSP执行,调用_jspServiece(httpServletRequest request, httpServletResponse response)方法,可执行多次

四、JSP清理阶段,调用jspDestroy()方法

实例:分别使用表达式和脚本打印九九乘法表
  • 使用表达式调用方法打印
<!-- 先定义一个方法 -->
<%!
    String printMultiTabal1(){
        String str = "";
        for (int i = 1; i <= 9; i++) {
            for (int j = 1; j <= i; j++){
                str += i + "*" + j + "=" + i*j + "&nbsp;&nbsp;&nbsp;&nbsp;";
            }
            str += "<br>";
        }
        return str;
    }
%>
<h1>九九乘法表</h1>
<!-- 表达式调用方法 -->
<%=printMultiTabal1() %>
  • 使用脚本方式打印
// 使用JspWriter对象来打印乘法表 脚本方式
void printMultiTabal2(JspWriter out) throws Exception {
    for (int i = 1; i <= 9; i++) {
        for (int j = 1; j <= i; j++){
            out.print(i + "*" + j + "=" + i*j + "&nbsp;&nbsp;&nbsp;&nbsp;");
        }
        out.print("<br>");
    }
}

<!-- 脚本执行代码 -->
<% printMultiTabal2(out); %>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值