您的位置:首页 > Web前端 > JavaScript

jsp基础语法

2015-12-05 16:31 561 查看

1.jsp指令

1)page指令:通常位于jsp页面的顶端,同一个页面可以有多个page指令

page指令语法:

<%@ page 属性1="属性值",属性2="属性值2",...属性n="属性值n"%>

属性 描述 默认值
language
指定jsp页面的脚本语言
java
import通过该属性来引用脚本语言中使用到的类文件
contentType
用来指定jsp页面所采用的的编码方式text/html,

ISO-8859-1
2)include指令:将一个外部文件嵌入到当前的jsp文件中,同时解析这个文件中的jsp语句

3)taglib指令:使用标签库定义新的自定义标签,在jsp页面中启用定制行为。

2.jsp注释

1)HTML注释<!-- html注释-->//客户端可见

2)jsp注释<%-- html注释--%>//客户端不可见

3)jsp脚本注释

//单行注释

/**/多行注释

3.jsp脚本

在jsp页面中执行java代码

<%java代码%>

4.jsp声明

在jsp页面中定义变量或者方法

<%!java代码%>

5.jsp表达式

在jsp页面中执行的表达式

<%=表达式%>//此处的表达式不以分号结束

6.jsp页面的生命周期

用户首先发出请求Index.jsp,服务器判断是否是第一次发出这个请求,如果是第一次的话,jsp引擎把这个jsp文件转化为一个servlet文件,生成字节码文件,并且执行jspInit()方法。(自己可以在myeclipse中发布一个项目后可以在tomcat相应的work目录中查看到该*.jsp.class字节码文件)生成的字节码文件被解释并且执行,调用jspService()方法。如果不是第一次请求的话,就说明字节码文件已经存在就可以解释并执行字节码文件,调用jspService()方法。

7.jsp生命周期

jspService()方法被调用来处理客户端的请求,对于每一个请求,jsp引擎创建一个新的线程来处理该请求,如果有多个客户端同时请求该jsp文件,则jsp引擎会创建多个线程,每个客户端请求对应一个线程。以多线程的方式执行可以大大的降低对系统的资源需求,提高系统的并发量和响应时间,但是也需要注意多线程的同步问题所带来的的困扰,由于该servlet始终存在于内存中,所以响应是特别快的。

语法应用举例:打印99乘法表

<%@ page language="java" import="java.util.*" contentType="text/html; charset=UTF-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<base href="<%=basePath%>">

<title>JSP基本语法应用举例</title>
</head>

<body>

<%!
//返回九九乘法表对应的HTML代码,通过表达式来调用,在页面上显示
String printMultiTable1()
{
String s = "";
for(int i=1;i<=9;i++)
{
for(int j=1;j<=i;j++)
{
s+=i+"*"+j+"="+(i*j)+"    ";
}
s+="<br>"; //追加换行标签
}
return s;
}

//JSP内置out对象,使用脚本方式调用,打印九九乘法表
void printMultiTable2(JspWriter out) throws Exception
{
for(int i=1;i<=9;i++)
{
for(int j=1;j<=i;j++)
{
out.println(i+"*"+j+"="+(i*j)+"    ");
}
out.println("<br>"); //追加换行标签
}
}

%>

<h1>九九乘法表</h1>
<hr>
<%=printMultiTable1()%>
<br>
<% printMultiTable2(out);%>
<br>
</body>
</html>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: