jsp开发规范

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

文件命名 文件名按照 unix 的命名习惯,文件名用小写字母,如果名字是由两个或以上单词构成,从 第二个单词开始, 第一个字母大写, 一般不用下划线连接, 不要用中文拼音和英文单词混用。 JSP 程序要尽量做到简洁 要作到这步必须先把页面的风格确定。然后对页面进行拆分。一般可以分出 4 个部分。第 一个部分是页面的头:第二个部分是标签部分。第三个部分是动态实现部分(写的程序实现 一般在这个部分实现) ,第四个部分是页面的尾部。 要保证第一,二,四这三个部分是所有的程序公用部分。这样的修改起来方便。 程序实现起来只操作第三部分,这样程序看起来简单、易读。 与 javascript 代码分离
4
jsp 页面模型 bean: <pagename>Bean 如 loginBean.java jsp 会话标记 bean: xxxxSessionBean 标记类: xxxxTag,xxxxTagExtraInfo 7.应在 jsp 中避免使用页面引入指令。import 指令会促使类的实例化而不是 jsp bean 的 实例化 不用:<%@ page import="com.java.util"%> 而用:<%java.until.List a = new java.util.LinkedList();%> 8.jsp 不要直接访问请求参数,bean 应该执行这样的处理过程并且输出所处理的模型数据 9.jsp 不应该访问属性文件,或者使 JNDI 。bean 可以访问属性 10.如果 jsp bean 具有的所有属性不能能页面请求中被映射到, 就要尽力在<jsp:useBean> 标记中设置属性 11.应该避免设计既显示表单又处理结果的页面 12.在 jsp 中避免代码重复。把要重复的功能放在一个包含 jsp、bean 或标记扩展中,使得 它能够被重用 13.jsp bean 永远不要去生成 HTML 14.在 jsp 中应该避免使用 out.println()产生页面内容 15.jsp 不应该直接访问数据,这包括 JDBC 数据库访问和 EJB 访问 16.在长度上,scriptlests 的代码最好不超过 5 行 17.除了 jsp bean,jsp 不应该去实例化复杂的可读写的对象。如果这样的话,就有可能在 jsp 中去执行不适当的 业务逻辑 18.jsp bean 中不应该包含大量的数据 19.如果使用了<jsp:forward>和<jsp:include 标记>,并且必须使用简单类型的值来与外 部页面进行通讯的话 ,就应该使用一个或多个<jsp:param>元素 20.定制标记应该在适当把逻辑从 jsp 中移走的地方 21.应该谨慎地使用<jsp:forward>标记,在 jsp 中,它是一个等价的 goto 22.应该使用隐藏的注释来阻止输出过大的 html Nhomakorabea5
23.在 jsp 中避免进行异常处理 24.每个 jsp 文件中都应该使用一个错误页面来处理不能够从中恢复的异常 25.在 jsp 错误页面中,使用 HTML 注释来显示传递到该页面中的异常跟踪信息 26.只有在能获得性能上的好处时, 才使用 jspInin()方法和 jspDestroy()方法。 获取和放 弃资源是 jsp bean 和标 记处理器的事,而不是由 jsp 来负责 27.如果没有充分的理由,就不要在 jsp 中定义方法和内部类
项目/产品开发规范
JSP 编码规范(Version 1.0)
文档信息
文档分类 文档名称 文档编号 保密级别 文档状态
项目/产品开发技术规范 Jsp 编码规范 文档版本号 公开资料 内部资料 保密资料 机密资料 初稿 讨论稿 发布 1.0
1
表示选中,表示未选中 文档变更记录
版本编号 v1.0
2
所有的 JS 应该单独写到公共的目录里面去。然后在页面的开始这样包含进来 <script src="../../../js/check.js"></script> 第三部分实现规范 因为程序代码都是写在这里的所以 JSP 程序需要规范的地方主要是这里。 变量名: 以小写字母和数字组成,可以用单词和中文拼音的简写,但是要求注明其对应的中文,如 果是多个单词组成,其书写和文件名要求一样,第二个单词首字母大写。 定义变量的时候要尽量规范(满足命名规则) ,定义的时候要说明变量的含义。 如 int EnterpriseCount = 0; //企业总数 代码书写: 要求代码段落清晰,每一层嵌套都要求缩进一个 tab 键(4 位长度) ,一段功能或流程结束 后要加上一个空行。 每个程序文件要求 java 代码和 html 代码分离, 方便日后系统维护和随 时修改风格。 按照目前的例子, 流程控制文件拷贝并改名后只修改其中的 include 的模块和 按需求 include 的 label 部分,其他的不动。在模块文件中只需 form 和 table 等简单的 HTML 对象即可,页面中不要在 html 代码中加入页面显示的风格设定,方便界面的统一和控 制,如果要使用,在 css/style.css 文件中加入,然后再引用,如 class=”myStyle”。并 且不能加入 java 设定的 charset,否则会出错。 模块: 如果是可以作为模块(modul)使用的 jsp 文件,要求放在根下的 modul 目录下,其命名是 该模块的功能加上 modul 作为文件名,例如 userModul.jsp;如果不能作为模块使用,要求 其命名方式和作为模块时一样, 只是放在其自身目录下。 在模块文件中, 其 form 中的 action 不能有值,保持其为空,提交时可以用 document.myform.action=”abc.jsp”;的方式来修 改或者使用获得当前页面的文件名的 js 函数来获取。 按钮: 所有的按钮都是使用图片,不用浏览器默认的各种 button。要求用图片和超链,其写法如 下 : <a href=”javascript:myFunc(‘parameter’);”><img src=”../../images/b_next.gif” border=”0” name=”mybutton”></a>, 不用 onclick 事件,因为有浏览器的支持问题。按钮对应的函数中如果要提交,在 js 中加上类似 document.myform.action=”user.jsp”;document.myform.submit();在 from 中, 一般是一 个页面只有一个 form, 所以, 为了写 javascript 的方便, 每个 form 的 name 都等于 myform, 并要求加上 onsubmit=”return false”。 连接: 所有的连接使用相对路径,如:../../的方式,不能使用绝对路径和直接使用从根目录向 下的方式,如:/abc/def/g.jsp。 每个页面都有自己运行时相关的 javabean 和 js,要求在模块文件中加上。 页面传值: 页面间传值的时候尽量多用如下传值方式 <input name="helpid" type="hidden" value="1"> Js 使用: 每个页面都有可能用到各种相关的 js 函数,在 common 目录下是存放各种不好归类和根下 文件使用的 js,其他的目录各自按业务模块建立,分别存放其对应的要使用的 js 文件,在 util 目录下有一个 util.js 的文件,里面有各种通用的函数,也可以在其中加入通用的函 数, 但是要求写在里面的函数不能和任何特定文件有关, 例如某个文件有一个特定的名字的
6
版本日期 2005-2-22


说 初稿

审核批准
批准组织
批准部门


版权声明 XX 公司,版权所有,保留一切权利。 本文件中出现的任何文字叙述、文件格式、插图、照片、方法、过程等内容,除另有特 别注明,版权均属 XX 公司所有,受到有关产权及版权法保护。任何个人、机构未经 XX 公司 的书面授权许可,不得复制或引用本文件的任何片断(无论通过电子形式或非电子形式) , 并不得以任何形式传播。
3
对象,而在其中加入,这是不允许的,里面只能是实现各种功能的通用函数。各自的特定 js 函 数 写 成 文 件 放 在 各 个 功 能 对 应 的 目 录 下 , 并 且 在 模 块 文 件 中 用 <script src=”../../js/user/myJavascript.js”></script>的方式加入。页面中所有使用的动态 的维护数据都用使用包含 js 的方式,虽然使用 src 可以显示,但是有时设定动态的值有问 题,所以要求使用 jsp 的 include 的方式加入。 目录结构说明: 所有模块或独立功能的业务放在根目录下,建立一个目录,在其下按业务要求分别建立子 目录,存放各个独立业务。 在 js 目录下,按照一个独立模块建立一个目录,分别放置各个模块的 js。对于下拉框用 的 js 维护表文件,统一放在 js 目录下的 include 目录下,方便每个模块的 jsp include 它 , 也 方 便 后 台 程 序 写 js 文 件 , 对 于 下 拉 框 的 js 文 件 , 里 面 只 需 如 <option value=”myValue”>myName</option>的形式,不要有多余的成分,在使用时,按照如下方 式:<%@ include file=”../../js/include/type.js”%>,将 jsp 代码嵌在 html 代码的 <select name=”type”></select>中间。根目录下的 modul 目录下的 jsp 文件中用到的 js (主要是指用于 check 或者客户端动态功能的 js,如果是用于下拉框或者其他维护表性质 的 js 还是放在 js/include 下)放在 js/modul 下。每个模块的不能使用其他模块下的 js 文件,就算是一样的也不可以。 所 有 的 图 片 都 放 在 根 下 的 images 下 , 在 jsp 文 件 中 以 相 对 路 径 引 用 , 如 : <img src=”../../images/test.gif”>。 在 inc 目录下放的是 html 文件的模板和通用的标签文件, 如果要修改 web 的页面风格, 只 需修改 html 目录下的文件就可以改变所有页面风格。label 目录下放的是标签文件,其构 成如下:每个 label 有两个文件,一个是当前激活状态时显示的,另一个是非激活状态时显 示的,文件内唯一的区别是链接的图片不同,激活状态用的是带_w 的 gif 图片。 css 目录下放的是页面中要用的 css 文件。 help 目录下放的是系统的在线帮助,其文件是通过 thisHelp(id)函数传入的参数定位。 modul 目录下放的是通用的 jsp 模块。 所有的 javabean 和 EJB 放在 WEB-INF 目录下的 classes 目录下,那是 weblogic 的要求。 所有程序在本地调试通过后,要放到 unix 服务器上在运行一遍,做到不出错,保证不同平 台都可以运行。 编码规范 1.整个 jsp/jsp bean 表示层尽可能的瘦和简化 2.牢记大多数的 jsp 都应当是只读的视图,而由页面 bean 来提供模型 3.应当一起设计 jsp 和 jsp bean 4.在尽可能的合理的情况下,把业务逻辑从 jsp 中移走。具体于 http 的逻辑(如对 cookie 的处理)属于 bean 或支持 类中,而不是 jsp 中 5.尽量把条件逻辑放在控制器中而不是放在视图中 6.为 jsp、包含的文件、jsp bean 和实现扩展标记的类使用遵循标准的命名惯例如: jsp 控制器 xxxxController.jsp
相关文档
最新文档