struts2应用BBS2009

前言
假如你的人生有理想,那么就一定要去追,不管你现在的理想在别人看来是多么的可笑你也不用在乎,人生蹉跎几十年,如果年轻的时候计较得失前怕狼后怕虎而不去追逐,等到了40,60岁的时候,你唯一能做的就是感叹岁月的消逝和无情......


一、命名规范
a)原则:能简单就不要复杂
b)库名:项目名
c)表的命名:_Model名
d)字段的命名:保持和属性名一致(尽量不要起名和数据库的命名冲突)
java类中的属性有id,字段也叫id
e)用层来划分包 com.bjsxt.bbs.action.model(bean) service dto(vo、do 用来传递数据的),包的名字都要小写
当你分这个包的时候是按照结构层来划分还是按照模块来划分
User
Course
这么命名?
第一种:
com.bjsxt.elearning.user.action
                      model
                      service
第二种:
com.bjsxt.elearning.action: UserAction CourseAction
                    model: User Course
                    service: UserService CourseService
仁者见仁,智者见智,老师个人倾向于第二种
f)Action:XXXAction
Action类都以Action结尾
g)*-*的配置
h)前台在/后直接写,后台放在/admin里


二、项目开发顺序-以BBS2009的名义
1、建立界面原型
2、建立struts.xml
  a)确定namespace
  b)确定package
  c)确定Action的名称
  d)确定result
  e)将界面原型页面进行修改,匹配现有设置
  f)测试
  g)做好规划!!!
3、建立数据库(或实体类)
4、建立Model层
5、建立Service层(后面讲解Hibernate后再完善)
  a)此时可以使用JUnit进行单元测试了
6、着手开发


三、extjs初步了解
1、解压extjs3.4
2、eclipse中新建web project
3、将extjs下的都复制到WebContent下面
4、将project部署到tomcat下
ext在本地看不行,因为它用了很多ajax的内容,本地它是取不到的


四、
Ext.onReady函数:在浏览器下载完整个页面后,这个函数就执行了

Ext.Msg.alert('ext', 'welcome you!');
实际上就是调了Ext.Msg这个类的alert方法

var viewport = new Ext.Viewport ({...});
viewport是一个视图,默认的话会把整个body当成它的存储空间,也就是说默认会占满整个空间

layout和java awt的layout类似,也分为东西南北中5个区域

cls:class也就是css修饰的class是什么

items:这个东西里面有哪些东西

listeners:监听器
listeners : {
  click : addPanel
}
当按钮被点击的时候会执行addPanel这个方法


五、
建立Model层
Model层和数据库表相对应
定义属性,生成set和get方法

《DB.java》
package com.bjsxt.bbs2009.util;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.SQLException;

public class DB {
    public static Connection createConn() {
    Connection conn = null;
    try {
        Class.forName("com.mysql.jdbc.Driver");
        conn = DriverManager.getConnection("jdbc:mysql://localhost/bbs2009", "root", "bjsxt");
    } catch (ClassNotFoundException e) {
        e.printStackTrace();
    } catch (SQLException e) {
        e.printStackTrace();
    }
    return conn;

    public static PreparedStatement prepare(Connection conn, String sql) {
        PreparedStatenemt ps = null;
        try {
            ps = conn.prepareStatement(sql);
        } catch (SQLException e) {
            e.printStackTrace();
        }
        return ps;
    }

    public static void close(Connection conn) {
        try {
            conn.close();
        } catch (SQLException e) {
            e.printStackTrace();
        }
    }

    public static void close(Statement stmt) {
        try {
            stmt.close();
        } catch (SQLException e) {
            e.printStackTrace();
        }
    }

    public static void close(ResultSet rs) {
        try {
            rs.close();
        } catch (SQLException e) {
            e.printStackTrace();
        }
    }
}
自动生成try/catch
Surround with try/catch


六、
建立Service层
将引用设为空之后,垃圾收集器马上会对对象进行收集
注入就是,new的过程交给了容器不是自己
功能校验:页面添加后,查看数据库有没有

七、实现页面与Action

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值