JSP内幕

2016-01-29 12:41 9 1 收藏

JSP内幕,JSP内幕

【 tulaoshi.com - Java 】

作者:ybwen

现在的企业应用已从2-tier朝3-tier结构转移,开发者有许多不同的方法分发应用与数据到用户。JSP API是J2EE的一部分,给WEB和JAVA开发者创建各种应用提供了一个简单但强有力的机制。

JSP给开发者提供了两个重要的能力:一,它提供了访问远程数据的机制如EJB,RMI,JDBC。二,它让开发者从表现中封装和分离程序逻辑而达到最大程度的代码重用和灵活性。逻辑与表现的分离是它超越其它WEB应用结构的一个主要优势。

在这篇文章中,我会对JSP技术进行一个总体的描述,当然会有一些例子来示范JSP的优点。

首先,JSP是如何被执行的
要支持JSP,WEB服务器必须要有相应的配置。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的例子如下:


<pSending to:
<input type=text name="recipient"</p
<pyour comments:</p
<p<textarea name="body" rows=5 cols=40</textarea</p
<input type=submit name="Submit" value="Submit"
</form
</body
</html

MailBean.java源码如下:

// MailBean.java

package ybwen;
import java.io.*;
import sun.net.smtp.*;
public class MailBean {
String sender;
String recipient;
String body;
public void setSender(String s) {
sender = s;
}
public void setRecipient(String s) {
recipient= s;
}
public void setBody(String s) {
body = s;
}
/**
* @returns true if the message was sent, false otherwise
**/
public boolean sendMessage() {
try {
// replace "smtp" with your own SMTP server's name
SmtpClient client = new SmtpClient("smtp");

// use the SmptClient instance to construct the message
client.from(sender);
client.to(recipient);
PrintStream msg = client.startMessage();
msg.println("Subject: Web Feedback");
msg.println();
msg.println(body);
msg.println("--");
msg.println("Send using MailBean!");
client.closeServer();
}
catch(IOException e) {
return false;
}
return true;
}

}

 

数据库连接
如下源码显示了使用JDBC从数据库中获得数据的一个JSP文件。当然,在JSP中直接嵌入JDBC调用是获得数据最简单的方法,但更好的方法是封装JDBC调用在JavaBean中,类似前一个例子。还有比这好的方法,在JSP1.1中的标签库机制描述如何定制数据库查询标签,如下:

(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/java/)

<sql:connection id="conn01" url="jdbc:odbc:EnterpriseDB" /
<sql:query id="customers" connection="conn01"
SELECT * FROM customers
</sql:query
<ul
<sql:foreach iterate="row" in="customers"
<li<%= row.getColumn(1) %
</sql:foreach
</ul

(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/java/)


JSP 与 Servlets
自从JSP页能自动翻译为Servlets,在JSP 和Servlets中就没有什么显著的区别。

JSP比Servlets的主要优势是JSP在显示和服务端逻辑允许更合乎逻辑的分离。

 

JSP 与 ASP
JSP 和ASP是非常相似的,都是在HTML中用定制标签创建动态WEB页。且都支持在页面直接包含代码,也都使用封装组件:在ASP中是COM,在JSP中是JavaBean。

它们最大的不同是平台兼容性。ASP只能在Windows上,JSP就不用说了。另一个不同就是JSP是一次编译一直运行,而ASP是每次请求就每次解释。

 

结束语评:用MVC模式开发多层应用酷毙。文哥题

来源:http://www.tulaoshi.com/n/20160129/1487187.html

延伸阅读
标签: Web开发
编辑环境 Visual Studio 为所有VS.NET支持的语言提供了单一的一个代码编辑器,而同时为每一种语言提供了特定的功能 。其编辑器引入了编辑环境方面的一些增强功能,诸如单词补齐,增量搜索,代码凸显,缩进文本,标记行号,彩色打印,和快捷方式。编辑器还提供了许多为特定语言设计的功能,比方在你输入原型和函数调用的时候它能够自动完...
标签: Web开发
Visual Basic的变化 特点 描述 布耳和位运算符 And, Or, Xor, 和 Not是严格的 Boolean 运算符而且不能再用于位运算 。而应该使用 BitAnd, BitOr, BitXor, 和 BitNot。Eqv和Imp不再支持。 数据类型 Deftype语句 (DefBool, DefByte, 等等) 不再支持. Currency 类型被Decimal 类型取代。 Dates 现在被作为 8-byte 的整数进行存储与 CLR...
感情生活中,最大的隐患就是遭到对方的欺骗,事实上,在如今开放的社会中,无论男人还是女人,都应该在恋爱生活中有着一定的警觉性!那么,什么样的女人不能要?今天,图老师小编就来为你揭秘美女陪玩的惊人内幕,不妨一起看看其中的可怕性!>>>男人为何永远经不住女人下半身的诱惑 美女陪玩的惊人内幕 近日,上海...
标签: flash教程
在公开这人物绘制之前,我先跟大跟论讨一下”从头开始”的含义,指的是事情或行为从最低要求开始出发;也就是我们通常所说的“零起点”;记得以前在学人物画的时候,首先一件事情就是画石膏头像模型;然后才描画它人物半身,最后才是人物的全身;所以我们今天要公开的鼠绘技法中,我们就从“头”开始,让大家学习一个基础,然后在实践应用中提高加强;在学习...
标签: Java JAVA基础
你将会需要Java 2软件开发工具(JSDK),它原来的名称是Java开发工具(JDK)以及JavaServer网站发展工具(JSWDK),Tomcat,或是其他支援JSP的网络服务器。Sun免费提供JSDK与JSWDK来供Windows,Solaris,以及Linux平台使用。 如果你想要在你目前的服务器上使用JSP,但服务器本身并不支援JSP与Java servlets,你可以试试看Allaire的Jrun,它的作用就...

经验教程

287

收藏

73

精华推荐

JSP由浅入深(6)—— JSP声明

JSP由浅入深(6)—— JSP声明

大宝的宝贝9

JSP由浅入深(7)—— JSP Directives

JSP由浅入深(7)—— JSP Directives

爱xiaoyan520

JSP由浅入深(9)—— JSP Sessions

JSP由浅入深(9)—— JSP Sessions

降临珊瑚虫

热门标签

微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部