- 浏览: 89048 次
最新评论
文章列表
spring基础知识
一控制反转IOC和依赖注入
首先这个控制反转就是依赖注入,他们说的是同样的意思,那么依赖是什么意思呢?就是我们使用某个类的意思,那么依赖注入就是我们在使用它时并不需要new,而是通过容器自动将依赖的对象注入到组件中。更具体的来说在使用依赖对象的类当中并不直接new某个类,而是提供一条该到这个依赖对象的通道(就是这个依赖对象的设置方法)。然后我们通过在BeanFactory类中“生产”使用依赖对象的类的实例和依赖对象,并完成这个依赖对象的调用。
比如:
<!--意思是new 一个UserServiceImpl对象,而service代表这个对象的引用-->
&l ...
第九章 会话跟踪
核心方法:
1.只能在发送任何文档内容到客户程序之前调用request.getSession,在之后调用,则会影响到后面的响应。
警告:
1.如果我们使用URL重写进行会话跟踪,我们的页面最好不要使用静态页面,或者静态页面 ...
Hibernate数据库连接的设置及其配置文件的书写
首先Hibernate的配置有两种情况1.管理环境中的配置。2.非管理环境中的配置。我们可以理解管理环境为它提供了自动的事务,资源管理和底层的安全结构。比如JBoss,BEA WebLogin或IBM Websphere都实现了标准的管理环境。而非管理环境与之相反没有提供自动的事务,资源管理和底层的安全结构。比如Jetty或Tomcat这样的servlet容器。
其次我们来看具体的数据库连接
在非管理环境中,我们的hibernate要去获得JDBC连接,如果我们为每个数据库的交互都去创建一个连接就比较浪费资源了,所以我们应该使用数据库连接池 ...
Hibernate体系结构
一核心接口:
(一)、Session接口
首先Hibernate的Session会话不是线程安全的,所以我们应该在每一个线充中去单独使用它们,也就是在每个应用中去创建和销毁Session会话。我们可以理解为:Session会话就是一个单独的工作单元已装载对象的缓存或集合。我们也称Session为持续性管理器,我们通过session完成持续性的有关操作例如存储和取出对象的接口。Session对象有一个一级缓存,现实执行Flush之前,所有的持久化操作的数据都在缓存中Session对象处。
(二)、SessionFactory(会话工厂)
应用从SessionFact ...
java源码之集合类学习心得和笔记
一List
1.首先是Vector和ArrayList类,他们都继承了AbstractList并且实现了List,RandomAccess,Cloneable,Serializable等接口。而AbstractList继承了AbstractCollection也实现了List接口。Vector和ArrayList之间的区别一就是Vect ...
初学Hibernate,阅读了有关书籍,做了如下笔记和思考心得。
第一部分:Hibernate 工作原理
首先我们使用MyEclipse 6.5开发环境,我们可以使用其添加Hibernate框架的能力,自动导入那些需要使用的包。并且自动创建
Hibernate配置文件以及HibernateSessionFactory
一、构建Configuration实例,初始化该实例中的所有变量
private static String CONFIG_FILE_LOCATION = "/hibernate.cfg.xml";
private static final ThreadL ...
第八章 cookie管理
核心方法:
1.在创建cookie对象后,将cookie发送到客户端程序之前,一般应该调用setMaxAge方法。
2.如果要指定cookie适用于您的网站上的所有URL,使用cookie.setPath("/"),也就是所有页面都接受该cookie
警告:
1.创建和操作Cookie对象对客户程序没有任何影响,必须显式地使用response.addCookie将cookie发送到客户端。
学习笔记
一、cookie的优点
1.在电子商务会话中标示用户。2.记录用户名和密码。3.定制站点,用户自己定制主页面的外观。用户选择希望看到的哪个天气预报等等。 ...
第七章:服务器响应的生成:HTTP响应报头
为了让servlet发挥最大的效力,我们不仅需要知道如何生成文档,还需要知道如何有效和使用状态行和响应报头。
一、在servlet中设置响应的报头
setHeader(String headerName,String headerValue);setDate ...
第六章:服务器响应的生成:HTTP状态代码
核心方法:
1.在向客户程序发送任何文档内容之前设置状态代码。当然从第三章,我们也可以知道,我们还要在传送文档之前设置内容的类型。
重点提示:
1.表示302常量的是SC_MOVED_TEMPORARILY,不是SC_FOUND。
警告:
1.默认情况下,IE版本5和气候的版本都忽略服务器生成的错误页面,要打开该功能。在IE中,使用【工具】,选择【Internet Options(Internet选项)】,选取【Advanced(高级)】标签,确保选择【显示友好的HTTP错误信息】
学习笔记:
从前面几章,我们可以看出,一个浏览器或其他客户程序的请求, ...
第五章客户请求的处理:HTTP请求报头
核心方法:
1.在使用request.getHeader返回结果之前,一定要确保它不是null。
2.对于篇幅较长的文本页面,Gzip压缩可以极大第降低下载时间。
学习笔记:
一、请求报头的读取:1.调用HttpServletRequest的getHeader方法。在Http1.1中,只有Host是必需的。因而,在使用请求报头之前一定要检查是否为null。
请求的格式为:
<request line>
<header line>
<blank line>
[<request body>]
具体例子可参见 ht ...
初学hibernate ,做了下面的一些笔记和思考心得。
Hibernate映射机制01
一、Hibernate的主键映射
1.在Hibernate的应用方案中,极力推荐使用代理主键(充当主键的字段本身不具有业务含义,只起主键作用)。
2.在Hibernate的应用中,Hibernat ...
第四章学习笔记 客户请求的处理,表单数据
警告:
1.提供给getParameter和getParameterValues的值是大小写敏感的。也就是说我们在前端表单中的参数值和后台使用getParameter()以及后台的bean类的属性值一定要大小写相同。
2.不要指望getPa ...
第三章:servlet基础
核心方法:
1.使用HTML验证器检查由您servlet所生成的页面的语法。
HTML文档中包括<!DOCTYPE...>
这个就是告诉HTML验证器我们使用的是那个HTML版本,从而验证器知道用哪种规范对文档进行检查。验证器所在页面为:
www.htmlhelp.com/tools/validator。
2.如果需要同等处理GET和POST,可以让其中之一调用另一个,不要覆盖service方法。
警告
1.必须在传送实际的文档之前设定内容的类型。
2.不要让高流量的servlet实现SIngleThreadModel。servlet规范2.4不赞成使用 ...
struts2项目无法正确启动Tomcat的问题学习笔记
第一、首先一定要引入正确的包,一般只需加载以下7个jar:
struts2-core-2.3.4.jar、
xwork-core-2.3.4.jar、
freemarker-2.3.13.jar、
ognl-2.6.11.jar、
commons-logging-1.0.4.jar、
commons-fileupload-1.2.1.jar、
commons-io-1.3.2.jar
特别注意以前是不需要commons-fileupload-1.2.1.jar、commons-io-1.3.2.jar,但是新的struts2 ...
为什么需要工厂?
有两大原因:一是将创建者和使用者解耦,二是提高内聚度。
概念上相似的对象从使用的视角来看,可以以同样的方式处理。然而,创建对象时,负责创建的实体通常需要了解创建的是哪个具体对象,以及何时创建这个而非那个对象。OO告诉我们,让客户对象在概念层次上使用其他对象是最有用的,这意味着设计要遵循开闭原则、依赖倒置原则和Liskov替换原则。要实现这些原则,客户对象就不应知道它所使用的到底是哪一个具体对象。因此,需要有实体来专门负责此事——工厂出现了。
如果让对象的使用者负责实例化该对象,那么代码将会变得复杂。它必须了解许多事情:要创建哪些对象,需要哪些构造参数,构造之后如何使用对 ...