5.6.2 案例开发准备

1.准备网址数据

数据准备是开发网址导航应用的基础,如果要做一个全面、实用的综合性网址导航应用,必须要有大量的网址数据作为支撑。

由于我们的目的仅仅是想进一步掌握自定义菜单的使用,所以笔者只是象征性地准备了10条测试数据,如表5-4所示。

表5-4 网址导航使用的网址数据

5.6.2 案例开发准备 - 图1

2.复用消息处理程序

任何一个完整的公众账号项目都需要包含前两章介绍的请求校验和消息处理程序,因此,本实例的开发需要用到第4章的chapter-04项目的所有代码。

打开MyEclipse,新建一个名为chapter-05的Web项目,将chapter-04项目中的所有文件复制到chapter-05项目的对应位置。需要复制的文件清单如下:

  1. org.liufeng.course.message.event包及包中的所有类
  2. org.liufeng.course.message.req包及包中的所有类
  3. org.liufeng.course.message.resp包及包中的所有类
  4. org.liufeng.course.service包及包中的所有类
  5. org.liufeng.course.servlet包及包中的所有类
  6. org.liufeng.course.util包及包中的所有类
  7. WEB-INF/web.xml
  8. WEB-INF/lib/dom4j-1.6.1.jar
  9. WEB-INF/lib/xstream-1.3.1.jar

3.菜单封装类

在chapter-05项目的src下新建一个包org.liufeng.course.menu,将与5.3.3节中封装的菜单相关的5个类放在该包下,如下所示:

  1. org.liufeng.course.menu.Button
  2. org.liufeng.course.menu.ClickButton
  3. org.liufeng.course.menu.ViewButton
  4. org.liufeng.course.menu.ComplexButton
  5. org.liufeng.course.menu.Menu

4.引入JAR包

再将下面这些JAR包复制到项目的WEB-INF/lib目录下,请注意JAR包的版本。

  1. commons-beanutils-1.7.0.jar
  2. commons-collections-3.2.1.jar
  3. commons-lang-2.3.jar
  4. commons-logging-1.0.4.jar
  5. ezmorph-1.0.6.jar
  6. json-lib-2.2.3-jdk13.jar
  7. log4j-1.2.15.jar
  8. slf4j-api-1.5.10.jar
  9. slf4j-log4j12-1.5.10.jar

前面6个JAR包是JSON-lib需要用到的,在5.2.2节中介绍过。后面3个JAR包是SLF4J日志框架需要使用的,读者可以在http://www.slf4j.org/上了解到关于SLF4J的知识。

使用SLF4J记录日志,还需要在项目的src下新建一个名为log4j.properties的文件,该文件用于设置日志的级别、输出位置、显示格式等。log4j.properties文件的内容如下:

  1. log4j.rootLogger=info,console,file
  2.  
  3. log4j.appender.console=org.apache.log4j.ConsoleAppender
  4. log4j.appender.console.layout=org.apache.log4j.PatternLayout
  5. log4j.appender.console.layout.ConversionPattern=[%-5p] %d %30c %m%n
  6.  
  7. log4j.appender.file=org.apache.log4j.DailyRollingFileAppender
  8. log4j.appender.file.DatePattern='-'yyyy-MM-dd
  9. log4j.appender.file.File=./logs/weixinCourse.log
  10. log4j.appender.file.Append=true
  11. log4j.appender.file.layout=org.apache.log4j.PatternLayout
  12. log4j.appender.file.layout.ConversionPattern=[%-5p] %d %30c %m%n