- 浏览: 20090 次
- 性别:
- 来自: 上海
最新评论
-
最后的守候:
博主很是有才,顶!!!!!!
Spring 配置文件 内写EL 表达式
文章列表
Java 基础知识-方法,构造-无限传参
- 博客分类:
- 后台服务端
public class test{
/**
* 符合java语法,一直没用到,在此记录
* str 参数为String[] 数组类型,但直接用 getCount(String[] str)就不可以无限传参,
* 语法规范问题
*/
public static int getCount(String... str){
return str.length();
}
public static void main(String args){
test.getCount("1","2&quo ...
使用主键的情况一般是 当缓存一组数据,而该数据中一个字段无法做到唯一性,So 声明个对象,将多个字段组合起来,作为缓存KEY。
如果该缓存使用 HashMap 实现;
考虑到HashMap 里存储N个对象后。 利用对象KEY直接取对应的值,我们会获取不到对应的值。
这就关系HashMap 内部 get(Key)获取机制了,里面是先获取 该Key 的hashCode() ,而后计算出Hash码,
再去获取对应对象的索引,找到该对象后,对比Hash码是否相等 以及 Equals 当前Key ,与 HashMap内对应的Key ,是否相等,对象与对象比较不是简单的值与值 结果 ...
Java 调用外部程序(简单)
- 博客分类:
- 后台服务端
缺点会牺牲跨平台特性,必须每个系统找到对应的执行命令
browserPath 程序路径 例:浏览器IE8
htmlFileName HTML文件全路径
ProcessBuilder builder = new ProcessBuilder(browserPath, htmlFileName);
try { builder.start(); } catch (IOException e) { String errorMsg = "can't start the browser"; logger.error(err ...
如果你的项目 jar 包是引用外部的,比如:使用maven 管理
当将项目部署到本机tomcat 并启动,
直接报错 Log4jConfigListener or ContextLoaderListener 监听器找不到!
但是你确确实实的这些jar包都存在你的eclipse 引用中。而且一点错误未报,就是找不到。
那么就很可能是你的tomcat 没有加载 maven的jar包进去,
可以去看你在tomcat发布的编译后项目,
里面是否有lib包。
如没有, 右键项目 -- 属性 --- 部署装配(deployment assembly)
里面是 ...
因为最近用到了MongoDB 是一个基于分布式文件存储的数据库。
下面介绍简单的安装过程:
系统:WINDOWS XP 32(位)最新默认16M,
安装64位系统。对于单个文件存储默认可以增加一倍多吧;
这个是官方默认的数值,自己可以调。甚至无限制。但是。这个时候就会牺牲一定的效率了。
确定你的项目设计是符合规范的么。自己权衡吧。--10gen
首先 配置一下系统变量,PATH 内加入你 官网下载的MongoDB bin 路径
(cmd命令时候不需要每次敲到实际路径,貌似重启之后才起作用)
接着在 MongoDB 文件夹内添加 Data 和 lo ...
Json 序列化问题
- 博客分类:
- 后台服务端
Json序列化带来的好处之一就是,可已经将复杂的对象转成json对象,传入前台。
例如: Ajax 请求,返回函数 data.theClass.user.username . 直接在js调用。
当时当我们遇到多对一,或者多对多的关系,对象映射无限制,
json 序列化时就会一直无限死循环的去序列化
例: theClass ---> User ---> theClass ---> User ----->theClass ......就会死循环了。
以下方式可以实现json只序列化一 ...
网银 ‘签名’的实现
- 博客分类:
- 后台服务端
签名组成:
可以使用全报文(即:必要数据表单)加密 + MD5Key(双方共同约定的密钥) 。
实现思路:
商户方发送请求时,连带 加密后签名 一起发送至第三方支付,由第三方支付系统解密验证 是否与传入报文信息符合,
服务器 获取 客户端的真实IP
- 博客分类:
- IP
/**
*
* @param request
* @return 请求IP地址
*/
public static String getIp(HttpServletRequest request) {
//
String ip = null;
//
ip = request.getHeader("X-Forwarded-For");
if (isRealIP(ip)) {
return getRealIp(ip);
}
//
ip = request.getHeader("Pro ...
spring 框架的xml文件如何读取properties文件数据
第一步:在spring配置文件中
注意:value可以多配置几个properties文件
<!-- 案例1 -->
<bean id="propertyConfigurer"
class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
<property name="locations">
...
Ehche 的使用小例子
- 博客分类:
- 后台服务端
使用Ehche 首先应导入相应jar包,然后配置ehche.xml 文件 并声明一个案例
<ehcache>
<diskStore path="java.io.tmpdir"/>
<defaultCache
maxElementsInMemory="1000"
eternal="false"
overflowToDisk="true"
timeToIdleSeconds="120"
timeToLiveSecon ...
SpringSide4 安装以及创建项目全步骤
- 博客分类:
- 后台服务端
Springside4.0 下载地址 : http://www.springside.org.cn/
Maven3.0.4 下载地址: http://maven.apache.org/download.html (apache-maven-3.0.4-bin.zip)xp版本
Install JDK 6.0+ and set the JAVA_HOME. 设置 环境系统变量
Install Maven 3.0.3+ and set the PATH. (如果电脑有代理不能直接联网,请在apache-maven-3.0.4\conf\settings.xml 设置
...
常见异常,及处理方法
- 博客分类:
- 后台服务端
1. transientObject exception :
object references an unsaved transient instance - save the transient instance before flushing
该异常,一般只有 表内出现一对多,多对一,一对一这种情况出现
解决办法: 出现这个错误的原因是在保存该对象前,发现该对象包含有其他空的对象。想了想,不应该在保存team之前手动保存student对象的,应该是自动啊,想了想,在team.hbm.xml中的map上添加cascade="save-update",搞定!
或者在属性字段 ...
线程 、多线程 与 线程池 小例子
- 博客分类:
- 后台服务端
package test;
import java.io.Serializable;
import java.util.concurrent.ArrayBlockingQueue;
import java.util.concurrent.ThreadPoolExecutor;
import java.util.concurrent.TimeUnit;
public class SunThread implements Runnable{
private String name;
public void run() {
for(int i=0 ...
定时器 使用hibernate定时查询数据库
- 博客分类:
- 后台服务端
1.<!-- Hibernate配置 -->
2.<bean id="sessionFactory" class="org.springframework.orm.hibernate3.annotation.AnnotationSessionFactoryBean">
3.<property name="dataSource" ref="dataSource" />
4.<property name="namingStrategy"> ...
IE 路径可以直接获取,但是火狐不可以,因为涉及到安全问题,火狐禁止了直接获取客户端全路径,但可以使用以下方式获取加密后路径,火狐浏览器会自动解密(自我认为) 使用struts情况下上传只需在Action 声明个File 参数get set 接收
upload:为file对象
iconPath = window.URL.createObjectURL(upload.files[0]);
//显示预览图
function showPic(iconPath){
var width = '200px';
var height = '100px';
...