jsp基础语法

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>

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值