文章目录
  1. 1. 项目结构
  2. 2. 痛点
  3. 3. 优化点
  4. 4. Q&A
  5. 5. Tips
  6. 6. 时间标签
    1. 6.1. day1
    2. 6.2. day2
    3. 6.3. day3
    4. 6.4. day4

项目结构

构建一个名为gtdweb的项目,该项目包含了三个子项目:

  • gtdweb-dal
  • gtdweb-biz
  • gtdweb-web
    项目采用:
  • WebX3
  • iBatis
  • spring3的
  • mysql数据库
    gtdweb-web:Web层的代码(WebX3+Spring3结合的框架)
    gtdweb-biz:业务逻辑层代码
    gtdweb-dal:数据持久层代码

    需要找的驱动依赖包是:
    查找ibatis,选择org.apache.servicemix.bundles.ibatis-sqlmap这个包。
    查找dbcp,选择commons-dbcp。
    查找mysql,选择mysql-connector-java。
    还要添加 ibatis-common 这个包& ibatis-core(这两个是否为必须未验证)

前期准备:热部署设置

痛点

  1. 如何增加页面
  2. 跳转
  3. 和前端配合
  4. $rundata.request.session
  5. session中预存类型
  6. 共享 layout

优化点

  1. 接口代理
  2. 分为子项目
  3. 扫描装载 bean

Q&A

  1. ibatis sqlmap resource 路径总是不对.无法扎到文件.最后在所有可能的路径都放了一个,排查出.
  2. 首页显示在 pipeline.xml中的pl-valves:analyzeURL设置下
  3. 新添页面的 module 的搜索路径的配置在web- 新添. xml 的
  4. 未执行 screen.xx.java
  5. VM中可用的对象有两个来源,一个是你在应用程序里放入context的对象,一个是里放进去的对象。
  6. screenplaceholder
  7. 内部跳转只跳了 screen?

Tips

  1. 内部重定向不走analyzeURL这个value
  2. 要用@Context@Param是指从request.getParameter中取。而control的参数实际是被置入context中的,相当于context.put。
  3. 实现内部重定向,你可以直接调用TurbineRunData.setRedirectTarget(“a”),或者在screen/action中注入Navigator接口,调用Navigator.forwardTo(“a”)方法。
  4. 希望共享某个action,你可以通过module-loader把这个action类包含到你的子应用中
  5. 在screen和action中,可以进行“内部重定向”;内部重 定向发生在pipeline内部,浏览器并不了解内部重定向;外部重定向发出第二个请求;

时间标签

day1

  • 配置热部署
    -Xdebug -Xnoagent -Djava.compiler=NONE -Xrunjdwp:transport=dt_socket,address=4000,server=y,suspend=n -noverify -javaagent:/Users/yiikou/WorkSpace/jar/jrebel/jrebel.jar
  • 远程debug 测试
  • 确定技术方案

day2

  • 完成后端框架搭建

day3

  • 完成登入功能的后端逻辑代码
  • 测试数据库连接
  • 测试 ajax

day4

  • 测试前端框架
文章目录
  1. 1. 项目结构
  2. 2. 痛点
  3. 3. 优化点
  4. 4. Q&A
  5. 5. Tips
  6. 6. 时间标签
    1. 6.1. day1
    2. 6.2. day2
    3. 6.3. day3
    4. 6.4. day4