`
haoran_10
  • 浏览: 436836 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论
文章列表
一、什么是HTTP会话     web领域的会话也称作HTTP会话,而实际上http是无状态的,http协议也没有制定会话协议。会话机制则是根据跟踪客户状态的一种解决方案,可以使用ASP,PHP,JSP等等,而实际上这些语言实现的方式,才叫HTTP会话。   二、解决方案     http会话是基于cookie,cookie则是在浏览器端(客户端)存储一些时间短、信息量少的数据,可以存在服务端也可以不存在服务端。 而http会话,则是在客户端和服务端都存在一组对应的数据,这时当浏览器发送请求时,带上这些数据(比如sessionid),服务端则可以识别出是上次请求存储的用户是那一个。  ...
Servlet容器启动时,会对每一个Servlet对象实例化一次,而且是仅仅一次,在运行的时候,不管多少个请求都是同时执行这一个Servlet对象实例。也就是说Servlet对象是单实例多线程,这个时候,就需要注意到并发安全问题。   一、为什么不安全     先看两个定义: 实例变量:实例变量在类中定义。类的每一个实例都拥有自己的实例变量,如果多个线程同时访问该实例的方法,而该方法又使用到实例变量,那么这些线程同时访问的是同一个实例变量,会共享该实例变量。 局部变量:局部变量在方法中定义。每当一个线程访问局部变量所在的方法时,在线程的堆栈中就会创建这个局部变量,线程执行完 ...
Servlet对象全部由Servlet容器创建,并且Servlet对象的service()方法也由容器调用,那么一个Servlet对象能否直接调用另外一个Servlet对象的service()方法?很遗憾,不行。一个servlet对象无法获得另外一个servlet对象的引用,只能通过Servlet ...
一、总的来看:java servlet API 类框图 (1)、Servlet Api的核心是javax.servlet.Servlet接口,包括5个方法,3个方法由Servlet容器来调用 public void init(ServletConfig config) throws ServletException;  初始化资源,容器启动的时候 public void service(ServletRequest req, ServletResponse res)   throws ServletException, IOException;   负责请求,并进行业 ...
什么是Java序列化与反序列化?  为什么需要Java序列化与反序列化? 怎么Java序列化与反序列化? 有没有造好的轮子? 总结   1.什么是Java序列化与反序列化?  序列化:将java对象转换为字节序列的过程叫做序列化 反序列化:将字节对象转换为java对象的过程叫做反序列化   2.为什么需要Java序列化与反序列化? (1)、存储 在java系统运行过程中,java对象只存在于堆栈中,但是一旦系统停止运行了,或者某次交互回话结束后,这些java对象也不存在了, 想要再次获得java对象,则需要从一些存储设备中读取数据,并且还原为原先的j ...
http://zz563143188.iteye.com/blog/1847029 谢谢此篇文章   原则名称   1 、SRP(Single Responsibility Principle)单一职责。   2、LSP(Listkov Substitution Principle)里氏替换原则。   3、DIP (Dependence Inversion Principle)依赖倒置原则。   4、ISP(Interface Segregation Principle)接口隔离原则。   5、LoD、LKP (Law of Demeter、Least Knowledge Pr ...

junit 注解说明

    博客分类:
  • java
JUnit4使用Java5中的注解(annotation),以下是JUnit4常用的几个annotation: @Before:初始化方法   对于每一个测试方法都要执行一次(注意与BeforeClass区别,后者是对于所有方法执行一次)@After:释放资源  对于每一个测试方法都要执行一次(注意与AfterClass区别,后者是对于所有方法执行一次)@Test:测试方法,在这里可以测试期望异常和超时时间 @Test(expected=ArithmeticException.class)检查被测方法是否抛出ArithmeticException异常 @Ignore:忽略的测试方法 @Befor ...

Comparable

    博客分类:
  • java
一个比较器,为了做排序对象所用,一个通用的例子     public interface Order { public long getOrderIndex() ; }     import java.util.Comparator; /** * 升序排序 * */ public class OrderAscStorComparator implements Comparator<Order> { @Override public int compare(Order o1, Order o2) { if (o1.getO ...
数据库连接池C3P0框架是个非常优异的开源jar,高性能的管理着数据源,这里只讨论程序本身负责数据源,不讨论容器管理。   一、实现方式: C3P0有三种方式实现: 1.自己动手写代码,实现数据源 例如:在类路径下配置一个属性文件,config.properties,内容如下: driverClass=xxx jdbcUrl=xxx user=xxx password=xxx ...   然后代码中实现   Properties props = new Properties(); InputStream in = Thread.class.getResourceA ...
继上篇spring IOC,又学习了,spring AOP,同样是注解模式:   面向切面: import com.pac;//1.包名--不可变 Class className{//2.类名--不可变 //3.返回类型--不可变 //4.方法名称--不可变 //5.入参类型--不可变 //6.入参值--可变 //7.异常--可捕获 //8.返回值--可变 public T getDate(D inData)throws Exception{ return T; } }      面向方法的切面: 执行前:对入参D inData或者调用者进行处理 执行后: ...
spring框架现在用的是如火如荼 管理bean的功能想必是大多数用户用途最广的一个功能 而依赖注入用途也是非常广泛 不知道从什么版本开始注解功能让开发变得很简单,也很简洁 本小例子,就是用注解的方式实现bean管理和依赖注入   小米2手机快要面市了,人人都想要,本例就以此为情境。   1.手机接口---不用多说,为了减少耦合性   package com.ioc.inerface; public interface ITelphone { public void call(); }    2.小米实现   package com.ioc.impl; ...

javaMail入门

    博客分类:
  • java
利用java发送邮件,其实很方便。 1.首先下载jar包,http://www.oracle.com/technetwork/java/javasebusiness/downloads/java-archive-downloads-eeplat-419426.html#javamail-1.4.5-oth-JPR  官方网站,没得说,下载后解压,有个mail.jar,暂且只需要它。 2.入门程序:   (1).首先需要一个继承自Authenticator的类   package com.mail; import javax.mail.Authenticator; impor ...

log4j

    博客分类:
  • java
    一、简介 Log4j是Apache的一个开放源代码项目,通过使用Log4j,我们可以控制日志信息输送的目的地是控制台、文件、GUI组件、甚至是套接口服务 器、NT的事件记录器、UNIX Syslog守护进程等;我们也可以控制每一条日志的输 ...

JAVA代码规范

    博客分类:
  • java
1、对于常用工具类的方法,需要关注同步问题 2、对于不能确认被其它代码如何调用的方法或者可能被其它代码频繁调用的方法,需要关注同步问题 3、对于常量字符串,不要通过new方式来创建 4、对于常量字符串之间的拼接,请使用“+”;对于字符串变量(不能在编译期间确定其具体值的字符串对象)之间的拼接,请使用StringBuffer;在JDK1.5或更新的版本中,若字符串拼接发生在单线程环境,可以使用StringBuilder 5、在使用StringBuffer进行字符串操作时,请尽量设定初始容量大小;也尽量避免通过String/CharSequence对象来构建StringBuffer对象 ...

java代理

    博客分类:
  • java
代理模式在Spring中,运用的淋漓精致,面向切面的编程,变得很有趣   假设有个实际书籍供应商,网上书籍供应商,而网上书籍供应商是代理商     package com.study.proxy; public interface Subject { public void sailBook(); }  package com.study.proxy;   //真实卖家,最初卖家 public class RealSubject implements Subject { @Override public void sailBook() { S ...
Global site tag (gtag.js) - Google Analytics