`
文章列表
在web.xml中<load-on-startup>5</load-on-startup>的含义是: 标记容器是否在启动的时候就加载这个servlet。 当值为0或者大于0时,表示容器在应用启动时就加载这个servlet; 当是一个负数时或者没有指定时,则指示容器在该servlet被选择时才加载。 正数的值越小,启动该servlet的优先级越高。 根据异常类型定制错误页面: <error-page> <exception-type>java.lang.Throwable</exception-ty ...

onSubmit的使用

    博客分类:
  • HTML
  在web开发中,我们经常会遇到,一点回车键表单就自己提交的问题,能不能禁用回车键呢,答案是肯定的. <from action="" method="post" onSubmit="return false"> ............... </from> 如果想在表单提交时,进行验证 <html> <head> <script lanuage="javascript"> function check() { ...
package org.bbs.util; import java.text.MessageFormat; import java.util.MissingResourceException; import java.util.ResourceBundle; public class MessageResource { private ResourceBundle rb; //资源绑定 /** * 构造器 * @param props Properties 资源绑定 */ public MessageResource(ResourceB ...
一、cookie机制和session机制的区别 ************************************************************************************* 具体来说cookie机制采用的是在客户端保持状态的方案,而session机制采用的是在服务器端保持状态的方案。 同时我们也看到,由于才服务器端保持状态的方案在客户端也需要保存一个标识,所以session 机制可能需要借助于cookie机制来达到保存标识的目的,但实际上还有其他选择 ************************************************** ...
通过重定向可以实现跳转,跳转后页面地址变为跳转后的地址。 我们已经知道有两种跳转方法了 第一种是:<jsp:forward page=””/>; 第二种是:response.sendRedirect(“地址”); 第三种:response.setHeader("refresh","2;URL=responseDemo02.jsp") ; //2秒后自动跳转到responseDemo02.jsp页面,也是一种重定向方法 【response.setHeader("refresh"," ...
第一种: <script language="javascript" type="text/javascript"> window.location.href="login.jsp?backurl="+window.location.href; </script> 第二种: <script language="javascript"> alert("返回"); window.hist ...
要理解 java中String的运作方式,必须明确一点: String是一个非可变类(immutable)。 什么是非可变类呢?简单说来,非可变类的实例是不能被修改的,每个实例中包含的信息都必须在该实例创建的时候就提供出来,并且在对象的整个生存周期内固定不变。java为什么要把String设计为非可变类呢?你可以问问 james Gosling :)。但是非可变类确实有着自身的优势,如状态单一,对象简单,便于维护。其次,该类对象对象本质上是线程安全的,不要求同步。此外用户可以共享非可变对象,甚至可以共享它们的内部信息。(详见 《Effective java》item 13)。String类在 ...
   在java中,当我们子类要重写父类中的方法,如果父类的方法有异常声明,那么子类重写这个方法时候,所要声明的异常不应该比父类的大。只能是小等,或者可以没有。原因如下。 假如我们自定意义一个异常: public class ...
  Hibernate提供了两级缓存,第一级是Session的缓存。由于Session对象的生命周期通常对应一个数据库事务或者一个应用事务,因此它的缓存是事务范围的缓存。第一级缓存是必需的,不允许而且事实上也无法比卸除。在第一级缓存 ...
Hashtable和HashMap的区别: 1.Hashtable是Dictionary的子类,HashMap是Map接口的一个实现类; 2.Hashtable中的方法是同步的,而HashMap中的方法在缺省情况下是非同步的。即是说,在多线程应用程序中,不用专门的操作就安全地可以使用Hashtable了;而对于HashMap,则需要额外的同步机制。但HashMap的同步问题可通过Collections的一个静态方法得到解决: Map Collections.synchronizedMap(Map m) 这个方法返回一个同步的Map,这个Map封装了底层的HashMap的所有方法,使得底层的H ...
   软件系统的并发控制一般是通过加锁(有乐观锁和悲观锁两种)来实现,乐观锁是一种事后补救措施,是通过程序的逻辑控制版本来实现的,而悲观锁是事前的一种预防措施,它利用数据库的锁机制来实现。    虽然乐观锁能够提高系统的性能,但它是对发生冲突的访问进行事后的补救,应用在用户输入数据量很少的场合比较适合,但如果在企业ERP,用户与系统交互涉及大量数据在页面表单上录入,如果事后提交失败后才提示用户要重新录入是很不现实的,所以有必要进行事前控制,这就要采用悲观锁。    在多个客户端可能读取同一笔数据或同时更新一笔数据的情况下,防止同一个数据被修改而造成混乱,最简单的手段就是在读取时对数据进行锁定 ...
   悲观锁假定任何时刻存取数据时,都有可能有另一个客户也正在存取同一笔资料,因而对资料采取了资料库层次的锁定状态,在锁定的时间内其他的客户不能对资料进行存取,对于单机或小系统而言,这并不成问题,然而如果是在网路上的系统,同时刻会有许多连线,如果每一次读取资料都造成锁定,那后面的存取就必须等待,这将造成效能上的问题,造成后面使用者的长时间等待。    乐观锁定则认为资料的存取很少发生同时存取的问题,因而不作资料库层次上的锁定,为了维护正确的资料,乐观锁定使用应用程式上的逻辑实现版本控制的解决。在不实行悲观锁定策略的情况下,资料不一致的情况一但发生,就会造成资料不一致。Hibernate的乐观锁 ...
Hibernate锁机制包括悲观锁和乐观锁 1.悲观锁 它指的是对数据被外界修改持保守态度。假定任何时刻存取数据时,都可能有另一个客户也正在存取同一笔数据,为了保持数据被操作的一致性,于是对数据采取了数据库层次的锁定状态,依靠数据库提供的锁机制来实现。 基于jdbc实现的数据库加锁如下: select * from account where name="Erica" for update 在更新的过程中,数据库处于加锁状态,任何其他的针对本条数据的操作都将被延迟。本次事务提交后解锁。 而hibernate悲观锁的具体实现如下: String sql=&quo ...
悲观锁             悲观锁的实现,通常依赖于数据库机制,在整个过程中将数据锁定,其它任何用户都不能读取或修改。 举个例子: 查询id=1的那条记录,使用悲观锁 User user = (User)session.load(User.class, 1 , LockMode.UPGRADE); 使用了数据库中的 for update  锁定 乐观锁 大多数基于数据版本记录机制(version)实现,一半是在数据库表加入一个version字段,读取数据时将版本号一同读出,之后更新数据时版本号加一,如果提交数据时版本号小于或等于数据库表中的版本号,则认为数据是过期的, ...
hibernate 一级缓存:(缓存的是实体对象) 一级缓存很短和session的生命周期一致,一级缓存也叫session级的缓存或事务缓存 哪些方法支持一级缓存: get() load() iterate()  (查询实体对象) 如何管理一级缓存: session.clear() session.evict() ...
Global site tag (gtag.js) - Google Analytics