`
文章列表

关于 ThreadLocal

                     ThreadLocal总结 一、 ThreadLocal简介 ThreadLocal并不能从命名上理解为线程的本地实现版本,因为它并不是一个线程,而是ThreadLocal Variable(线程局部变量)。它的功能非常简单,就是为每一个使用该变量的线程都提供一个变量值的副本,使得每一个线程都可以独立地改变自己的副本,而不会和其他线程珠副本冲突。从线程的角度看,就好像每一个线程都完全拥有该变量。在线程是活动并且ThreadLocal对象是可访问时,该线程就持有一个到该线程局部变量副本的隐含引用。当该线程运行结束后,该线程拥有的所有线程局部变量的副本都将失 ...
  使用ActionContext获得session会带来单元测试不好作,所以使用SessionAware可以用通过的Map对象来注入session,这样在单元测试的时候只需要创建一个Map就可以了。这是一种比较推荐的做法 LogionAction.java文件如下:   package com.xujun.webwork.action; import com.opensymphony.xwork.Action; import com.opensymphony.webwork.interceptor.SessionAware; import java.util.Map; p ...
我们可能会出现这种情况,某个表原来设计不周全,导致表里面的数据数据重复,那么,如何对重复的数据进行删除呢?重复的数据可能有这样两种情况,第一种时表中只有某些字段一样,第二种是两行记录完全一样。一、对于部分字段重复数据的删除先来谈谈如何查询重复的数据吧。下面语句可以查询出那些数据是重复的:select 字段1,字段2,count(*) from 表名 group by 字段1,字段2 having count(*) > 1将上面的>号改为=号就可以查询出没有重复的数据了。想要删除这些重复的数据,可以使用下面语句进行删除delete from 表名 a where 字段1,字段2 in( ...
文中将提供一些在Java编程中影响性能的一些特点,为了能够提高Java程序的性能,而经常采用的一些方法和技巧。 1.尽量使用final修饰符。 带有final修饰符的类是不可派生的。在Java核心API中,有许多应用final的例子,例如java.lang.String。为String类指定final防止了使用者覆盖length()方法。另外,如果一个类是final的,则该类所有方法都是final的。java编译器会寻找机会内联(inline)所有的final方法(这和具体的编译器实现有关)。此举能够使性能平均提高50%。 2.尽量重用对象。 特别是String对象的使用中,出现字符 ...
本文转自:http://struts2.group.iteye.com/group/wiki/1379-action-in-struts2 多数的MVC框架中的Control层,都是一个Java对象。按照惯例,我们通常会把这个层次上面的Java对象统称为Action层。本篇文章,我们就来简单介绍一下Struts2中Action的相关内容。 目 录 [ - ] Action的定义

EL和OGNL区别

取Session中的值  <c:out value="${sessionScope.user.userId}"></c:out><br> <c:out value="${user.userLoginName}"></c:out><br> <s:property value="#session.user.userId"/><br> ${session.user.userId}<br> ...
json的序列化和反序列化在现在的javaweb中特别是ajax中使用的比较频繁,现在本人就这种技术提出自己的使用心得。 我的pojo对象的结构是这样的 部门表和员工表    1对多的关系 部门对象 public class Dept imp
本篇主要通过实例来讲述Struts2中各种各样的参数传递。这个参数传递的过程主要指数据从View层传递到Control层时Struts2的工作方式。根据前两篇文章的知识,我们知道,Struts2完成参数传递处理工作的基础是OGNL和ValueStack。而在这 ...
转载请注明:来自http://blog.csdn.net/M_ChangGong/ 作者:张燕广   FreeMarker是什么?  FreeMarker是一个”模板引擎
     JSON-lib这个Java类包用于把bean,map和XML转换成JSON并能够把JSON转回成bean和DynaBean。  1、List  boolean[] boolArray = new boolean[]{true,false,true}; JSONArray jsonArray1 = JSONArray.fromObject( boolArray ); System.out.println( jsonArray1 ); // prints ...
使用JSON需要引人下列jar包: json-lib-2.3-jdk15.jar commons-beanutils-1.7.0.jar commons-httpclient-3.1.jar commons-lang-2.3.jar commons-logging-1.0.4.jar commons-collections-3.1.jar ezmorph-1.0.3.jar        jsp文件:   <head> <script type="text/javascript"> $(document).ready( fu ...
一、 对于取pageContext、parameters、request、session、application 等处的属性值(假如有 name 属性)时我们用的 EL 表达式分别是:${pageScope.name}、${param.name}、{$requestScope.name}、{$sessionScope.name}、{$applicationScope.name}那么对应的 OGNL 的解决方案分别是:<s:peroperty value="#attr.name"/> <s:property value="#parameters ...
一、 定义 放在一个类的内部的类我们就叫内部类。 二、 作用 1.内部类可以很好的实现隐藏,也就是封装性。一般的非内部类,是不允许有 private 与protected权限的,但内部类可以 2.内部类拥有外围类的所有元素的访问权限 3.可是实现多重继承 4.可以避免修改接口而实现同一个类中两种同名方法的调用 三、   例子 1.实现隐藏 平时我们对类的访问权限,都是通过类前面的访问修饰符来限制的,一般的非内部类,是不允许有 private 与protected权限的,但内部类可以,所以我们能通过内部类来隐藏我们的信息。可以看下面的例子 package beyondx; publ ...
document.createElement()是在对象中创建一个对象, 要与appendChild() 或 insertBefore()方法联合使用。 其中, appendChild() 方法在节点的子节点列表末添加新的子节点。 insertBefore() 方法在节点的子节点列表任意位置插入新的节点。         下面,我们用实例来讲述一下appendChild() 方法和insertBefore() 方法的不同。          比如我们要在下面这个div中插入一个子节点P时: <div id="test"><p i ...
【分享】Spring2.5 注解介绍(3.0通用)   注解说明 • 注册注解处理器 • 方式一:bean <bean class="org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor"/> • 方式二: 命名空间<context:annotation-config /> <context:annotationconfig /> 将隐式地向Spring 容器注册AutowiredAnnotation ...
Global site tag (gtag.js) - Google Analytics