当前位置: 首页 > 图灵资讯 > 技术篇> JSP内幕

JSP内幕

来源:图灵教育
时间:2024-02-21 09:49:46

  目前,企业应用程序已经从2-tier转移到3-tier结构,开发者有许多不同的方法将应用程序和数据分发给用户。JSP API是J2EE的一部分,它为WEB和JAVA开发人员创建各种应用程序提供了一个简单而有力的机制。

  JSP为开发者提供了两种重要的能力:

  一是它提供了EJB等远程数据访问机制,RMI,JDBC。

  第二,它使开发者能够最大限度地重用和灵活地包装和分离程序逻辑的性能。逻辑与性能的分离是其超越其他WEB应用结构的主要优势。 在本文中,我将对JSP技术进行总体描述,当然也会有一些例子来展示JSP的优势。 首先,JSP是如何被执行的 WEB服务器必须有相应的配置才能支持JSP。流行的JSP支持WEB服务器包括:WebSphere,jwebserver,jswdk,jrun,tomcat等等。 当WEB服务器收到后缀时,“.jsp“页面请求,它触发JSP引擎。JSP引擎首先检查JSP文件是新的还是修改的。在这两种情况下,文件将被翻译和编译。翻译是JSP如何工作的核心:JSP引擎将JSP文件转换为JAVA SERVLET。然后用标准JVA编译器编译SERVLET,用标准API执行JAVA SERVLET。这个翻译步骤也是JSP慢的原因之一。 写JSP JSP的例子如下: <%@ page language="java" info="form processing page" %> html body <%! String cities[], month; %> pThe cities selected are:/p <% cities = request.getParameterValues("city"); month = request.getParameter("month"); if(cities != null) { %> ul <% for(int i=0; i < cities.length; i++) { %> li<%= cities %> <% } %> /ul <% } else { %> pNone selected./p <% } %> br pand the selected month is: b<%= month %>/b/p /body /html JAVA代码可以直接嵌入JSP标签,只要这个页面被要求执行。 JSP标签有以下类型: 标签 描述 JSP 1.0 语法 Comment 允许嵌入文档注释 HTML comment: <-- comment --> JSP comment: %--comment--% Directive 当页面被翻译时,为JSP引擎提供指令 Expression 包括变量或常量,当页面被要求时,它将被计算 Scriptlet 包含代码片段,当页面被要求时,它将被执行 JSP 当页面被要求执行JSP特定函数时   Comments.JSP中有两种类型的注释。标准HTML注释--comment--,它可以发送到客户端浏览器。标准HTML注释--comment--,它可以发送到客户端浏览器。JSP注释%--comment--%HTML中不会显示它。 Directives:当JSP页面被翻译成SERVLET时,它指示JSP引擎处理 Declarations:在表达式或脚本段中使用定义变量。 Expressions:使用表达式,您可以动态计算插入JSP页面的值。 Scriptlets:JAVA代码块嵌入页面。 JSP:基于普通标签库语法。

  举一个简单的FORM处理例子 form.JSP是一个简单的JSP页面,用于处理HTML表格的要求。 form.HTML是典型的HTML FORM form.html的源文件如下: html body

Shenzhenbr Beijingbr Shanghaibr Guangdongbr br Januarybr Junebr Julybr Septemberbr br /form /body /html 通过request对象可以访问表中控件的值,是javax.servlet.Servletrequest的例子(但通常使用更详细的javax.servlet.http.Httpservletrequest的实例)。JSP生成的代码不仅是执行标准SERVLET的service()方法,还有两个参数request和response对象。JSP生成的代码不仅仅是执行标准SERVLET的service()方法,它有两个参数request和response对象。   JAVABENS在JSP页面使用 feedback.JSP是另一个处理FORM的例子,除了JSP中使用JAVABEANAN:MailBean.java。如果你不熟悉JavaBeans,JavaBean是Java组件的属性、方法和事件。feedback.html用于请求feedback.jsp的HTML。 feedback.jsp源代码如下: html title Results of sending the message /title body <% boolean success = mail.sendMessage(); if(success) { %> pYour message has been sent!/p pThanks./p <% } else { %> pYour message was not sent for some reason./p pPlease go back and try again/p <% } %> /body /html feedback.html源代码如下: html head titleEmail feedback form/title /head body br pDo you have feedback to provide to us?/p pYour email address: /p pSending to: /p pyour comments:/p p