电信主站 网通分站
购买流程 付款方式 常见问题 在线提问 续租服务 购物车
用户名: 密 码: 忘记密码?
首 页
域名注册
虚拟主机
双线主机
服务器租用
VPS主机
企业邮局
代理专区
客服中心
虚拟主机行业资讯 虚拟主机评测对比 互联网最新动态 技术学院 站长资讯 在线教程 网站运营
搜索优化 服务器 网络编程 图形图象 站长之家 网页制作 操作系统
冲浪宝典 软件教学 视频通信 办公软件 邮件系统 网络安全 认证考试
您当前位置:西部数码->资讯中心-> 在线教程-> JSP教程
一个开发人员眼中的JSP技术(上)-JSP教程,Jsp/Servlet
作者:网友供稿 点击:5
  西部数码-全国虚拟主机10强!20余项虚拟主机管理功能,全国领先!第6代双线路虚拟主机,南北访问畅通无阻!虚拟主机可在线rar解压,自动数据恢复设置虚拟目录等.虚拟主机免费赠送访问统计,企业邮局.Cn域名注册10元/年,自助建站480元起,免费试用7天,满意再付款!P4主机租用799元/月.月付免压金!
文章页数:[1] 
javaservertm pages(jsp)技术为我们提供了一种建立动态网页的简单方法,而且也简化了构造web程序的工作。本文从一个开发人员的角度对jsp技术做了一个全面介绍(并提供了一些jsp实例程序)。

前言
  javaserver pages技术可以让web开发人员和设计人员非常容易的创建和维护动态网页,特别是目前的商业系统。作为javatm技术的一部分,jsp能够快速开发出基于web、独立于平台的应用程序。jsp 把用户界面从系统内容中分离开来,使得设计人员能够在不改变底层动态内容的前提下改变整个网页布局。

  那么什么是javaserver page呢?简单的说,一个jsp网页就是在html网页中包含了能够生成动态内容的可执行应用程序代码。此应用程序可能包含javabeantm,jdbctm对象,enterprise java beantm (ejb)和remote method invocation (rmi)对象,所有的部分都可以非常容易的从jsp网页上访问到。例如,一个jsp网页可以包含 html代码所显示的静态文本和图像,也可以调用一个jdbc对象来访问数据库;当网页显示到用户界面上以后,它将包含静态html内容和从数据库中找到相应的动态信息。

  在jsp网页中,要把用户界面和应用程序分开可以考虑在网页设计人员和开发人员之间执行一个非常方便的授权任务。它也允许开发人员去建立灵活的代码,从而非常容易的进行更新和重复利用。由于jsp网页能够根据需要自动进行编译,web设计人员无须重新编译应用程序逻辑就可以改变表述代码。这也使得jsp与java servlet(它是javasever pages功能的扩展)相比成为一种可以更灵活生成动态web内容的方法。

jsp和servlet
  如果你已经用过java servlet,那么你就会知道servlet可以让你建立动态生成的网页,而网页中包含有从服务器方的java对象中所获得的数据。但是你也得知道servlet 生成网页的方法就是在java类中嵌入html标签和表述代码。这就意味着改变表述代码需要修改和重新编译servlet源文件。因为设计html页面的设计人员可能与编写servlet代码的开发人员不是同一个人,更新基于servlet的web应用程序就成了一件非常棘手的事情。

  enter javaserver page是servlet api的一个扩展。事实上,jsp网页在编译成servlet之前也可以使用,所以它们也具有servlet的所有优势,包括访问java api。由于jsp 是嵌入到servlet中关于应用程序的一般表述代码,所以他们能够被看成一种“彻底”的servlet。

  jsp网页主要提供了一种建立servlet的高水平方法,它还带来了其他的优点。即使你已经为web应用程序编写了servlet,使用jsp仍然有很多优势:

  jsp网页可以非常容易的与静态模板结合,包括html 或xml 片段,以及生成动态内容的代码。

  jsp网页可以在被请求的时候动态的编译成servlet,所以网页的设计人员可以非常容易的对表述代码进行更新。如果需要的话,jsp网页还可以进行预编译。

  为了调用javabean组件,jsp标签可以完全管理这些组件,避免网页设计人员复杂化应用程序。

  开发人员可以提供定制化的jsp标签库。

  网页设计人员能够改变和编辑网页的固定模板部分而不影响应用程序。同样,开发人员也无须一个个编辑页面而只须对组件进行合理的改变。

  通常,jsp允许开发人员向许多网页设计人员分发功能性应用程序。这些设计人员也不必知道java编程语言或任何servlet代码,所以他们能够集中精力去编写html代码,而编程人员就可以集中精力去建立对象和应用程序。

建立jsp页面
  粗略看来,jsp网页和html (或xml)网页非常相似——都包含用标签封装的文本(在“<>”之间被定义)。当html标签被用户的浏览器处理以显示网页的时候,jsp标签能够通过web服务器的处理来生成动态内容。这些jsp标签能够定义个别的操作,比如说用一个方法来调用javabean,或者包含标准的java代码块(也就是所谓的scriptlet),这些代码块能够在网页被访问的时候被执行。
  为了了解它们如何使用,下面我们介绍了一个jsp网页的简单例子,在这个jsp网页中包含了静态html内容和从javabean生成的动态数据。当用户访问这个网页的时候,它可以显示当前的日期,并根据当前的时间增加相应的问候语(例如“早上好”和“下午好”)。为简单起见,jsp标签显示在块中:

  <html>

  <%@ page language="java" imports="java.util.*" %>

  <h1>welcome</h1>

  <p>today is </p>

  <jsp:usebean id="clock" class="jspcalendar" />

  <ul>

  <li>day: <%= clock.getdayofmonth() %>

  <li>year: <%= clock.getyear() %>

  </ul>

  <%-- check for am or pm --%>

  <%! int time = calendar.getinstance().get(calendar.am_pm); %>

  <%

  if (time == calendar.am) {

  %>

  早上好

  <%

  }

  else {

  %>

  下午好

  <%

  }

  %>

  <%@ include file="copyright.html" %>

  </html>

  上面的jsp例子是不是很简单?我们在jsp网页中使用了几个不同的组件。这些组件包括下面的内容:

  jsp action (或jsp标签)使用了多种函数并扩展了jsp的功能。jsp action使用的是一种类似xml的语法,并且被用来处理javabean组件。在上面的例子中,jsp:usebean action初始化了一个javabean ,javabean将在网页的后面部分被用到:

  <jsp:usebean id=="clock" class=="jspcalendar" />

  如果在网页中需要获得和设置这个bean的属性,另一个jsp action将被给出,使用的是下面的语法:

  <jsp:getproperty name="bean" property="property" />

  <jsp:setproperty name="bean" property="property" value="value" />

  当网页被编译成一个servlet的时候,directive将被jsp引擎处理。directive被用来设置页面级的指令、从外部文件插入数据以及制定定制的标签库。directive被定义在<%@ 和 %>之间。 在上面的例子中,directive定义了页面所使用的语言(java),为了关联java类需要植入代码并指定一个将要插入页面底部的html文件内容:

  <%@ page language=="java" imports=="java.util.*" %>

  <%@ include file=="copyright.html" %>

  声明与java中的变量声明相似,它也是为了后面表达式或scriptlet的需要来定义变量。声明被定义在<%! 和 %>之间。在上面的例子中,“int”声明并给出了一个当前时间的相应值 (am 或 pm):

  <%! int time = calendar.getinstance().get(calendar.am_pm); %>

  表达式可以是变量或常量,它插在由web服务器所返回的数据里,并?lt;%= 和 %>来定义。在上面的例子中,表达式将调用javabean组件并在页面中插入结果数据:

  <%= clock.getdayofmonth() %>

  <%= clock.getyear() %>

  scriptlet将作为一个java代码块植入jsp页面中。scriptlet代码被一一插入由页面所产生的servlet中,它被定义在<% 和%>之间。上面例子中的scriptlet可以根据当前用户产生相应的时间和问候语:

  <%

  if (time == calendar.am) {

  %>

  早上好

  <%

  }

  else {

  %>

  下午好

  <%

  }

  %>

  注释部分和html的⑹拖嗨疲痹谥葱械氖焙騄sp引擎将去掉对注释的解释。这就意味着jsp注释并不返回到用户的浏览器中。不象html注释被定义在<!-和 -->标签之间,jsp注释被定义在<%--和 --%>之间。例如:

  <%-- check for am or pm --%>

文章整理:西部数码--专业提供域名注册虚拟主机服务
http://www.west263.com
以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!
相关主题
文章页数:[1] 
Google
热门文章
·IReport与JasperReport开发详解一-JSP教程,Java技巧及代码
·JSTL(JSP标准标签库)介绍-JSP教程,资料/其它
·格式化输入日期时间控件 JieFormattedDateBox-JSP教程,Java技巧及代码
·JSTL简化JSP编码-JSP教程,Jsp/Servlet
·JUnit和单元测试入门简介-JSP教程,Java技巧及代码
·从数据库中读取一个图片并保存为一个图片文件-JSP教程,数据库相关
·Java Swing入门基础-JSP教程,Java技巧及代码
·IntelliJ IDEA培训-JSP教程,Java技巧及代码
·通过JSP的预编译消除性能瓶颈-JSP教程,Jsp/Servlet
·Java中利用JMF编写摄像头拍照程序-JSP教程,Java技巧及代码

最新文章
·J2ME中的时间处理方法
·J2ME播放声音流程简介
·J2ME开发之手机键盘使用注意问题
·J2ME 记录管理存储
·MVC模式在j2me项目中的应用(二)
·MVC模式在j2me项目中的应用(一)
·J2ME中使用记录存储系统(RMS)存储信息
·J2ME与MIDP开发(1)
·用简单的J2ME程序测试MIDlet的生命周期
·JAVA基础:提升JSP应用程序的七大绝招




版权申明:本站文章均来自网络,如有侵权,请联系我们,我们收到后立即删除,谢谢!

特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有。
  打印  刷新  关闭
返回首页 |关于我们 | 联系我们 | 付款方式 | 创业联盟 | 虚拟主机 | 资讯中心 | 友情链接 | 网站地图

版权所有 西部数码(www.west263.com)
CopyRight (c) 2002~2006 west263.com all right reserved.
公司地址:四川成都市万和路90号天象大厦4楼 邮编:610031
电话总机:028-86262244 86263048 86263408 86263960 86264018 86267838
售前咨询:总机转201 202 203 204 206 208
售后服务:总机转211 212 213 214
财务咨询:总机转224 223 传真:028-86264041 财务QQ:点击发送消息给对方635483282
售前咨询QQ:点击发送消息给对方2182518 点击发送消息给对方241975952 点击发送消息给对方275026793 点击发送消息给对方408235859
售后服务QQ:点击发送消息给对方17708515 点击发送消息给对方307742704 点击发送消息给对方287976517 点击发送消息给对方363783715
《中华人民共和国增值电信业务经营许可证》编号:川B2-20030065号