JSP网页编程初解(一)

JSP网页编程初解

       JSP是当今Web开发中最重要的部分之一,它是直接和客户界面的部分。对于商业软件来说,JSP显得尤其重要。

1、JSP简介

       JSP是JavaServer Pages的缩写,是右Sun Microsystems公司倡导、许多公司参与一起建立的一种动态网页技术标准。在HTML文件中加入Java程序代码就构成了JSP网页。Web服务器在遇到访问JSP网页的请求时,首先执行其中的Java程序代码,然后将执行结果以HTML姓氏返回给客户。Java程序运行在服务器端,客户端只用于显示。

       1)、主流Web技术介绍

       JSP技术并不是唯一的动态网页技术,在JSP技术出现之前就有几种比较好用的动态网页技术,这些技术主要有一下几种。

       >CGI:英文全称Common GatewayInterface,通常翻译为通用网关接口。是HTTP服务器与机器上的其他程序进行通信的一个接口。它的出现使网页从静态变成了动态。但是因为要生成一个动态网页,当HTTP服务器收到对CGI程序的请求时,每一个请求都将启动一个新的进程。当有大量用户请求调用CGI应用程序时,多个CGI应用程序的执行将导致服务器的大量负载,会严重影响服务器系统性能。

       >ASP:英文全称Active ServerPage,它是Microsoft公司开发的一种处理动态页面的技术,同时它可以在HTML中内嵌一些脚本语言,如JavaScript。它将Web上的请求转入到服务器中,在服务器中对所有的ASP脚本语言进行解释执行。ASP是一种比较好用的技术,但它的缺点是只能在微软公司的Windows NT平台中支持IIS服务器。

       >PHP:英文全称Personal HomePage,PHP是一种跨平台的服务器端的嵌入式脚本语言。它大量地借用C、Java和Perl语言的语法,并耦合PHP自己的特性,使Web开发者能够快速地写出动态页面。它支持目前绝大多数数据库。还有PHP是完全免费的,可以自由下载。而且用户可以不受限制地获得源码,甚至可以加入自己需要的特色。对于小项目,它是一个之分适合的编程语言。但是对于较大的和更为复杂的项目,PHP就显得薄弱了。

       >JSP:英文全称Java Server Pages。JSP与上面几种技术相比,主要具有如下优点:

       >>运行速度快:仅在第一次请求时进行编译、加载;

       >>内容的生成和显示是分离的;

       >>平台无关性:基本上可以在所有平台上的任意环境中开发;

       >>具有Java的所有的强大功能;

       >>将内容的产生和显示进行分离;

       >>用标识简化页面开发;

       >>强调可重用的群组件。

       2)、JSP的运行环境介绍

       从最开始的JSWDK到现在的Tomcat、WebLogic等,JSP的运行环境在逐渐改变,出现了很多优秀的JSP容器。常用的JSP容器有Tomcat、WebLogic、WebSphere

       3)、安装和启动JSP运行环境

       在安装JSP运行环境之前,首先要安装JDK,这个太简单不叨叨了。接下来要安装Tomcat,下载网址为:http://tomcat.apache.org/。下载完毕按照默认设置进行安装即可。在系统环境变量中新建一个名为TOMCAT_HOME的系统变量,将其值设置为Tomcat安装的目录即可(我的是D:\Apache Software Foundation\Tomcat7.0_SingerFive)。

2、JSP程序演示

       下面就从最简单的入门开始介绍,先体验一下JSP,了解什么是JSP,开始的时候可能会认为很简单,但随着学习的不断深入,你会越来越感觉到JSP的强大。

       1)、体验JSP

       下面编写一个简单的JSP程序,它的内容和HTML文件是一样的,唯一的区别的是他的文件名后缀是.jsp,而不是.html。

<html>
       <head>
              <meta http-equlv=”Content-Type” content=”text/html;charset=GBK”>
              <title>一个简单的JSP例子</title>
       </head>
       <body>
              这是一个JSP的例子
       </body>
</html>

       如果将上述代码存为.html,则可以直接使用浏览器打开该文件,否则以.jsp为后缀则不可以直接双击该文件来查看实际的运行效果,而需要把它部署到JSP容器中(Tomcat),使用JSP容器解析后才能查看。

       2)、JSP与HTML的初步结合

       下面是一个简单的JSP与HTML结合的程序,这个程序中用到了JSP脚本标签指令中的pages指令,这些知识将会在后面的章节中进行详细介绍。

<%@page contentType="text/html"pageEncoding="UTF-8"%>
    <html>
        <head>
            <metahttp-equiv="Content-Type" content="text/html;charset=UTF-8"/>
           <title>XXXXXXXXX</title>
        </head>
        <body>
            <h1>这是一个JSP和HTML</h1>
        </body>
    </html>

       把此jsp文件复制到Tomcat地址下的jspexample下(我的是D:\Apache Software Foundation\Tomcat7.0_SingerFive\webapps\examples\jsp\ jspTest.jsp),在浏览器中输入地址即可打开查看。

       在第一行中运用了page指令。当浏览器第一次请求JSP页面时,容器首先会将该JSP文件编译为Servlet类文件,然后容器将这个类加载到容器的虚拟机(Java Virtual Machine)中并运行这个Servlet类,最后将结果送到客户端。

3、JSP的基本语法

       JSP网页本身是由特定JSP元素内嵌在HTML网页中形成的。除了HTML变迁外,JSP提供了5中构建网页内容时所需要的元素。

       >指令(directive)

       >声明(declaration)

       >程序代码(scriptlet)

       >表达式(expression)

       >注释(comments)

       JSP指令用于设置和整个JSP页面相关的属性,如页面的脚本语言、需要导入的Java包名以及页面编码的字符集等。JSP的语法如下:

              <%@ 指令名属性=”值”%>

       JSP指令包括page、include和taglib3种指令。以后将会对JSP指令进行详细介绍。

       JSP声明用于声明该页面的属性和方法,声明后的属性和方法适用于JSP中的任何部分,相当于类中的成员方法和成员变量。其JSP语法如下:

              <%! 声明部分 %>

       在下面的代码中分别声明了一个变量和一个方法:

       <%!

           int i = 1;

       %>

       <%!

           void method{}

       %>

       JSP程序代码时JSP中最常见的脚本元素,其实质是一段有效的Java语言代码。JSP程序代码包括在<%....%>之间。其JSP语法如下:

              <% Java代码 %>

       以下代码在客户端输出一些内容:

<%@pagecontentType="text/html" pageEncoding="UTF-8"%>
<%! int a=100; %>
<html>
    <head>
        <metahttp-equiv="Content-Type" content="text/html;charset=UTF-8"/>
        <title>XXXXXXXXX</title>
    </head>
    <body>
        <h3>输出从100到200之间的数</h3>
        <%
        for(int i = 0 ; i < 100 ; i++){
            out.println(i+a +"<br>");
        }
    %>
    </body>
</html>

       JSP表达式使用的标记对是<%=...%>,其所得的结果被转化为字符串并显示在页面上。例如这段代码就实现了简单的剑法运算:

<%@pagecontentType="text/html" pageEncoding="UTF-8"%>
<html>
    <head>
        <title>XXXXXXXXX</title>
    </head>
    <body>
        <h3>运算:5-2 =<%=(5-2)%></h3>
   </body>
</html>

       JSP注释用来对程序代码进行解释和说明,常见的注释包括显示注释和隐式注释两种。显示注释主要是指HTML文件的注释,当请求包含显示注释的JSP页面时,可以通过源代码查看注释。其语法如下:

       <!—注释内容 -->

       例如:    <body>

                      <h3>这是一个使用了显示注释的页面</h3>

                      <!--在这里注释说明-->

                  </body>

       显示注释在通过浏览器查看源文件(HTML)时会看到,而隐式注释是指包含在<%--...--%>之间的内容,隐式注释在JSP页面上时无法看到的,而且在HTML源文件中也是看不到的,其语法如下:

              <%-- 注释内容 --%>

·       下面的代码中使用了隐式注释,读者可以通过这两个例子的对比进一步理解这两种注释的区别:

           <body>

               <h3>这是一个使用了显示注释的页面</h3>

               <%-- 在这里注释说明 --%>

           </body>

4、JSP指令

       JSP指令用于设置和整个JSP页面相关的属性。JSP指令包括page、include和taglib3中指令。下面将对page指令和include指令元素进行详细介绍。

       1)、page指令

       Page指令用来定义页面的很多属性,如脚本语言、编码方式、导入的java包等。Page指令的语法如下:

<%@page
    language="java"
    session="true/false"
    pageEncoding="characterSet"
    isThreadSafe="true/false"
    isErrorPage="true/false"
    info="text"
   import="package.class/package.*,...."
    extends="package.class"
    errorPage="relativeURL"
   contentType="TYPE,charset=CHARSET"
    buffer="none/8kb/sizekb"
    autoFlush="true/false"
%>

       这些属性的说明下表所示:

属性名

说明

举例

Language

指定JSP页面使用的脚本语言,目前只能使用Java

<%@page langage=”java”%>

Session

指定JSP是否使用session

<%@page session=”true”%>

pageEncoding

JSP页面本身的编码字符集

<%@page pageEncoding=”gb2312”%>

isErrorPage

指定该JSP文件是否显示错误页面

<%@page isErrorPage=”true”%>

isThreadSafe

指定JSP文件是否能够使用多线程

<%@page isThreadSafe=”true”%>

Info

设置JSP页面的信息

<%@page info=”字符串”%>

Import

指定引入的Java包

<%@page import=”java.util”%>

ErrorPage

指定出现异常时调用的页面

<%@page errorPage=”erroe=r.jsp”%>

contentType

指定JSP页面的文件格式与服务器发送给客户端时的内容编码字符集

<%@page contentType=”text/html;charset=GBK”%>

Buffer

指定JSP网页的缓冲区大小

<%@page buffer=”32kb”%>

autoFlush

值为true,将数据输出到客户端

值为false,出现异常

<%@page autoFlush=”true”%>

       在了解page指令的这些属性后,下面给出一段使用页面指令的代码以加深理解:

<%@page
    contentType="text/html ;charset=GBK"
    pageEncoding="UTF-8"
    import="java.util.*"
    session="true"
    buffer="32kb"
%>
<html>
    <head>
        <title>JSP的页面指令</title>
    </head>
    <body>
        <h3>这是一个有多个页面指令的网页</h3>
    </body>
</html>

       2)、include指令

       用来将文件插入到JSP网页上,这些文件可以是文本文件、HTML文件或者JSP文件。该指令的语法如下,file是指所要加载的文件路径。

              <%@ include file=”文件的相对路径”%>

       下面的程序讲解了如何使用include指令:

<%@ pagelanguage="java" import="java.util.*"contentType="text/html;charset=UTF-8"pageEncoding="UTF-8"%>
<%@includefile="test.html"%>
<html>
    <head>
        <title>test include</title>
    </head>
    <body>
        <h3>这是一个测试include指令的页面</h3>
    </body>
</html>

       一般需要将经常使用的代码写在个别文件中,如果没有include指令,那么久必须在每个文件中写入相同的代码,这样就会造成时间的浪费和效率的低下。有了include指令,就可以直接将其加载到目标页面,这样就大大节省了时间。

 

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值