因为最近要写Java-Web的项目,就是通常的那种三层的Jdbc,前端-后端-Db,这两天老师也是讲的很快,我其实是没有听懂多少,感觉就是没有,到现在还是不太清楚一整个Java-Web的项目的交互如何实现,所以今天就是自己再看看然后整理一下项目的过程、原理和具体的实现方法。
Java命名格式整理
就是一直从大一下学习了Java之后到现在都是不是很确定Java的具体的命名格式(其实也就是学完之后就没有写过了),因为有点想毕业直接去工作的,所以觉得还是应该关注一下这个方面了。
包名的规范
- 首先包名都是以小写字母命名,一般以公司名为开始或者是网站可以把域名反过来用作包的命名,例如:
com.scu
。 - 之后跟模块的名称,用户模块:
com.scu.user
。 - 关于模块的访问操作:
- Dao层:(Data Access Object)用于数据库访问的操作。
- Service层:服务层,后端的一些控制操作等。
- Web层:Web相关操作。
com.scu.user.web
类名的书写规范
- 选择有意义的名词
- 参照驼峰命名法,首字母大写,每个词的首字母也大写
- 后缀名一般不要带后缀名
- 具体的应用:
- Dao层
- a、接口类:采用JavaBean+Interface+Dao的形式来定义,即,实体对象+Interface+Dao。 如:用户对象接口类: UserInterfaceDao,其中xxx为模块名称。
- b、实现类:采用JavaBean+Interface+Impl+Dao的形式来定义,即,实体对象 +Interface+Impl+Dao。 如:用户对象实现类:UserInterfaceImplDao
- Service层
- a、接口类:采用Xxx+Interface+Service的形式来定义,即,模块+Interface+Service。 如:用户管理接口类:UserMsgInterfaceServiec
- b、实现类:采用Xxx+Interface+Impl+Service的形式来定义,即,模块+Interface+Impl+Service。如:用户管理实现类:UserMsgInterfaceImplServiec
- Web层(action类)
- a、实现类:采用县 Xxx+Operator+Action的形式来定义,即,模块+操作+Action。如 用户模块User+删除操作Delete+Action = UserDeleteAction
- Dao层
变量的命名
- 普通变量
- 选择有意义的名字,能快速地传达该变量的用途。
- 参照java驼峰命名法,首字母以小写开头,每个单词首字母大写(第一个单词除外)。
- 静态变量
- 选择有意义的名字,能快速地传达该变量的用途。
- 参照java驼峰命名法,采用全部大写的形式来书写,对于采用多词合成的变量采用“_”来连接各单词。如:USER_LIST
方法的命名
- 选择有意义的名字,能快速地传达该方法的用途。一般以动词开头。
- 参照java驼峰命名法,首字母以小写开头,每个单词首字母大写(第一个单词除外)
注释的方法
-
对类的具体的描述
/** * 该类的整体性描述。 * @author 作者 * @version 1.0, 05/22/07 * @since 1.0 */
-
对变量的备注,可以直接使用
//
来进行备注,放在变量之前或者是直接放在变量定义结束符之后。 -
对函数的注释,可以使用/**/来解释,也可以使用如下的Javadoc来解释
/** * 对该类的具体一函数的备注信息 * @param obj 参数的备注信息 * …… * @return 返回值的备注信息 */
Jsp的书写规范
- 全部采用小写的英文字符和”_ ”组成。
- 整体采用模块名+操作的形式。如:user_view.jsp
- Jsp页面尽可能与action的意思对应,如UserListAction 对应者user_list.jsp
Java-Web项目的交互原理
一.Dao
首先先建表,在完成了建表的工作之后可以为直接将数据库表设计为实体类,将表属性作为元素,用以存储在Java中获取的数据库的信息。
设计Dao(Data Access Object)类,可以设计数据库的工具类Util以获取数据库连接。设计数据库的操作类,增删查改,利用Util获取连接(connection),获取对应的数据库操作(statement),再利用从前端获取到的数据构成具体的sql,使用Jdbc来取出数据库中的数据并返回结果。
二.Service
一般的J2EE web应用,会使用以下的设计流程进行
如果Dao层设计的足够好的话,一般可以省略Service层,可以直接从Servlet获取数据已完成对数据库的更新。