java自学-----jsp语法,指令和脚本标识

Servlet是一种服务器端的Java应用程序,Servlet是客户请求与服务器响应的中间件
Servlet由Web服务器进行加载
HTTPServlet应用编程接口如下 init() 、service()、 doGet() 、doPost() 、destroy()

JSP是HttpServlet的扩展。

JSP在首次被访问的时候被应用服务器转换为Servlet在以后的运行中,容器直接调用这个Servlet,而不再访问JSP页面。 JSP的实质仍然是Servlet。
JSP原始代码中包含JSP元素和Template(模板) data两类
Template data:指的是JSP引擎不处理的部分,即标记<%……%>以外的部分,例如代码中的HTML的内容等,这些数据会直接传送到客户端的浏览器
JSP元素:则是指将由JSP引擎直接处理的部分,这一部分必须符合JSP语法,否则会导致编译错误
JSP语法分为三种不同的类型
1,编译器指令(DIRECTIVE) 有三个指令:page,include和taglib。
  例如:<%@ page import=“java.io.*” %>
<%@ page language="java" contentType="text/html;charset=gb2312" pageEncoding="gb2312"%>让jsp页面支持中文显示
<@taglib uri="URIToTagLibrary" prefix="tagPrefix" %>
用于引入定制标签库
属性    1.uri:一个相对或绝对的路径,或者可以是标签库描述文件
   2.prefix=“tagPrefix”:表示标签在JSP中的名称,以及在自定义标签之前的前缀,比如,在<public:loop>中的public,如果这里不写public,那么这就是不合法的。
  举例:
<%@ taglib prefix="c " uri="http://java.sun.com/jstl/core_rt"%>
<%@ taglib prefix="fmt" uri="http://java.sun.com/jstl/fmt_rt"%>
2,脚本语法(SCRIPTING)
3,动作语法(ACTION)

例如: <jsp:forward>,<jsp:getProperty>,<jsp:include> 插入:html知识
html单标签<br>换行,<hr>水平线
字符引用(指html文档中一些特殊字符的显示)是以‘&’开始,‘;’结束
&lt;为小于号<             &gt;大于号            &amp;为&                &quot;为"   &reg;为已注册符号,即圆圈里一个R  &copy;为版权符号,即圆圈里一个C
&trade;为商标符号,即TM
脚本语法包括
“HTML注释”:<!— comments -->这种注释发送到客户端,但不直接显示,在源代码中可以查看到。
举例:
1.<!-- This file displays the user login screen -->
2.<!--This page was loaded on <%= (new java.util.Date()).toLocaleString() %>  -->
第二种情况,在客户端的源文件中为
<!—This page was loaded on 2009-9-1 18:21:15 -->
“隐藏注释”:<%-- comments --%>不发送到客户端,即客户端源代码中不显示。
“声明”JSP 语法格式如下:
   <%! declaration; [ declaration; ] ... %> 或<%! 声明; [声明; ] ... %>
例如:
<%! int i = 0; %><%! int a, b, c; %><%! Date date; %>

“表达式”
用于在页面上输出信息,语法格式如下:<%= expression %> 或<%= 表达式 %>
例如:<%! Date date=new Date(); %>
<%=date.toString()%> 
“脚本段”
JSP语法格式如下:
  <% code fragment %> 或<% 一段Java代码 %>
编译器指令包括“包含指令”, “页指令”和“taglib指令”
它们包含在“<%@  %>”卷标里。

两个主要的指令是page与include。 include指令:向当前页中插入一个静态文件的内容。
JSP 语法格式如下:
   <%@ include file=“relativeURL”%> 或<%@ include file=“绝对路径" %>
“Page”指令

用于定义JSP文件中的全局属性,“<%@ page %>”指令作用于整个JSP页面,同样包括静态的包含文件。
JSP语法格式如下:
<%@ page
[ language="java" ]
[ extends="package.class" ]
[import="{package.class | package.*},..." ]
[ session="true | false" ]
[ buffer="none | 8kb | sizekb" ] %>
属性:
1.language=“java“:声明脚本语言的种类,目前只能用"java" 。
2. import=“{package.class | package.* },...” 需要导入的Java包的列表,这些包作用于程序段,表达式,以及声明。3. errorPage=“relativeURL”: 设置处理异常事件的JSP文件。
4.isErrorPage=“true | false”: 设置此页是否为出错页,如果被设置为true,你就能使用exception对象 5,isThreadSafe有效值true或false,默认为true,true表示容器允许多个客户端并发访问jsp。 6,pageEncoding 当前页面的字符集。JSP风格的默认字符集为ISO-8859-1,XML风格的默认字符集为UTF-8. page指令使用格式示例:
<%@ page [language = "java"]
         [contentType ="mimeType;charset = CHARSET"]
          [import = "package.class"]
          [session =
          [errorPage = "relativeUrl"]
           [isErrorPage="true/false"]
           ...
%>
<%@ page contentType = "text/html;charset = "gb2312" %>可以支持中文显示
默认的编码为“ISO-8859-1”
errorPage指向出错后要显示的页面的url,但出错页面必须如下:
<%@ page contentType = "text/html;charset = "gb2312" isErrorPage =
" true"%>这样才能用jsp的内置对象exception
include指令的格式
<%@ include file ="文件的相对地址或绝对地址" %>
taglib指令格式
<%@ taglib uri ="tagURI" prefix = "tagPrefix" %>
uri属性指定了jsp要在web.xml文件中查找的标签库描述符,该描述符是一个标签描述文件.tld的映射。指定了每个标签的名字,并为每个标签指定一个标签处理类
前缀命名tagPrefix不能为jsp,jspx,java,javax,sun,servlet,sunw
jsp脚本标识包括:申明标识,jsp表达式,脚本程序
输出jsp表达式值  <%="变量或java表达式或可返回值的方法" %>
申明标识:<%! "申明变量或方法的代码" %>
<%@ page contentType="text/html;charset=gb2312" %>
<%!
    int num=0; 
    synchronized void add(){
       num++;
    }
%>
<% add(); %>
<html>
  <body>
   <center>您是第<%=num%>位访问该页的游客!</center>
  </body>     
</html>

脚本程序即在<% 与%>之间的java代码

你可能感兴趣的:(java,jsp,应用服务器,servlet,脚本)