04APR2017_笔记

#0406四 通过GUI配置glassfish_4.1.1的连接池是有bug的(null博客)(搜索"HTTP Status 500 - Internal Server Error glassfish"得到搜索页), 虽然可以通过asadmin配置, 但这又是一个领域, 我暂时放弃了(开始框架部分学习); ●GlassFish Server Open Source Edition官方下载页, 软件的文档不可忽视: installation-guide, quick-start-guide;


#0407五 上午排错: 先是"CannotLoadBeanClassException: Cannot find class xxx", 原因是我的HelloController.java没能编译成HelloController.class(csdn论坛(09年的提问)), 然后搜索"eclipse web 不自动编译"和"eclipse build automatically", 得到chendc201的博客, 减少编译需要验证的项目, 发现Eclipse右下角一直显示在validating "SpringMVCTest"项目, 再搜"eclipse 一直在validatingweb项目", 得百度经验去掉无用的validation, 再次运行服务器, 得"java.lang.ClassNotFoundException: javax.el.ELResolver"错误, 搜得北漂小混混博客, 再搜"jre/lib/ext 位置", 然后终端"echo $JAVA_HOME", 找到路径, 删除"jsp-api.jar"或者"servlet-api.jar"(估摸是上次码jsp的时候拷进去的, 这个解决方案真奇怪, 居然是classNotFound还要删除东西), 再次带疑运行tomcat, 浏览器输出了"Hello World!", 囍; ●下午又遇到上午的"javax.el.ELResolver"问题, 继续按照上午的思路去删除JRE中的两个jar包, 还问了M, M说JRE中的jar不能删, 我想想也是(是Java Lib的标配, 你这删除没有好意), 但是早上的那个解决方法居然能解决地不报错误(真是"圆满"), 想想也是厉害了, 后来中间折腾一番, 又查requestScope EL, 又删tomcat服务器, 牵出一些问题来, 后来, 重新新建项目, 重新搜索整个错误信息"javax.servlet.ServletException: java.lang.NoClassDefFoundError: javax/el/ELR(后面的字母被百度限制了(最多38个汉字))", 找到花郎的博客, 得解决办法: "到apache-tomcat/lib目录下,拷贝el-api.jar放到D:\Program Files\Java\jdk1.6.0\jre\lib\ext下即可", 原来不是"JRE System Library"中多了"jsp-api.jar"和"servlet-api.jar", 而是少了"el-api.jar", 但是效果"是一样的"(都输出了"Hello World!"), 其原因肯定不同, 此处骂脏: 早上还以为解决了问题了呢; (P.S. 也参考"自带库和Tomcat库发生冲突", 也参考"javax/el/ELResolver错误(之"jsp-api.jar"和"servlet-api.jar"都加到了jdk的classpath中)")(#折腾的下午#);


#0412三 依赖注入: 也叫'控制反转', 指的是让框架(如Spring)new一个被依赖类的实例并注入到要依赖的类中[ref]; ●native2ascii: 是JAVA SDK提供的一个工具, 用来将文本类文件的编码转为Unicode编码(统一码), 以便于程序国际化(随着计算机工作能力的增强, Unicode也在面世以来的十多年里得到普及), 用法为(终端中): native2ascii source_text_file object_text_file[ref]; ●LogFactory类: Log(基本记录器)和LogFactory(负责创建Log实例)是Jakarta Commons Logging (JCL)的两个基类, 当Logger记录一个事件时, 会将其发送给控制台, 文件或者其它目标位置等, 这就是日志通常作用, [ref]; 另: '崔世勋博客'不错, 有讲[编译原理]; 日志类: "如果是小程序就不是必须的了, 大点的程序, 日志就非常有用了: 日志的作用, 主要在维护的时候非常有用, 系统可能会出一些其名其秒的错误, 这个时候如果日志做的比较详细就能很清楚的查找到错误了"[ref]; ●JAVA注解: "注解本质是一个继承了Annotation的特殊接口, 其具体实现类是Java运行时生成的动态代理类"[ref]; 另: "注解是如何工作的"[ref]; ●Spring Bean 标签: 定义一个普通bean[ref]; ●Factory 工厂类: "只需传入正确的参数, 就可以获取所需的对象"[ref]; ●**mvc:annotation-driven/: 是一种简写形式(完全可以手动配置替代这种简写形式), 简写可以让初学者都快速应用默认配置方案, 这个标签会自动注册Default Annotation Handler MappingAnnotation Method Handler Adapter两个bean, 是Spring MVC为@Controllers分发请求所必须的[ref]; ●JSR303-Bean Validation**: 是数据验证的规范, 2009年11月确定最终方案[ref]; ●Spring MVC: API官方[ref]; ●热拔插: 我的理解是Spring中的某个模块可以随意在服务器运行时添加或移除, 不需要中断(重启)服务器;


#0414五 终端alias命令: 解决了启动MySQL时的一长串原始前缀的不便[ref];


#0415六 MySQL编码: 早从Java程序中插入数据到MySQL, sql查询出的是问号乱码, 1.怀疑varchar设置为2不够储存sex的'男'字, 发现临时更改字段长度(alter table tb_user modify column sex varchar(12))后乱码还没解决[ref], 于是进入第2步: 搜索Console报错'java.sql.SQLException: Incorrect string value', 得MySQL的Collation(校验)字段应为'utf8_general_ci'(而不是'latin1_swedish_ci')[ref];


#0417一 MySQL中文字符: 往数据库中插入中文的name栏和sex栏, 终端报错'1366 incorrect string value', 解决如下: 1.检查数据表所有字段的状态, 2.->show full columns from tb_employee, 3.发现address字段的Collation项非utf8, 修改之, 4.->alter table tb_employee change name name varchar(100) character set utf8 collate utf8_unicode_ci not null default[ref], 后可以通过程序端写入中文字符;


#0418二 tb_user_1: 从'ManyToManyTest.java'中返回, user无论怎样都是null属性(User [id=1, username=null, loginname=null, password=null, phone=null, address=null]), 弄了半天, 还VPN去MyBatis官网[ref]查'正规的'资料, 也没发现线索, 也找了个人博客[ref]中'@One'的使用, 也无解, 最后不知怎的去看'@Select'中的查询语句, 发现上面是'tb_user', 而不是'tb_user_1', 这坑虽小, 却致命: 这是计算机特点;


#0420四 Java中的事务: Java中事务的说法来自数据库(的事务), 但叫着多了, 直接就叫成了'Java事务'[ref]; ●Java中的注解是如何工作的: [ref1], [ref2]; ●import static静态导入: import static java.lang.System.*; public class Main{ public static void main(String[] args) { out.print("Hello World"); }}

转载于:https://my.oschina.net/tjipot/blog/874203

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值