JSP基础语法

来源:互联网 发布:大华网络摄像机默认ip 编辑:程序博客网 时间:2024/06/01 08:31

1.JSP简介

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

2.常见动态网站开发技术对比

常见动态网站开发技术对比:
Jsp:Java平台,安全性高,适合开发大型的,企业级的Web应用程序。(如:电子银行,网上证券交易所,中国移动网上营业厅,12306)
Asp.net:.Net平台,简单易学。但是安全性以及跨平台性差。(拖拉拽,可视化的组件开发)
Php:简单,高校,成本低开发周期短,特别适合中小型企业的Web应用开发。(其中一个黄金组合 LAMP:Linux + Apache + MySQL + PHP)

3. JSP页面元素简介及page指令

JSP页面常见元素构成,主要是这六个:静态内容、指令、表达式、小脚本、声明、注释。
这里写图片描述
下面页面元素分别从指令依次介绍。
Jsp指令一共有三种,分别是page指令、include指令(包含指令)、taglib指令
这里写图片描述
下面首先来说明一下page指令
这里写图片描述
快捷键alt+/ 出contentType

<%@ page language="java" contentType="text/html; charset=utf-8"     pageEncoding="utf-8"%><!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><html><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8"><title>Insert title here</title></head><body><h1>欢迎大家学习JAVAEE开发!</h1></body></html>

4.JSP注释

1.html注释:<!--htmi注释-->   //客户端可见2.jsp注释:<%--html注释--%>  //客户端不可见3.jsp脚本注释://单行注释      /*段落注释*/        //客户端不可见

5.JSP脚本

在JSP页面中执行java代码

语法格式<%   java 代码%>如<%     out.println("Hello World!");%>

6. JSP声明

jsp声明:定义java方法或者变量。
语法:<%! java代码 %>定义变量或者方法
在<%! %>中声明的变量,是全局变量
在<% %>中声明的变量,是局部变量

<%!    String s="我爱你?";        //定义一个字符串变量    //定义一个方法,返回两数之和    int add(int x,int y){        return x+y;    }%>

7.JSP表达式

jsp用表达试调用jsp申明的函数或者属性
<% = 表达式 %>
表达式后面不需要加“;”号

JSP最终是编译成Servlet来执行的,在编译前会生成一个Java类:
- JSP声明<%! %>会被用来生成成员变量,如int i=i+1; String str = “张三”;
- JSP脚本<% %>会被用来生成JSPService方法里面的方法代码, 包括局部变量声明。
- JSP表达式也会被用来生成”输出到业务“的方法代码,例如out.print(“你好 + str)。

8.JSP页面生命周期

这里写图片描述
如果第一次访问foo.jsp页面,JSP引擎会将该jsp文件转化成一个Servlet(tomcat的work目录下):foo_jsp.java,生成字节码文件foo_jsp.class并执行jspInit()
然后servlet会常驻内存,对于每个请求都创建一个线程,执行jspService()

当用户第一次请求一个jsp页面时,首先被执行的方法是构造方法;
就是转换为class文件后,他会创建一个Servlet的实例,然后调用Servlet的构造方法,再调用jspInit()方法
​(1)JSP引擎先把该JSP文件转换成一个Java源文件(Servlet),在转换时如果发现JSP文件有任何语法错误,转换过程将中断,并向服务端和客户端输出出错信息。
(2)如果转换成功,JSP引擎用javac把该Java源文件编译成相应的class文件。
(3)创建一个该Servlet(JSP页面的转换结果)的实例,该Servlet的jspInit()方法被执行,jspInit()方法在Servlet的生命周期中只被执行一次。
部署启动Tomcat之后在work目录中是不存在该项目的字节码文件,只有在访问之后才会生成;且在修改jsp文件后重新部署启动访问后,该字节码文件也会重新更新。
这里写图片描述
jspInit是一个初始化方法

9.通过两种方式打印99乘法表
一种是表达式调用方法输出,另一种是直接用脚本输出

<%@ page language="java" import="java.util.*" contentType="text/html; charset=utf-8"%><!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><html><head><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"><title>Insert title here</title></head><body><h1>九九乘法表</h1><hr><%!//利用表达式来调用输出九九乘法    String fangfa1(){        String s="";        for(int i=1;i<=9;i++){            for(int j=1;j<=i;j++){                s+=i+"*"+j+"="+i*j+"&nbsp;&nbsp;&nbsp;&nbsp;";//空格            }            s+="<br>";//换行        }    return s;}%><%=fangfa1()%><% out.println(fangfa1()); %>></body></html>
原创粉丝点击