Java知识点
1.一般在实体类(Entity)中,不要用下划线,应该用驼峰法命名.
2.js 一般报错了的话,会在浏览器的console 中log出错误信息.
3.添加Content Root
![Uploading 图片_976508.png . . .]
4.Serializable
Java对象序列化。java的对象序列化是只将那些实现了Seriable接口的对象转换为一个字符序列,并且能够在以后将这个字节序列完全恢复为原来的对象。这一过程甚至可以通过网络进行,这意味着序列化机制能够自动弥补不同操作系统之间的差异。只要对象实现了Serializable接口。对象序列化过程不仅仅保存单个对象,还能追踪对象内所包含的所有引用,并保存那些对象(前提这些对象也需实现了Serializable接口)。
5.webapp 的根目录(jsp的)
${pageContext.request.contextpath}
6.取html的第一个form
document.forms[0]
7.清空所有session:
public String logout() {
/* 清空所有session */
request.getSession().invalidate();
return "logout";
}
8.表单回显
1、struts
表单效验时会把提交的内容封装成bean
存放在request
域中,存放的关键字是UserFormBean
2、效验
错误后会跳转回
提交表单页面
9.Java的几种对象(PO,VO,DAO,BO,POJO)解释
PO:persistant object 持久对象,可以看成是与数据库中的表相映射的java对象。最简单的PO就是对应数据库中某个表中的一条记录,多个记录可以用PO的集合。PO中应该不包含任何对数据库的操作。
VO:value object值对象。通常用于业务层之间的数据传递,和PO一样也是仅仅包含数据而已。
但应是抽象出的业务对象,可以和表对应,也可以不,这根据业务的需要.个人觉得同DTO(数据传输对象),在web上传递。DAO:data access object 数据访问对象,此对象用于访问数据库。通常和PO结合使用,DAO中包含了各种数据库的操作方法。通过它的方法,结合PO对数据库进行相关的操作。
BO:business object 业务对象,封装业务逻辑的java对象,通过调用DAO方法,结合PO,VO进行业务操作。
POJO:plain ordinary Java object 简单无规则java对象,我个人觉得它和其他不是一个层面上的东西,VO和PO应该都属于它。
10.Hibernate在service 中执行跟新的时候,应该使用快照更新而不update更新:
使用update更新(Hibernate的Session中不允许出现2个相同的OID)
11.使用JDBC操作数据库时,如何提升读取数据的性能?如何提升更新数据的性能?
答:要提升读取数据的性能,可以指定通过结果集(ResultSet)对象的setFetchSize()方法指定每次抓取的记录数(典型的空间换时间策略);要提升更新数据的性能可以使用PreparedStatement语句构建批处理,将若干SQL语句置于一个批处理中执行。
12.c3p0
c3p0
是一个开源的JDBC
连接池,它实现了数据源
和JNDI
绑定,支持JDBC3
规范和JDBC2
的标准扩展。
目前使用它的开源项目有Hibernate
,Spring
等。
13.JNDI
Java Naming and Directory Interface, Java命名和目录接口。
是SUN公司提供的一种标准的Java命名系统接口,JNDI提供统一的客户端API,通过不同的访问提供者接口JNDI服务供应接口(SPI)的实现,由管理者将JNDI API映射为特定的命名服务和目录系统,使得Java应用程序可以和这些命名服务和目录服务之间进行交互。