java 经典语录_java编程经典语录

2016-09-19

1. 文件File是对IO的抽象; 进程是对一个正在运行的程序的抽象; 虚拟机是对整个计算机的抽象(包括操作系统,处理器和程序的抽象)2.hibernate中,1vs N 一对多的关联中,在1方设置inverse=true;让多方来维护关系有助于性能改善3.如何解除父子关系?通过置null!

customer.getOrders().remove(order);//1方

order.setCustomer(null);//多方

tx.commit();4.《设计模式》精髓: 发现变化封装变化;针对接口编程;抽象层次越高,接口的语意越模糊,适用范围越广。5.下载excel,如何设置excel的长度?先写到字节流中后后把响应写到浏览器

OutputStream buf= newByteArrayOutputStream();

workbook.write(buff);

response.setContentLength(buf.toByteArray().length);

workbook.write(response.);

2016-09-21

什么是闭包?

答案:闭包就是负责到底,例如:

user 到A部门去办证,结果发现办这个证需要B,C,D部门盖章。。。

闭包就是

user找到A部门,A部门去找B找C找D去盖章,这就是闭包的负责到底,如果是user自己去A,去B,去C。。。部门敲章就不是闭包

20166-09-22

jQuery中 $.done 和 $.always 区别?

done:成功时执行,异常时不会执行。

always:不论成功与否都会执行。

jquery中两个重要的方法!!!

1.传递数据到函数

function handlerName(event)

{

alert(event.data.msg);

}

$(document).ready(function(){

$("p").on("click", {msg: "You just clicked me!"}, handlerName)

});

2.适用于未创建的元素

$(document).ready(function(){

$("div").on("click","p",function(){

$(this).slideToggle();

});

$("button").click(function(){

$("

This is a new paragraph.

").insertAfter("button");

});

});

/**

* 使用类路径的读取方式

* / : 斜杠表示classpath的根目录

* 在java项目下,classpath的根目录从bin目录开始

* 在web项目下,classpath的根目录从WEB-INF/classes目录开始

*/

InputStream in = JdbcUtil.class.getResourceAsStream("/db.properties");

2016-09-23

//如何让字符串数组通过逗号分隔符组合成字符串? 这个方法相当好! String[] -----> String

String[] keys = {"Z123","Z12345","Z666"};

String orderId = org.apache.commons.lang3.StringUtils.join(keys, ',');

HQuery query = new HQuery();

query.setQueryString("from OrderDTO where id in (" + orderId + ")");

String ----------> String[]

String[] keys = StringUtils.split(orderId, ',');

2.通過hibernate的initial方法加載子集

public String region="selleck.model.order.dto.OrderDTO";

public boolean cacheable=true;

@Override

public OrderDTO find(Integer id) {

Session session = null;

session = this.getSession();

OrderDTO orderDTO = null;

String hql = "select orderDTO from OrderDTO orderDTO where orderDTO.id=?";

Query query = session.createQuery(hql);

query.setInteger(0, id);

query.setCacheable(cacheable);

query.setCacheRegion(region);

List orderDTOs = query.list();

if (orderDTOs != null && orderDTOs.size() > 0) {

orderDTO = (OrderDTO) orderDTOs.get(0);

}

if(orderDTO != null){//订单不为空 查询订单下的产品

Hibernate.initialize(orderDTO.getOrderProductDTOs());

Hibernate.initialize(orderDTO.getUserDTO());

}

session.close();

return orderDTO;

}

8f900a89c6347c561fdf2122f13be562.png

961ddebeb323a10fe0623af514929fc1.png

这个简单的,你别用Session记录用户登陆信息,用Application,或者用Cache记录

把用户的登陆信息记录在一个表中,用户登陆表增加一行,用户退出,删除那一行

如果想踢掉某人,人为删除那一行登陆信息就可以了,你可以搜一下单点登陆,实现原理基本一样

View Code

web 是“无状态”的系统,

也就是说相当于你认为每一次页面请求服务器的时候都可能“重启服务器”

。所以你只能每一次查询数据库(当然可以先查询数据缓存,没有的情况下才查询数据库),

通过查询到的记录的属性来判断某用户最后一次在线时的 SessionID 是不是当前网页请求消息在 cookie 中所提交的 SessionID。

如果不是,那么就告诉客户端“无法继续在线”就行了。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值