美化版BBS学习札记(二)

1、用myeclipse如何连接数据库?
   (以mysql为例)
   windows--->Show View--->other--->MyEclipse Database--->DB browser--->下面的步骤和在Lomboz_eclopse一样!

2、在bbs.sql中
   pid是父id
   rootid是根id也是帮助我们展现成平板式的id

3、如何查看DB表中的编码类型呢?
  SQL语句:
  show create table + 表名 ;
( 前提是查看该表时,你所处的位置应该在表的DB中)

4、如果你的DB中默认编码是utf-8但你的表的编码是GBK(或者GB2312),你在往表中插信息时时插不进去的(准确的说是乱码!),如果非要插呢?
   解决:在执行SQL语句前应先写:
   set names gbk(或者GB2312);
   这样你在控制台敲得命令是GBK,而内部是utf-8,有了上面那一句,就没关系了,因为mysql的客户端会自动的把GBK转换成utf-8存进去,如果不敲,则插不进去!

5、如何修改mysql的一些常用配置呢?
   1)、在windows操作平台及该系统上的mysql相应版本中,修改mysql的一些常用配置可以找到
   开始--->程序(所有程序)--->mysql--->mysql Server5.0(我的是5.0版本的)--->mysql Server Instance Config Wizard--->重新一步一步的配置就可以了!
   2)、但是如果在Linux操作平台下呢?(因为在Linux的操作平台下全是命令行的方式)
    (我的mysql安装在了C盘)
    在C盘中找到mysql文件夹--->mysql Server5.0--->my.ini--->打开(我用UE打开的)---> 第57行有defaut-character-set=gbk(这是我改过的,默认情况下一般是UTF-8)

[client]

port=3306

[mysql]

default-character-set=gbk

   这是什么意思呢?之在客户端我们敲得一些命令式上面编码!如果改成gbk,我们就不用再客户端每次执行SQL语句时,都敲set names gbk了!
    
    在该文件(my.ini)第81行有default-character-set=utf8(默认就是utf8)这是mysql Server的配置!不要修改!

default-character-set=utf8

utf8可以保存全世界各国文字的标准、专业写法,若程序支持国际化,则在底层的数据库一定要保存utf8编码,而非其他的编码(如GBK或者GB2312,因为这两种编码格式仅仅支持中文和英文)
改过my.ini文件一定要重启服务,新改过的编码影响不了原来的DB,所以原来的DB应该删除,再重新导入,再查看,一切正常就OK了!

6、静态页面改成动态页面
   用dreamweaver打开 去掉一些无用的标签(比如:静态中有几十行的列表,因为对于动态页面,仅仅需要一行就可以了,在动态中式可以循环的!)--->考虑图片在什么地方,其他的链接资源放在什么地方--->考虑怎么转换成动态的!

7、修改静态页面时要不断切换代码和设计视图这两个界面

8、如何是HTML的代码工整些呢?
   在dreamweaver中“命令”--->套用源格式
   这样就可以是源码工整了!

9、 在dreamweaver中修改图片时,一定要注意路径问题!
    如果在dreamweaver修改不了路径可以换用其他的工具修改(比如:ED、UE等),修改后再用dreamweaver重新装载!


10、考虑递归首先是递归的方法,然后是递归的参数!(因为递归的参数是在不断的变化的!)

11、到目前为止对DB的封装比较好的是Spring与Hibernate的封装

12、如果eclipse(或myeclipse)中敲(.)不给提示,恢复的方法:
    window--->Preferences--->Java--->Editor--->Conten Assist--->Advanced--->右视图点击Restore Defauts(恢复默认设置)--->OK!

13、在eclipse中如果想在一个方法中将一个名字替换掉(如DB.java中close(ResultSet conn)中将方法中所有conn改成rs)
    将修改的名字选中--->点击右键--->Refactor--->Rename--->然后进行修改就可以了!

14、1)、JSP文件本身不需要你写try/catch语句
    2)、JSP页面就不应该让其报错,应该是很健全的!

15、在JSP中还有out这个内置对象!但是这个不常用因为被<%=%>替代了!但是如果用out,那是相当麻烦的!以为用out不仅要输出从数据库里取得的信息,而且还要附带将HTML语句!这样写和写Servlet差不多了!(详细参考精简版BBS)
    因此要从数据库里输出信息(即表),就要封装成一个类(这个类就是JavaBean)相当于实体类( 所谓实体类就是我们整个业务领域里真实存在的类与对象!)。
     然后将实体类放到一个List(因为在List中式有顺序的,而在Set中式没有顺序的),放全以后,再通过ResultSet对象一个一个拿出来,然后再做展现!这就方便了多!


16、 美化版中用递归是当id没有子id时(即不再递归调用了!),再将对象articles传给for循环展示!

     而精简版中用递归式 将id与相应的展示都存在内存(即那个str)中,然后递归调用直到id没有子id时才在页面展示(即释放内存!)
     美化版用递归调用没有将相应展示存在内存中,而精简版中有,因为美化版不是用out展示的!也不可能用out展示!
     其实本质上都同时是先将要输出的内容先放到内存中,然后再递归调用,等最后不再使用递归时,方法返回,释放内存,直至返回到递归方法的起初位置,然后再一一展现!


17、日期化处理,格式化成“年-月-日 时:分:秒”:
new java.text.SimpleDateFormat("yyyy-MM-dd HH:mm:SS").format(参数) ;


18、在封装实体类时,为什么要将级别也封装呢?
    其实这是一个冗余字段,因为在递归调用时,要不断传递级别,以此来分清每句话的等级!可是在精简版中没有,而是直接传递的!为什么在美化版中就有了?因为美化版不用out输出展示!因此将级别这个参数附加并封装到实体类中(数据库中可以不用体现这一点!)

19、如何去掉myeclipse中的黄线呢?
    这个黄线的意思是检查您的编写代码拼写的正误!(比较烦人!)
   window--->Preferences--->General--->Editors--->Text Editors--->Spelling--->右视图找Enable Spell checking,将前面的“√”去掉--->OK
   如果还有,则
   Project--->Clean--->选“clean all project”--->OK!(这个是清除缓存的)

20、两个页面参数(一般传递id)时,应在项目时间允许的情况下判断一下参数如:
String strId = request.getParameter("id") ;
if(strId == null || strId.trim().equals("")) {
	out.println("Error ID!") ;
	return ; //如果出错了,页面执行到这!就不在往下进行了!
}
int id = 0 ;
try {
	id = Integer.parseInt(strId) ;
}catch(NumberFormatException e) {
	out.println("Error ID Again!") ;
	return ;

   这里有一个小问题strId.trim().equal("")与strId == null 能交换一下位置吗?
    当然不能!因为当上一个页面传递的参数是空值(null)时,strId的trim方法是不能调用的,因为这样会出现空指针异常(或错误!)即NullPointException
    如果将“||”(短路或)换成“|”(逻辑或)可以吗?当然也不行了,因为用“|”,“|”两边的逻辑语句都要检查!也会出现空指针异常的!

21、如何清除或者减少在myeclipse编写代码过程中,光标乱跳问题?(这种乱跳是一种检查)
     window--->Preferences--->MyEclipse---?Validation--->右视图,可以将不想让编辑器检查的选项的“√”去掉!--->OK!
     上面的方法没试过,各位看客可以试试,不保证有效!
     还有一种:
      window--->Preferences--->MyEclipse--->Validation--->右视图选中“Suspend all validations”再找Validation--->JSP--->去掉“Validation JSP fragment”的“√”这样应该比原来好点!
    如果还挑米酒干脆用JSP Editor打开JSP文件!

22、在eclipse中如何给一段代码自动加try/catch呢?(非编辑器提示)
    将要加try/catch的语句全部选中,点击右键--->Surround With--->Try/catch Block

你可能感兴趣的:(jsp,mysql,MyEclipse,bbs,Dreamweaver)