Web

记录一些关于Web开发和应用方面的一些信息。

根据Spring注释确定包命名规则

包的命名规则很多,说法也很多,但再怎么变也脱离不了三层架构这一说法,至少目前可以这么说。
在说新的规则之前,先说下我熟悉的老的命名规则。
表现层命名为:com.iguoer.web
如果使用Struts的话,会命名为:com.iguoer.web.action
如果使用Spring MVC的话,会命名为:com.iguoer.web.controller

业务层一般命名有两种
com.iguoer.service 和 com.iguoer.business

数据层一般命名为:com.iguoer.dao
使用hibernate的话,就有com.iguoer.dao.hibernate
根据有些解释三层架构的图上说,穿越三层的是一个叫domain域的东西,所以就有了
com.iguoer.domain
实体被称为持久化对象
所以有了com.iguoer.domain.po
组装后给页面有值对象,所以有了com.iguoer.domain.vo

一般工具类被放在com.iguoer.util中
应用程序放在com.iguoer.app中

我现在根据Spring的注释,重新写一个包的命名,当然这首先建立在你对三层架构的熟悉上。

com.iguoer.app        应用程序
com.iguoer.combo        组合对象,传给页面,相当于com.iguoer.domain.vo
com.iguoer.controller        MVC中的控制,Spring的注释@controller
com.iguoer.controller.admin        管理员表现层
com.iguoer.controller.filter        表现层的过滤器
com.iguoer.entity        实体,相当于com.iguoer.domain.po Spring的注释@entity
com.iguoer.repository        储藏室,相当于数据层,类似com.iguoer.dao Spring的注释@repository
com.iguoer.security        保密包,说明这里的东西尤为重要
com.iguoer.service        业务层,服务层,相当于com.iguoer.business Spring的注释@service
com.iguoer.util        工具类

注:上面所说的表现层,其实指的只是MVC设计模式中的控制

项目开发部署

1、下载开发工具
1> Eclipse
下载开发工具eclipse-jee-ganymede(
http://www.eclipse.org/downloads/download.php?file=/technology/epp/downloads/release/ganymede/SR2/eclipse-jee-ganymede-SR2-win32.zip)解压到 D:\Program Files\eclipse-ganymede

http://download.actuatechina.com/eclipse/technology/epp/downloads/release/ganymede/SR2/eclipse-jee-ganymede-SR2-win32.zip

选择workspace目录为D:\workspace

2> Resin

http://www.caucho.com/download/

http://www.caucho.com/download/resin-3.1.8.zip

3> nginx

http://nginx.net/

http://sysoev.ru/nginx/nginx-0.7.61.zip

4> mysql
Windows MSI Installer (x86)

http://www.mysql.com/

http://dev.mysql.com/downloads/mysql/5.0.html#win32

http://ftp.jaist.ac.jp/pub/mysql/Downloads/MySQL-5.0/mysql-5.0.83-win32.zip

http://ftp.jaist.ac.jp/pub/mysql/Downloads/MySQLGUITools/mysql-gui-tools-5.0-r17-win32.msi

5>memcached for win32

http://www.splinedancer.com/memcached-win32/

2、Eclipse插件下载地址
1> Hibernate Tools
#http://download.jboss.org/jbosstools/updates/development

http://download.jboss.org/jbosstools/updates/stable/

选择安装
#Tools Development Release和Hibernate Tools
FreeMarker IDE
Hibernate Tools

2> Spring IDE

http://springide.org/updatesite

3> SVN

http://subclipse.tigris.org/update_1.6.x

4> Javascript

http://download.macromedia.com/pub/labs/jseclipse/autoinstall/

以下是项目辅助的插件
5> checkstyle

http://eclipse-cs.sourceforge.net/update

6> findbug

http://findbugs.cs.umd.edu/eclipse

XX的优点

  1. 异步消息机制处理用户动态
  2. 点击数用日志统计
  3. Squid+Memcached缓存机制(及时刷新)
  4. 读写分离(*)
  5. 索引文件伪静态实现半动态化(延时刷新)
  6. 使用Javascript框架(jQuery)实现页面效果
  7. 目录采用树形结构(树路径)-自定义目录
  8. 容许一定数据的冗余(不能是排序或搜索数据)。