计算机毕业论文外文翻译10

上传人:1888****888 文档编号:38827490 上传时间:2021-11-09 格式:DOC 页数:46 大小:156.03KB
收藏 版权申诉 举报 下载
计算机毕业论文外文翻译10_第1页
第1页 / 共46页
计算机毕业论文外文翻译10_第2页
第2页 / 共46页
计算机毕业论文外文翻译10_第3页
第3页 / 共46页
资源描述:

《计算机毕业论文外文翻译10》由会员分享,可在线阅读,更多相关《计算机毕业论文外文翻译10(46页珍藏版)》请在装配图网上搜索。

1、由金·海伊冯,Java 技术顾问马克·罗斯,JavaServerPages 2.0 说明 公司领导2003年2月 作为JavaServer Pages(JSP)技术正变得被广泛地在网上的应用过程中采用, 很多JSP 程序员和从事于网络开发与维护这些网络用途的开发者面临着一个左右为难的窘境,这和许多JAVA程序员面临的窘境是一样的,就是:"我们怎样组织JSP 代码,使它容易读写并且一贯保持?" 在这篇文章里, 我们为写JSP 页(第1.1 版本和1.2)提出一套标准协定,那应该由使用网组成部分的一项典型的软件项目遵循。文章依据了一个JAVA程序语言模板的编

2、码协定,这种协议用作鉴定各种各样的重要的元素, 那种元素应该被在一种编码的协定说明(对JSP 技术相关)过程中提出。 尤其, 它地址文件名字和组织,凹口,说明,指令,申明,scriptlets,表达方式,白色的空间,命名约定和编程惯例。 因为这在提出一套JSP编码约定时是我们的第一个尝试, 你对这些建议的任何反馈对于我们都十分感兴趣。 请把全部反馈送到jsp-codeconv-comments。 JavaServer第2.0 页说明, 当有第1.2 版本完全向后相容时, 考虑到一种无书写的编程风格(如果没有申明,scriptlets和表达方式)和有许多新特征预计逐步形成这些约定。 可能的话,这

3、篇文章选择将调控新JSP的约定为2.0个技术特征。 最后,我们假定你象已经为你的工程由你的组织采用的那样熟悉JSP 技术,Java 技术和Java 代码约定。 如果不,我们推荐你从在这里的Java 技术和在这里的JSP 技术开始。 为什么有代码约定? 代码约定的许多原因对程序员和网内容开发者来说是重要的: 他们改进软件人工制品的易读性,他们降低训练管理和努力 他们的机构化的约定朝着标准化平衡文件的名字和位置命名文件给工具卖方和网络容器一种方法来决定文件的类型和相应的说明他们下述表格列举我们建议的文件后缀和位置。 文件类型文件后缀推荐位置JSP 技术 .jsp <context root&

4、gt;/<subsystem path>/ JSP碎片 .jsp<context root>/<subsystem path>/ .jspf<context root>/WEB-INF/jspf/<subsystem path>/ 级联样式表 .css <context root>/css/ JavaScript 技术 .js <context root>/js/ HTML网页 .html <context root>/<subsystem path>/ 网络资源 .gif, .jpg,

5、 etc. <context root>/images/ 标记库描述符 .tld <context root>/WEB-INF/tld/ 当读上面的表格时,有一些事情记住。 首先,<context root>是网络应用(在一个.war 文件里面的根目录)的上下文的根。 其次,<subsystem path>用来提供精炼的动态和静止的网页内容的逻辑组。 对小型网络应用来说,这可能是一根空的串 。第三,我们使用术语JSP碎片指的是能被归入另一JSP 网页的一JSP 网页。 在JSP 2.0 说明里注意到,术语"JSP程序段"被改为

6、使用作为术语"JSP碎片"被超载。 JSP碎片能使用.jsp或者.jspf作为后缀, 并且能分别被安置或者在/WEB-INF/ jspf或者有其余静止内容。 并非整页总是使用那些后缀.jspf的JSP的碎片应该总能被安置在/WEB-INF/ jspf。第4, 虽然JSP 说明为JSP碎片建议.jspf和.jsp为可能的扩展, 我们推荐.jspf同.jsf可能被JavaServer Faces详细提出使用。 最后, 这是一个通常的方法通常,就是安置描述符库的描述符文件和任何其他非公众内容在WEB-INF/或者隶属于它的子目录之下的方法。 以这种方法,那些内容对于那些客户将越来

7、越不易于接近和看不见 ,因为那些网络存储器将不为隶属于WEB-INF/的任何文件提供服务。 一个可选择的受欢迎的文件的名字, 象在部署描述符(web.xml)的受欢迎文件的要素里申明的那样, 如果将产生动态的内容,应该是index.jsp,或者如果受欢迎的页网是静止的,则是index.html。当使JSP 文件国际化时,我们推荐你通过他们的地点把JSP 页把归类进目录。 例如,英文版的index.jsp将出现在下/en_US/ index.jsp而那些日本版本的相同文件的出现将在/ja _ JP / index.jsp下。 通常,Java指导课提供关于使Java 代码国际化的附加信息, 并且那

8、些利用J2EE 平台预先设计计划的申请书为企业提供关于网应用的国际化的信息。 文件组织一个好的结构的源头代码文件不仅容易读,并且更迅速的在文件内部安置信息。 在下面的部分,我们将介绍关于JSP和标记库描述符文件的结构。 JSP 文件/ JSP碎片文件一个JSP文件由以下部分组成,这些部分按顺序列出: 公开的注释JSP 网页指令可选择的标签库指令可选择的JSP 文件申明HTML 和JSP 代码公开的注释一个JSP文件或者碎片文件用一个服务器方面风格的注释开始<%- - Author(s): - Date: - Copyright Notice: - (#) - Description: -

9、%> 这条注释只在服务器方面是可见的,因为它在JSP网页面转换期间被除去。 在这条注释内是作者,日期和修正的版权申明, 关于网开发者的JSP 页的一个标识符和描述。这些"(#)" 特点的结合被确定的程序作为指明标识符的开始辨认。 当这样的程序很少被使用时,使用这个串是没有害处。 另外, 这结合有时添加"$Id$"作为鉴定信息自动被插入JSP 网页中, 以一些版本控制程序。 说明部分提供简明的关于JSP 页的目的的信息。 它不止持续一个段落。 在有些情况下, 公开的注释需要在翻译期间被保留并且真实性和有法律目的传播到客户端(对一个浏览器可见)。 这可

10、能通过使注释块分裂成两个部分被取得; 首先,客户端风格的注释: <!- - Author(s): - Date: - Copyright Notice: ->以及一条更短的服务器端风格的注释: <%- - (#) - Description: -%>JSP 网页指令一个JSP网页的指令在翻译同时给与JSP 网页相关的确定的指令下定义。 JSP 说明不把限制条件强加给那JSP 页指令可能被在相同的页内确定。 因此(除了第一个例子在输出的时候以两行额外的空白行作为开头),以下的二个代码例子相等: 代码样品1: <% page session="false&q

11、uot; %><% page import="java.util.*" %><% page errorPage="/common/errorPage.jsp" %>如果任何指令的长度, 例如一指令的页,超过一个JSP 页(80 个字符)的正常宽度,指令插入多产品: 代码样品2: <% page session="false" import="java.util.*" errorPage="/common/errorPage.jsp" %>通常,例子2 对

12、于指令的页的代码样品来说比代码第1 样品是更好的选择适合确定。 当复杂的JAVA包需要被输入到JSP 页时,一个例外发生,导致非常长时间的输入把归于: <% page session="false" import="java.util.*,java.text.*, com.mycorp.myapp.taglib.*, com.mycorp.myapp.sql.*, .".%>在这情况内,象下面一样拆解这页指令更合适: <%- all attributes except import ones -%><% page .%>

13、;<%- import attributes start here -%><% page import="java.util.*" %><% page import="java.text.*" %>.注意到通常,输入陈述遵循地方代码约定给JAVA技术。 例如, 当能达到来自相同的包的3 种种类被使用时,它可能一般被接受为那个, 输入应该申明具体的独特的类,而不是他们的包裹。 超出3 种种类,决定是分别列举那些种类还是使用是一个网开发者的责任"。 *"表达式。 在以前例子中, 鉴定一种外部种类使生活更

14、容易, 特别是当你努力找到一种轻便马车种类或者理解JSP 页怎样与Java 代码相互作用时。 例如, 不通知被输入的JAVA包就象如下所示的那样, 为了找到一种用户种类,一个网开发者必须通过所有这些包搜寻: <% page import="com.mycorp.bank.savings.*" %><% page import="com.thirdpartycorp.cashmanagement.*" %><% page import="com.mycorp.bank.foreignexchange.*"

15、%>.在后面例子中,书面JSP 页更整洁,但是找到种类是难的。 通常,如果一JSP 页有太多输入指令,它很可能包含太多Java 代码。 更好的选择将是使用更多的JSP 标签(在这篇文章里过后讨论)。 可选择标签库一指令的标签库申明风俗标签库以JSP 页使用的指令(s)。 短的指令被在一条单个的线内申明。 多标签库指令在JSP 页内在相同的位置一同被堆积'身体: <% taglib uri="URI1" prefix="tagPrefix1" %><% taglib uri="URI2" prefix=&

16、quot;tagPrefix2" %>.正象用指令页, 一指令的标签库的长度超过一JSP 页(80 字符)的正常宽度如果,指令插入多产品:<% taglib uri="URI2" prefix="tagPrefix2" %>只正被在一页里使用的标签库应该被输入。从JSP 1.2 说明, 非常推荐JSP标准标签库(JSTL)被在帮助降低对JSP scriptlets的需要的你的网申请内使用, 在你的页里。 使用JSTL的页,通常,容易读并且保持。 可选择的JSP 申明申明JSP 申明通过一JSP 页拥有的方法和变量。 这些方法和

17、变量在JAVA编程语言不不同于申明, 因此相关的代码约定应该被跟随。 申明被喜欢被包含在单人房里<百分之! .百分之>块申明JSP,集中' 身体s在那些 页JSP的一个地区内的申明。 这是一个例子: Disparate declaration blocks Preferred declaration block <%! private int hitCount; %> <%! private Date today; %> . <%! public int getHitCount() return hitCount; %> <%! p

18、rivate int hitCount; private Date today; public int getHitCount() return hitCount; %>HTML 和JSP 代码这部分的JSP 页包括JSP网页HTML主体和JSP代码,如JSP的表达式,字体,和JavaBeans的说明。 标签库描述符标签库描述符(TLD)文件必须以合适的XML申明和正确的DTD描述开头。 例如,一JSP 1.2 TLD 文件必须以下面为开始: <?xml version="1.0" encoding="ISO-8859-1" ?><

19、;!DOCTYPE taglib PUBLIC "-/Sun Microsystems, Inc./DTD JSP Tag Library 1.2/EN" "这立即随后有一条服务器方面风格的意见,列举作者,日期,版权,鉴定信息, 以及关于库的短的描述: <!- - Author(s): - Date: - Copyright Notice: - (#) - Description: ->使用这些要素为指南的规章和指导方针与关于对为JSP 文件/碎片文件定义的那些是一样的。文档剩下部分包含以下部分,以它们出现的顺序为序:对正确的标签库的可选择的申明对事件

20、响应者的可选择的申明对一个或多个激活的标签的申明建议你为TLD文档的要素加入以下可选择的副要素。这些副要素为标签设计者提供地址记录来记录行为和额外的TLD文档的信息,然后对网络部分开发者开放它们。JSP1.2建议TLD要素JSP1.1建议副要素副要素性质描述(JSP1.2)开始程序描述(JSP1.2)标签显示名称,描述,例子名,信息taglib uri,显示名称,uri描述,信息正确描述(JSP1.2)多种描述(JSP1.2)首行缩排缺口必须被空格符填满。标签符引起不同编辑者对空格符的不同理解,不能在JSP页面里使用缺口。除非被特殊集成开发环境(IDE)工具限制.这儿是一个例子: <my

21、TagLib:forEach var="client" items="$clients"> <myTagLib:mail value="$client" /></myTagLib:forEach>持续缺口会使前一行里固有的点调整随后一系列阻塞。持续缺口是正常缺口复合的单元(多组的4空符):<% page attribute1="value1" attribute2="value2" . attributeN="valueN" %>正本

22、要素的缺口当一个JSP正本要素(如申明、正本、表达式)不适合单行,则采用的正本语言缺口条约适合要素主体。主体从同一行开始以要素标记<%=开头,开始新的一行也是以<%=开头。主体然后以结束标记(%>)在单独一行表示结束。如:<%= (Calendar.getInstance().get(Calendar.DAY_OF_WEEK) =Calendar.SUNDAY) ? "Sleep in" : "Go to work" %>JSP,HTML和Java的混合缺口。因为JSP要素混合着Java代码和暂时文档,混和缺口对于降低理解J

23、SP来源文件是必要的。这是因为形式上的正常的缺口可能使看见JSP源文件很困难。作为普遍规则,对每个在另外被引用的要素要使用一个多余的正常缺口单元。注意这会改变客户端的最终输出的缺口致使显示。然而多余的缺口经常被浏览器忽略,致使浏览器上的输出无效。例如,在TABLE标签前加入多个空格不会改变表格的位置。所以,采用这种缺口形式能使之看上去更好看。 <table> <% if ( tableHeaderRequired ) %> <tr> <th>Last Name</th> <th>First Name</th>

24、</tr> <% %> <c:forEach var="customer" items="$customers"> <tr> <td><c:out value="$customer.lastName"/></td> <td><c:out value="$customer.firstName"/></td> </tr> </c:forEach> </table>比

25、这种要好: <table> <% if ( tableHeaderRequired ) %> <tr> <th>Last Name</th> <th>First Name</th> </tr> <% %> <c:forEach var="customer" items="$customers"> <tr> <td><c:out value="$customer.lastName"/>

26、;</td> <td><c:out value="$customer.firstName"/></td> </tr> </c:forEach> </table>标注标注谨慎的被用来描述多余的信息或者周围代码的目的。这里我们看一下两种JSP文档的标注:JSP和客户端的评注。JSP标注JSP标注(也称为服务端评注)只对服务端可视(也就是客户端是无法看见)。纯JSP标注要比用scripting语言写的JSP标注更好,因为前者不大要依赖于基本的scripting语言,更容易演变成JSP2.0类型的页

27、面。接下来的表格说明了:用scripting语言标注的JSP,JSP纯标注行单行 <% /* . */ %> <% /* . */ %> <% / . %> <%- . -%> 多行 <% /* * . * */ %> <%- - . - - %> <% / / . / %>客户端的标注客户端的标注(<!- . ->)能被用来注解发给用户关于反馈的多余信息的反应。不应该包含服务端申请或引起反应的代码的行为和内部结构的信息。使用客户端标注通常不被鼓励,因为客户/用户不需要读这些标注只要能直接把收到的反

28、馈翻译过来。真实性和合法性的目的是例外如辨认版权信息像上面描述的。另一个例外就是HTML作者使用少量HTML标注能体现HTML文档结构的方针。如: <!- toolbar section -> .<!- left-hand side navigation bar -> .<!- main body -> .<!- footer -> .多行标注阻塞一个多行标注阻塞,无论它是JSP还是客户端,由短横线“”标记。在XML说明书里,双横线“”不允许出现在XML评注阻塞中。所以,为了和这个说明书相容和一贯,没有双横线用在多行评注阻塞点缀评论行中。下面的表

29、格显示了使用客户端评注的优势。 <!- - line 1 - line 2 . -> <!- - line 1 - line 2 . ->JSP申明每个Java代码段,相同类型变量的申明应该在不同的行:不建议 <%! private int x, y; %> <%! private int x; %> <%! private int y; %>JavaBeans的组成部分不需要申明和使用JSP申明例子但要使用<jsp:useBean>激活标签。总的来说,JSP对变量的申明不提倡因为他们导致使用scripting语言引起买卖

30、逻辑波动和Java代码进入JSP页面,而该页面设计用来展示目的的,由于全局掌握变量的范围。JSP Scriptlets无论标签库是否提供公式功能只要有可能就避免使用JSP scriptlets。这能使页面更容易读和保持,帮助从表现逻辑中区分事务逻辑,将会使你的页面更易发展成JSP2.0版本的页面(JSP2.0版本支持但不强调使用scriptlets)。在下面的例子,每个数据类型代表顾客,不同的scriptlet应该这样写:客户作为Customers数组<table> <% for ( int i=0; i<customers.length; i+ ) %> <

31、;tr> <td><%= customersi.getLastName() %></td> <td><%= customersi.getFirstName() %></td> </tr> <% %> </table>客户端作为计数<table> <% for ( Enumeration e = customers.elements(); e.hasMoreElements(); ) Customer customer = (Customer)e.nextEleme

32、nt(); %> <tr> <td><%= customer.getLastName() %></td> <td><%= customer.getFirstName() %></td> </tr> <% %> </table>不过,如果一座共同标签库被使用,在使用用户的不同的类型方面有一种更高的灵活性。 例如,在JSP内,标准标签库,JSP 代码的下列部分将支持两个阵列两个列举用户的表现: <table> <c:forEach var="cu

33、stomer" items="$customers"> <tr> <td><c:out value="$customer.lastName"/></td> <td><c:out value="$customer.firstName"/></td> </tr> </c:forEach> </table>不过,如果一座共同标签库被使用,在使用用户的不同的类型方面有一种更高的灵活性。 例如,在JSP内,标准

34、标签库,JSP 代码的下列部分将支持两个阵列两个列举用户的表现: <% / NOT RECOMMENDED TO BE DONE AS A SCRIPTLET! Connection conn = null; try / Get connection InitialContext ctx = new InitialContext(); DataSource ds = (DataSource)ctx.lookup("customerDS"); conn = ds.getConnection(); / Get customer names Statement stmt =

35、 conn.createStatement(); ResultSet rs = stmt.executeQuery("SELECT name FROM customer"); / Display names while ( rs.next() ) out.println( rs.getString("name") + "<br>"); catch (SQLException e) out.println("Could not retrieve customer names:" + e); finally

36、 if ( conn != null ) conn.close(); %>JSP 代码的下列部分更好, 作为代表它那些与数据库那儿相互作用在myTags 标签那些风俗:隐藏那些从属性的那些它实施的代码数据库的密封并且的dataSource: <myTags:dataSource name="customerDS" table="customer" columns="name" var="result" /><c:forEach var="row" items="

37、$result.rows"> <c:out value="$row.name" /> <br /></c:forEach>结果以风俗介绍的一个写稿的变量把myTags:dataSource并入保存挽回那些用户从用户数据库的名字的结果。 JSP 代码也能提高产生不同种类的产量(HTML,XML,WML)基于客户动力需要, 没有影响后端代码(对dataSource 标签来说)。 一种更好的选择将授予进行数据检索的一位前面控制人员servlet这, 提供给JSP 页通过请求scoped的结果把归于。 看见JAVA一个例子的蓝图的

38、企业部分。 总之: JSP scriptlets 应该最好在JSP 页里是不存在的,以便JSP 页不依赖命令式语言程序, 并且在JSP 页内的业务逻辑实施被避免。 如果不可能, 使用价值目标(零部件JavaBeans)适合把信息传播往返于那些边服务器,并且用JSP scriptlets 改变价值反对客户产量。 使用风俗标签(标签处理机)无论何时适合被处理的信息在服务器面上可提供。 JSP 表达方式JSP 表达方式应该被使用就和JSP Scriptlets一样节约。 为了说明这,让 ' s作为完成等效的任务的以下的3 个例子看: Example 1 (with explicit Java

39、 code): <%= myBean.getName() %>Example 2 (with JSP tag): <jsp:getProperty name="myBean" property="name" />Example 3 (with JSTL tag): <c:out value="$myBean.name" />例子1以为一个写稿的称为myBean的变量被申明。 其它二个例子以为myBean,scoped把可能被发现使用PageContext.findAttribute归于()。 也的第

40、2 例子以为myBean被介绍到那些页使用。 在3 个例子中,JSTL 标签例子被更喜欢。 它几乎象JSP 表示一样短,读是一样容易的,更容易保持, 并且它不依赖JAVA scriptlets(哪个将要求网开发者熟悉语言和API打电话)。 而且,逐步形成成JSP 2.0个体例程序设计更容易做页,在那里等价物可能通过仅仅打印美元被完成 myBean.name 用模板正文。 那选择收养,在开发者和在生产JSP 页在相同的工程内的全部始终如一的网中一致同意。 应当指出 JSTL例子实际上有点不同它得myBean从页上下文的价值而不是从写稿易变的一地方JAVA那里。 最后,JSP 表达方式比依赖基础的

41、写稿的语言的句法的相等的JSP scriptlets有优先权。 例如, <%= x %> 被结束更喜欢 <% out.print( x ); %>白色空间白色空间更进一步以美化JSP 代码降低含义和维护努力提高凹口。 尤其,空白的线和空间必要的话应该在一个JSP 文件里被在各种各样的位置插入。 空白的空白产品产品节约被使用改进可读性那儿<罢工>页JSP, 假若他们不对生产产生不需要的影响。 对于下面的例子来说, 一空白产品在二JSP表情在街区叫的<预>的一HTML 里面之间插入引起一额外产品在可见的HTML 产量内插入, 在内客户 ' s

42、 浏览器。 如果那些空白产品不在里面,不过一<预>块,那些影响不可见在那些 浏览器内',产量s。对客户的JSP 陈述HTML 生产 <pre> <%= customer.getFirstName() %> <%= customer.getLastName() %> </pre> Joe Block <pre> <%= customer.getFirstName() %> <%= customer.getLastName() %> </pre> Joe Block <%= c

43、ustomer.getFirstName() %> <%= customer.getLastName() %> Joe Block空白一白色的空格符(显示为)应该被在一个JSP 标签和它的身体之间插入。 例如,如下内容 <%= customer.getName() %>更喜欢结束 <%=customer.getName()%> 也应该有分开JSP 意见标签和意见的空格符: <%- - a multi-line comment broken into pieces, each of which - occupying a single line.

44、-%><%- a short comment -%>使用命名约定的命名约定制造你的更容易鉴定,在工程里分类并且协调的网零部件要素。 在这个部分里,我们将看仅限于JSP 技术的这些约定。 JSP名字一个JSP(文件)名字应该总是从一个小写字母开始。 名字可能由多话组成,在这种情况下,话安置立即临近和每句话从一个大写字母开始。 一个JSP名字可能只是简单的名词或者一个短的句子。 一个仅用于动词的JSP名字应该被避免,因为它不把足够的信息传送给开发者。 例如: perform.jsp不像 performLogin.jsp 那么清楚就一个动词作为一个JSP名字的一部分而论, 现在时形

45、式应该使用,一行动经由处理的后端被表示: showAccountDetails.jsp被结束更喜欢 showingAccountDetails.jsp 标签名字标签处理机和相关种类的命名约定被显示如下: Description Class Name XXX tag extra info (extending from javax.servlet.jsp.tagext.TagExtraInfo) XXXTEI XXX tag library validator (extending from javax.servlet.jsp.tagext.TagLibraryValidator) XXXTLV

46、 XXX tag handler interface (extending from javax.servlet.jsp.tagext.Tag/IterationTag/BodyTag) XXXTag XXX tag handler implementation XXXTag 另外,标签名字不可而在相关代码习俗给JAVA技术内指定违犯班级和接口的命名约定。 为了更进一步离其他种类区分一种相关标签的种类,包裹后缀,标签或者taglib 能被用于种类的包裹名字。 例如: com.mycorp.myapp.tags.XXXTag前缀标签应该的名字前缀标签一短然而箱标题和下档那些第一个字符有意义名词。

47、 一个附加语前缀不应该包含非字母字符。 这是一些例子:Example OK? mytaglib no myTagLib yes MyTagLib no MyTagLib1 no My_Tag_Lib no My$Tag$Lib no 用XML句法JSP的JSP 页提供两不同的句法: 为为写JSP 页作为一份XML 资料写JSP 页和"XML句法"的"标准句法"。 被使用标准句法写的JSP 页被称为"JSP 页。 "被使用XML句法写的JSP 页被称为"JSP 资料"。 主要的这篇文章地址JSP 页,但是大多数概念也

48、能被用于JSP 资料。 当XML 变得更流行时,使用JSP 资料预计增加, 寄给这JSP 2.0种说明将介绍友好得多的XML句法。 应当指出XML句法常常作者JSP 页与不同,并且经常同混淆起来XML一JSP 页的意见。 页作者对作者使用标准或者XML句法一JSP 页。 集装箱然后翻译进它XML 意见的JSP 页,哪个是与接触给库Validators加标签。 JSP 资料结构JSP 资料有以下的基本的结构: <? xml version="1.0" ?> <!- - Author(s): - Date: - Copyright Notice: - (#)

49、- Description: -> <jsp:root xmlns:jsp=" xmlns:prefix1="URI-for-taglib1" xmlns:prefix2="URI-for-taglib2" version="1.2"> JSP Document . </jsp:root>首行是把页定义为一份XML 资料的一篇可选择的XML序言。 在可选择的序言为资料变成那些意见之后。 那些元素作为资料JSP 确定这并且出现不作为那些元素根必须。 jsp namespace 必须被输入,并且全部

50、标签库必须被使用这种根要素输入。 版本把归于要求并且指定JSP 说明的版本正被使用哪个。 真实满足那些JSP的资料作为subelements 出现一定被被等效的他们的XML那里替换,例如。 欲了解详细信息,参见JSP 说明。 XML 说明JSP 指定对是否XML 样式说明被在生产上拆开不清楚, 因此如果一条意见意图是达成客户,是安全的, 它应该随函附上在内一节点,如下: . <jsp:text><!CDATA <!- - Multiline comment - to be sent to client. -> ></jsp:text> .在JSP

51、 资料里的Java 代码, 当在申明,scriptlets 和表情里面给JAVA代码写信时,一种CDATA 要素只应该被使用, 必要保证你的代码不传播开资料结构时。 . <jsp:scriptlet> for( int level = 0; level &lt; 3; level+ ) </jsp:scriptlet> <tr> <td> <jsp:expression><!CDATA "<h" + level + ">Text</h" + level + &qu

52、ot;>" ></jsp:expression> </td> </tr> <jsp:scriptlet> </jsp:scriptlet> .与在标准句法方面的那些不同,不管一种要素的内容,XML 凹口规章应该被跟随。 编程惯例通常,避免写JAVA代码(申明,scriptlets 和表情)在你的JSP 页内,适合下列理由: 用在一JSP 页里的Java 代码的句法错误直到页被部署才被发现。 用标签库和servlets的句法错误, 另一方面,在部署之前被发现。 在JSP 页里的Java 代码更难调试。 特别为可能不

53、是Java专家的页作者,在JSP 页里的Java 代码更难保持。 不使复杂的业务逻辑与赠送逻辑混合一般被接受为实践。 JSP 页主要倾向于赠送逻辑。 包含Java 代码,HTML 的代码和为指令写稿子的另一个可能难读。 JSP 2.0 说明是赞成一种非常简单表达式语言的deemphasizing scriptlets。 如果Java 代码没被在你的页里使用,把你的JSP 页逐步形成成JSP 2.0个体例程序设计将更容易。 看见JAVA更多的指南和细节的蓝图的企业部分。 JavaBeans 零部件预置JSP 技术提供一种便利的要素初始化全部PropertyDescriptor 鉴定的一个Java

54、Beans 零部件的特性。 例如: <jsp:setProperty name="bankClient" property="*"/>不过,这应该被谨慎使用。 首先,如果豆有特性,比如说,数量, 并且在当今的ServletRequest 物体里没有这样的参数(数量)或者参数价值是"",没有什么被做: JSP 页甚至不使用空行确定豆的那特别的财产。 因此,任何价值已经被分配在bankClient 豆内合计未受影响。 第二, 不让人确定PropertyEditors的非初步特性可能不含蓄从ServletRequest 物体的线

55、价值初始化,明确变换可能被需要。 第三,存心不良的用户能增加另外的请求参数并且确定豆的非故意的特性,如果应用没被仔细设计。 你仍然喜欢使用财产= "* "在jsp内:为了生产更整洁的代码的setProperty 标签, 然后我们推荐,那你增加意见在之前那些jsp:大约参数的标签setProperty 期望存在于要初始化那些豆的目标ServletRequest。 因此,在下列例子里,从意见我们知道firstName和lastName被要求初始化bankClient 豆: <%- - requires firstName and lastName from the Ser

56、vletRequest -%><jsp:setProperty name="bankClient" property="*" />直接使用的JSP的目的暗示的JSP要获得参考这几次目标的暗示目标而不是API 叫被更喜欢。 因此,而不是使用 getServletConfig().getServletContext().getInitParameter("param")为了象通过ServletContext 实例提供的那样进入预置参数,一个人能利用容易可提供的暗示的物体: application.getInitParam

57、eter("param")在只一个预置参数的价值被输出的情况里, 使用一个JSTL 标签进入预置参数将更好: <c:out value="$initParam'param'" />引用引用的相同的用途被采用。 摘引应该受两双倍引语的字符约束"而不是两撇号字符 '。 引用的非制服更喜欢引用 <% page import='javabeans.*'%><% page import="java.util.*" %> <% page import=&q

58、uot;javabeans.*" %><% page import="java.util.*" %>一个例外是撇号被需要的时间,例如双倍引语的字符被在命令式语言程序内要求: <jsp:include page='<%= getFoodMenuBar("Monday") %>' />如果一个风俗标签没有身体内容,使用风俗标签, 那些内容应该被明确申明与空(而不是给那些" JSP"单词拖欠)在那些描述符库标签内象这样: <tag> <name>he

59、llo</name> <tag-class>com.mycorp.util.taglib.HelloTagSupport</tag-class> <body-content>empty</body-content> .</tag>这告诉JSP 集装箱身体内容一定是空的而不是包含任何JSP句法被分析。 影响消除不必要资源分配分析空身体内容。 空标签应该在短元素XML内,而不是使用打开关闭对元素XML 改进易读性。 因此, <myTag:hello />is preferred over <myTag:hel

60、lo></myTag:hello>有时使用TagExtraInfo 和TagLibraryValidator,库不能被单独使用TLD 表示的使用一个标签的有效的方式。 那时, 一种TagExtraInfo 种类或者一种TagLibraryValidator 种类应该被写并且在TLD里记录,以便用标签库的错误可能是被想抓住的翻译时间。 Java脚本技术Java脚本技术的使用应该与特别的浏览器类型的特征无关为了手稿跑正确。 这里它有意义, 在与JSP 身体是分开的的个人档案里保持Java脚本代码是一种好想法, 并且象如下内容一样使用一个陈述把Java脚本代码输入进JSP 身体:

61、<script language=javascript src="/js/main.js">这改进机会让Java脚本代码被重新使用, 保持穿过多JSP 页的Java脚本代码的一致的行为,和降低JSP 页的复杂性。 串联样式床单使用串联样式床单集中标题,桌子,等等的普通的特性的控制。 这改进赠送的一致成那些用户并且降低维修努力和JSP 页的代码大小。 因此,不是象下面的那个一样在HTML 标签内嵌入样式信息: <H1><FONT color="blue">Chapter 1</FONT></H1>

62、.<H1><FONT color="blue">Chapter 2</FONT></H1>.确定风格包含的一张单个的风格图表myJspStyle.css 信息: H1 color: blue And apply the style sheet to the JSP page: <link rel="stylesheet" href="css/myJspStyle.css" type="text/css">.<H1>Chapter 1</H

63、1>.<H1>Chapter 2</H1>.合成意见一JSP 页需要可能还在其他JSP 页内重复的一个肯定和复杂的结构的模式的使用, 处理这的一方法打碎向上的它,使用合成观点图案(图案JAVA蓝图的部分)。 例如,一JSP 页有时用它的赠送结构有以下的合乎逻辑的布局: header menu bar main body footnote footer 如此,这合成JSP 页可能被分成不同的模件,每一个作为一个单独的JSP碎片意识到。 组成的JSP碎片在合成JSP 页里然后能被安置在合适的位置,使用翻译时间或者请求时间包括JSP 标签。 通常, 当静电干扰包括时,指

64、令用来包括将不被单独请求的一页, 记得要使用那些扩展.jspf并且安置那些文件在内/Web 信息/ jspf / 目录的那些档案(战争)应用Web 的。 例如: <% include file="/WEB-INF/jspf/header.jspf" %>.<% include file="/WEB-INF/jspf/menuBar.jspf" %>.<jsp:include page="<%= currentBody %>" />.<% include file="/WEB-INF/jspf/footnote.jspf" %>.<% include file="/WEB-INF/jspf/footer.jspf" %>其他建议在这篇文章内,我们提出一套推荐代码协定 生产更可维修和一致的JSP 代码和网零部件人工制品。 如果你选择更进一步追随这个主题,有很多其他最佳实践。 例如, JSP 1.2 说明为确定新暗示目标访问卖主具体信息定制一标签还库有建议, JAVA蓝图宽规模提供最佳实践,例如使用模型风景控制人员图案(在图案部分内发现)。 我们 '关于在这篇文章里提

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!