优化为:select*from(select*fromadminwhereadmin_id>10)T1leftjoinlogonT1.admin_id=log.admin_id。使用JOIN时候,应该用小的结果驱动大的结果(leftjoin左边表结果尽量小如果有条件应该放到左边先处理,rightj...
可以,比如selectidfromtwherenumisnull这样的sql也是可以的。但是最好不要给数据库留NULL,尽可能的使用NOTNULL填充数据库。不要以为NULL不需要空间,比如:char(100)型,在字段建立时,空间就固定了,不管是否插入值(NULL也包含在内),都是占用100个字符的空间的,如...
单点登录的原理是后端生成一个sessionID,然后设置到cookie,后面的所有请求浏览器都会带上cookie,然后服务端从cookie里获取sessionID,再查询到用户信息。所以,保持登录的关键不是cookie,而是通过cookie保存和传输的sessionID,其本质是能获取用户信息的数据。除了coo...
本质区别:转发是服务器行为,重定向是客户端行为。重定向特点:两次请求,浏览器地址发生变化,可以访问自己web之外的资源,传输的数据会丢失。请求转发特点:一次强求,浏览器地址不变,访问的是自己本身的web资源,传输的数据不会丢失。
HTTP协议有HTTP/1.0版本和HTTP/1.1版本。HTTP1.1默认保持长连接(HTTPpersistentconnection,也翻译为持久连接),数据传输完成了保持TCP连接不断开(不发RST包、不四次握手),等待在同域名下继续用这个通道传输数据;相反的就是短连接。在HTTP/1.0中,默认使用的是...
脏数据在临时更新(脏读)中产生。事务A更新了某个数据项X,但是由于某种原因,事务A出现了问题,于是要把A回滚。但是在回滚之前,另一个事务B读取了数据项X的值(A更新后),A回滚了事务,数据项恢复了原值。事务B读取的就是数据项X的就是一个“临时”的值,就是脏数据。脏读就是指当一个事务正在访...
持久化的对象,是已经存储到数据库或保存到本地硬盘中的对象,我们称之为持久化对象。为了保存在内存中的各种对象的状态(也就是实例变量,不是方法),并且可以把保存的对象状态再读出来。我们可以使用Java提供的序列化机制。简单说对象序列化是将对象状态转换为可保持或传输的格式的过程。什么情况下需要序列化:●当你想把的内存...
EJB是sun的服务器端组件模型,最大的用处是部署分布式应用程序当然,还有许多方式可以实现分布式应用,类似微软的.net技术。凭借java跨平台的优势,用EJB技术部署的分布式系统可以不限于特定的平台。EJB(EnterpriseJavaBean)是J2EE的一部分,定义了一个用于开发基于组件的企业多重应用程序...
A.使用Servlet作为控制器B.MVC设计模式增大了维护难度C.MVC设计模式属于Model2D.模型对象向客户端显示应用程序界面Model1:Model1的基础是JSP文件,它由一些相互独立的JSP文件,和其他一些JavaClass组成(不是必须的)。这些JSP从HTTPRequest中获得所需要的数据,...
如果你拥有一些方法并且想让它们中的一些有默认实现,那么使用抽象类吧。如果你想实现多重继承,那么你必须使用接口。由于Java不支持多继承,子类不能够继承多个类,但可以实现多个接口。因此你就可以使用接口来解决它。如果基本功能在不断改变,那么就需要使用抽象类。如果不断改变基本功能并且使用接口,那么就需要改变所有实现了...