以下的建议将帮助你更有效地使用本文所描述的 Java 编程标准:

*******************************************************

当你写代码时就应该遵守标准,而不应是一个事后的想法。

加了注释的代码不仅在你写程序时,而且在你写完程序时,都更容易理解。

在程序开发阶段和维护阶段,一致性地命名成员函数和字段都使工作更加容易。

在开发和维护阶段,整洁的代码让工作更加容易。

概括起来说,遵守标准将提高你开发过程中的生产率,并且使你的代码更易维护(因此也使维护者的生产率提高了)。

如果从一开始你就写出整洁的代码,你将在撰写过程中受益。使它们成为你的质量保证的过程。代码检查的一部分应该是确保源码遵守你的机构所采用的标准。

将标准作为你训练和指导开发员更有效率的基础。

常量要么放在.properties属性文件或者接口和抽象类中。

*******************************************************(服务平台)

目录结构

src

       ------jdbc_mysql.properties                      数据库连接配置

       ------log4j.properties                    日志组件配置

       ------applcationContent.xml            负责引用服务端所有 Spring 配置文件路径

       ------struts.xml                                 负责处理action

    -----com.accp.class20.模块名 

                        

                                       -------config

 

                                                 ----spring

                                                 ----struts

-------model

-------dao

-------service

-------hessian(对内)

-------webservice(对外跨平台,看情况开发)

                                    

                                       -------web

-------intercepor

-------listener

-------filter

                                       

                                              -------action

------core 

                                   ---------dao

                                   ---------service

                                   ---------action

                                   ---------util

                                   -------intercepor

                                   -------listener

                                   -------filter

------com.accp.class20.模块名 (单元测试)

------测试实体类

webroot

   ----- css

-----js

   

   -----image

  

   -----WEB-INF

       

         ------pages

                  

                  ------模块名

                         

                             

                -----实体名

                     

                                   

                                       -----实体名_main.jsp

-----实体名_add.jsp

                                      

                                       -----实体名_edit.jsp

-----实体名_display.jsp

-----index.jsp

***************************************************************

Spring

配置文件以spring-开头的自动加载,如:

  spring-user.xml

  spring-role.xml

struts

配置文件以struts-开头的自动加载,如:

 struts-user.xml

 struts-role.xml

********************************************************

命名规范

实体Entity 如UserEntity

持久层接口UserDao

持久层实现类UserDaoImpl

对外发布接口UserService

接口实现类UserServiceImpl

hessian接口UserHessain

hessian实现类UserHessainImpl

webservice接口 UserWs

webservice实现类UserWsImpl

********************************************************    

代码规范

一定要单元测试,打包发布时不要发布。

********************************************************

架构规范

dao层单独处理,service调用dao层,所有的业务处理放在service层,hessian调用service,hessian对外发布为服务,action调用hessian层。

********************************************************

POJO层

映射的实体对象。与数据库的表对应。

放到模块的model包下。

DVO层

映射的实体对象。与数据库的视图对应。

放到模块的dvo包下。

Dao层

逻辑服务处理对象,完成一个业务的逻辑处理功能

放到模块的dao包下

方法名必须以 create* , del* , update*, start*, cancel* , stop*, save* , add* ,remove* , saveOrUpdate*,createBatch*,deleteBatch*,updateBatch*,pay* 等匹配的才会是带事务的方法,否则不能进行增删改操作

查询方法必须以load*,loadBy*,findListBy*,findAllList*

Service层

逻辑服务处理对象,完成一个业务的逻辑处理功能

放到模块的service包下

方法名必须以 create* , del* , update*, start*, cancel* , stop*, save* , add* ,remove* , saveOrUpdate*,createBatch*,deleteBatch*,updateBatch*,pay* 等匹配的才会是带事务的方法,否则不能进行增删改操作

查询方法必须以load*,loadBy*,findListBy*,findAllList*

动宾结构形式的名称

两个单词之间不要带其它符号

方法命名不得采用缩写形式

方法命名的基本原则:容易看懂

Hessian层

逻辑服务处理对象,完成一个业务的逻辑处理功能

放到模块的hessain包下

方法名必须以 create* , del* , update*, start*, cancel* , stop*, save* , add* ,remove* , saveOrUpdate*,createBatch*,deleteBatch*,updateBatch*,pay* 等匹配的才会是带事务的方法,否则不能进行增删改操作

查询方法必须以load*,loadBy*,findListBy*,findAllList*

动宾结构形式的名称

两个单词之间不要带其它符号

方法命名不得采用缩写形式

方法命名的基本原则:容易看懂

Controller层

Controller类中的方法命名统一采用do*(执行操作)、go*(显示页面).在Action中不应该出现一个public的方法不是以go或do开头。

在不会引起混淆的情况下,Controller的method命名可不加模块名称这时,可如下命名更简便(具体如何视情况而定):

操作说明             方法名                    action的配置                jsp页面(或返回的Controller)

进入每个模块的主页:     goCodeRuleMain            codeRule_main.action        codeRule_main.jsp

进入高级查询页面:    goCodeRuleFind        codeRule_find.action        codeRule_find.jsp

进入新增页面:        goCodeRuleAdd        codeRule_add.action        codeRule_add.jsp

进入批量新增页面:    goCodeRuleAddBatch    codeRule_addBatch.action    codeRule_addBatch.jsp

进入修改页面:        goCodeRuleEdit        codeRule_edit.action        codeRule_edit.jsp

进入批量修改页面:    goCodeRuleEditBatch    codeRule_editBatch.action    codeRule_editBatch.jsp

进入浏览页面:        goCodeRuleDisplay    codeRule_display.action        codeRule_display.jsp

进入选择页面:        goCodeRuleSelect    codeRule_select.action        codeRule_select.jsp

执行新增操作:        doCodeRuleAdd        addCodeRule.action        codeRule_main.action

执行修改操作:        doCodeRuleEdit        editCodeRule.action        codeRule_main.action

执行删除操作:        doCodeRuleDel        delCodeRule.action        codeRule_main.action

执行批量操作:        doCodeRuleDelBatch    delCodeRuleBatch.action            codeRule_main.action

********************************************************

快捷键    ctrl + shift + F    进行排版, 代码为统一格式

    ctrl + shift + O    可以消除不使用的 import 类, 和添加需要引用的类

    ctrl + 1 (数字)        在有 warning 的地方, 出现解决方法, 如继承序列化接口的需要唯一序列码

    ctrl + 2, 然后按R     可以对文件中所有的使用该名称的地方进行改名

项目的编码为 UTF-8

********************************************************

jsp文件命名规则:

实体名_main.jsp

实体名_add.jsp

实体名_edit.jsp

实体名_display.jsp

CodeRule=实体名

********************************************************

JavaWeb开发规范的更多相关文章

  1. 规范大于编码-我的javaWeb开发规范

    1.应用名称和数据库名称一致 2.javaBean类名称+s和数据库表名一致 3.返回一条数据时,变量名为javaBean类名称的小写;返回多条数据时,变量名为javaBean类名称的大写 4.jav ...

  2. JavaWeb学习总结-01 JavaWeb开发入门

    一 基本概念 1 Web开发的相关知识 Web,表示网页的意思,它用于表示Internet主机上供外界访问的资源. Internet上供外界访问的Web资源分为: 静态web资源(如html 页面): ...

  3. JavaWeb---总结(一)JavaWeb开发入门

    一.基本概念 1.1.WEB开发的相关知识 WEB,在英语中web即表示网页的意思,它用于表示Internet主机上供外界访问的资源. Internet上供外界访问的Web资源分为: 静态web资源( ...

  4. JavaWeb学习总结(一)——JavaWeb开发入门

    http://www.cnblogs.com/xdp-gacl/p/3729033.html 只为成功找方法,不为失败找借口! JavaWeb学习总结(一)--JavaWeb开发入门 一.基本概念 1 ...

  5. JavaWeb学习总结(一)——JavaWeb开发入门(转载)

    转载自http://www.cnblogs.com/xdp-gacl/p/3729033.html感谢孤傲苍狼的分享. 一.基本概念 1.1.WEB开发的相关知识 WEB,在英语中web即表示网页的意 ...

  6. 李兴华JavaWeb开发笔记

    李兴华JavaWeb开发笔记 1.Java语法-基础 环境变量-JAVA_HOME, PATH, ClassPath 变量名 作用 举例 JAVA_HOME 指向JDK目录 C:\Program Fi ...

  7. JavaWeb学习总结(一)JavaWeb开发入门

    静态网页和动态网页 静态网页:在服务器上没有经过服务器解释执行的网页. 动态网页:在服务器上经过服务器解释执行的网页. 无论是静态网页还是动态网页,客户端看到的网页都是由HTML所构成的,所以Java ...

  8. javaWeb学习总结(1)- JavaWeb开发入门

    一.基本概念 1.1.WEB开发的相关知识 WEB,在英语中web即表示网页的意思,它用于表示Internet主机上供外界访问的资源. Internet上供外界访问的Web资源分为: 静态web资源( ...

  9. JavaWeb学习总结(一)——JavaWeb开发入门(转)

    转载自 http://www.cnblogs.com/xdp-gacl/p/3729033.html 一.基本概念 1.1.WEB开发的相关知识 WEB,在英语中web即表示网页的意思,它用于表示In ...

随机推荐

  1. Python Requests-学习笔记(9)-错误与异常

    遇到网络问题(如:DNS查询失败.拒绝连接等)时,Requests会抛出一个ConnectionError 异常. 遇到罕见的无效HTTP响应时,Requests则会抛出一个 HTTPError 异常 ...

  2. 08-jmeter-plugins-manager.jar插件安装

    1.安装第三方插件:jmeter-plugins-manager 2.将此jar包下载好后放到jmeter的安装目录lib/ext文件夹内, 3.然后运行jmeter,选择菜单“选项”可见插件入口 4 ...

  3. [总结]最近公共祖先(倍增求LCA)

    目录 一.定义 二.LCA的实现流程 1. 预处理 2. 计算LCA 三.例题 例1:P3379 [模板]最近公共祖先(LCA) 四.树上差分 1. 边差分 2. 点差分 3. 例题 一.定义 给定一 ...

  4. 纯js时钟特效详细代码分析实例教程

    电子时钟是网上常见的功能,在学习date对象和定时器功能时,来完成一个电子时钟的制作是不错的选择.学习本教程之前,读者需要具备html和css技能,同时需要有简单的javascript基础. 先准备一 ...

  5. git分支,git commit,git流程

    1. git分支命令规范 1. Master 主分支 2. Dev 开发分支 3. Feature 功能分支(例如:feature-x) 4. Release 预发布分支(例如:release-1.2 ...

  6. word2sequence 把字符串转换数字编码

    地址:http://ai.stanford.edu/~amaas/data/sentiment/,这是一份包含了5万条流行电影的评论数据,其中训练集25000条,测试集25000条. 1.准备数据 d ...

  7. Python数据分析:大众点评数据进行选址

    前言 本文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理. 作者:砂糖侠 如果你处于想学Python或者正在学习Python,Pyth ...

  8. thinkphp5和nginx不得不说的故事

    由于之前学习用的都是apsche,所以对ngnix一窍不通,在这里写给正在学习的同行,希望可以帮助到你们: 如果你不会用apache部署tp5的可以查看我之前发布的文章,里面有提到 phpstudy ...

  9. PHP使用token防止表单重复提交的方法

    本文实例讲述了PHP使用token防止表单重复提交的方法.分享给大家供大家参考,具体如下: ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 2 ...

  10. 元素均匀排列自动换行&二维数组前端遍历

    1.元素均匀排列并自动换行 display:flex; flex-wrap:wrap; 2.getFiled();取一行,取多行的话用getFiled(‘id’,true); 3.二维数组前端遍历: ...