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

JSP学习笔记

2011-01-04 18:15 162 查看
1.装载时,JSP被转变成Java文件,并且被编译以及装载。而编译只进行一次,所以第一次装载的时候时间会长一点。而在第二次装载的时候它不再需要编译,所以装载速度就回复正常了。当将HTML格式的文件转变成JSP格式的文件,都需要重新编译。
     对于Tomcat而言,JSP页面生成的Java文件放在work路径对应的Web应用下。例如:
      D:/Tomcat5.5/webapps/test/test.jsp
      生成对应的java文件
      D:/Tomcat5.5/work/Standalone/localhost/test/

2.字符系列<%= %>的作用是圈起Java的表达式,这个表达式将在运行的时候被计算,如:
<%= new java.util.Date() %>
3.JSP允许编写Java代码块嵌入到JSP中。具体做法是:将Java代码段放置于<% and %>字符之间。其实跟表达式是一样的,只不过在开始的地方没有等号而已。代码块就是我们熟知的“scriptlet”。如果单单是scriptlet,对于HTML起不了任何作用。而每次scriptlet包含了被执行的Java代码的时候,JSP就被调用。
4.Scriptlets 和 HTML的混合
<TABLE BORDER=2>
<%for ( int i = 0; i < n; i++ ) {%>
<TR>
<TD>Number</TD><TD><%= i+1 %></TD>
</TR>
<%}%>
</TABLE>

5.所编写的JSP要变成一个类的定义(编译后)。所有你编写的scriptlets要放置到这个类的一个方法中。同样,你可以增加变量和方法声明到这个类中。当然你也可以从scriptlets和表达式中使用这些变量和方法。增加一个声明,你必须使用<%! and %>来圈起你的声明
6.  Jsp与Servlet的关系
      1、 JSP文件必须在JSP服务器内运行。
      2、 JSP文件必须生成Servlet才能执行。
      3、 每个JSP页面的第一个访问者速度很慢,因为必须等待JSP编译成Servlet。
      4、 JSP页面的访问者无须安装任何客户端,甚至不需要可以运行Java的运行环境,因为JSP页面输送到客户端的是标准HTML页面。
      5、 JSP页面的静态内容、JSP脚本都会转换成Servlet的xxxService()方法,类似于自行创建Servlet时service()方法。 <%   %>
      6、 JSP声明部分,转换成Servlet的成员部分。所有JSP声明部分可以使用private,protected,public,static等修饰符,其他地方则不行。 <%!   %>
      7、 JSP的输出表达式(<%= ..%>部分),输出表达式会转换成Servlet的xxxService()方法里的输出语句。
      8、 九个内置对象要么是xxxService()方法的形参,要么是该方法的局部变量,所以九个内置对象只能在JSP脚本和输出表达式中使用。
<%!   %>里声明的变量和方法都是作为类的属性和方法存在的,而<%   %>里声明的变量则是作为_jspService这个方法的内部属性  (这也决定了<%   %>里不能声明方法)
7.JSP指令会被JSP引擎转换为相应的Java代码,但这些Java代码并不直接产生任何可见输出,而是告诉JSP引擎如何处理JSP页面,或是如何生成Servlet类。
page指令
page指令的设置语法格式是:<%@ page attribute1=”value1” attribute2=”value2”…%>
include指令
使用include指令可以把其他的文本文件加入到当前的jsp页面,格式如下:
<%@ include file=”header.inc”%>

taglib指令
<%@ taglib uri=”/struts2-tags” prefix=”s”%>

8.脚本元素
JSP规格提供了四种类型的脚本元素,包括:
l    声明
l    表达式
l    脚本
l    注释 声明用于定义jsp页面中的变量与函数,这些经过定义的变量和函数,将成为Servlet类的属性与方法(关于Servlet请参看后文)。声明并不会产生任何的数据输出,声明时可同时设置初始值,提供给其他的声明、表达式或脚本使用。

声明的语法格式为:
<%!     //此处定义的变量将成为此jsp页面的全局变量、定义的函数将成为此jsp页面的公共函数

    //声明语句
%>

2.    表达式元素
表达式是一个简化了的out.println语句。
表达式的语法格式为:
<%=//要输出的数据%>
举例:
<%=square(5)%>
3.    脚本元素
脚本是java程序的一段代码,只要符合java语法的语句都可以写在这里,它是在请求时期执行的,它可以使用jsp页面所定义的变量、方法、表达式或JavaBeans。
脚本的语法格式为:
<%
    //java代码
%>
举例:
<%
if(age<18)
{
   out.println(“你是未成年人!!!!”);
}
else
{
   out.println(“你已经成年了!!!!”);
}
%>
4.    注释元素
用来对程序进行说明注释。注释大体有下列三种格式:
<!—客户端注释à
<%--服务器端注释--%>
5.内置对象
在jsp页面中有一些已经完成定义的对象,称之为内置对象。这些对象可以不经过定义就直接使用,因为它们是由jsp页面自己定义的。
jsp程序常用的内建对象有如下几个:request、response、out、session、pageContext、application、config、page、exception。你可以在jsp页面中直接使用它们,用以加强jsp程序的功能。
下面分别介绍它们。
1.    request
与request相联系的是HttpServletRequest类。通过getParameter方法可以获得相应的参数值。
2.    response
与response相联系的是HttpServletResponse类。表示Web页面针对请求的应答。
3.    out
与out相联系的是PrintWrite类。可以使用此对象将内容输出到页面中。
4.    session
与session相联系的是HttpSession类。用来传递客户的会话内容。
5.    pageContext
与pageContext相联系的是pageContext类。用它能方便的访问本页面中设置的共享数据。
6.    application
与application相联系的是ServletContext类。用它能够实现应用程序级别的数据共享。
7.    config
与config相联系的是ServletConfig类。用来在jsp页面范围内处理jsp配置。
8.    page
代表jsp页面编译成的Servlet实例,一般不用。
9.    exception
与exception相联系的是Throwable类。用来捕获jsp执行时抛出的异常。
 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息