java
zhangye20851
这个作者很懒,什么都没留下…
展开
-
Java获取客户端真实IP地址的两种方法
在JSP里,获取客户端的IP地址的方法是:request.getRemoteAddr(),这种方法在大部分情况下都是有效的。但是在通过了Apache,Squid等反向代理软件就不能获取到客户端的真实IP地址了。 如果使用了反向代理软件,将http://192.168.1.110:2046/ 的URL反向代理为 http://www.javapeixun.com.cn / 的URL时,用re转载 2010-05-14 10:08:00 · 401 阅读 · 0 评论 -
HttpServletRequest的getInputStream方法与getReader方法的区别
通过前面的学习,知道HttpServletRequest的作用是接受客户端传递的数据,今天跟张老师学习了HttpServletRequest的getInputStream方法与getReader方法以及他们的区别,根据不同情况选择对他们的使用,在张老师的Java基础视频中的学习中就知道了字符集编码的重要性,这次还有重定向时getWriter()方法对网页字符集编码的影响,下面是今天学习的总结。转载 2012-02-10 09:23:38 · 855 阅读 · 0 评论 -
使用 CAS 在 Tomcat 中实现单点登录
使用 CAS 在 Tomcat 中实现单点登录简介: 单点登录(Single Sign On , 简称 SSO )是目前比较流行的服务于企业业务整合的解决方案之一, SSO 使得在多个应用系统中,用户只需要登录一次就可以访问所有相互信任的应用系统。CAS(Central Authentication Service)是一款不错的针对 Web 应用的单点登录框架,本文介绍转载 2012-02-10 10:01:09 · 420 阅读 · 0 评论 -
HTTP 代理如何正确处理 Cookie
随着越来越多的系统移植到了 Web 上,HTTP 协议具有了比以前更广泛的应用。不同的系统对 WEB 实现提出了不同的要求,基于 HTTP 协议的网络应用正趋于复杂化和多元化。很多应用需要把用户请求的页面进行处理后再返回给用户,比如页面关键字过滤,页面内容缓存、内容搜索、页面翻译等等。这些应用在实际效果上类似于一个 HTTP 应用代理:它们首先接受用户的请求,根据用户请求的 URL 去真正的目标服转载 2012-02-10 15:31:24 · 421 阅读 · 0 评论 -
IP地址转化成整数
关键技术: 将IP地址转化成整数的关键技术点如下: 1、通过String的indexOf方法找出IP字符串中的"."的位置 2、根据点的位置,使用String的substring方法把IP字符串分成4段 3、使用Long的parselong方法把子段转化为一个3位数 4、通过左移位操作( 将整数形式的IP地址转转载 2012-02-21 14:04:31 · 512 阅读 · 0 评论 -
spring 事务管理(转)
通常建议采用声明式事务管理。声明式事务管理的优势非常明显:代码中无需关于关注事务逻辑,让Spring声明式事务管理负责事务逻辑,声明式事务管理无需与具体的事务逻辑耦合,可以方便地在不同事务逻辑之间切换。声明式事务管理的配置方式,通常有如下三种:1.使用TransactionProxyFactoryBean为目标bean生成事务代理的配置。此方式是最传统,配置文件最臃肿、难以阅读的方式。转载 2012-06-07 10:18:47 · 340 阅读 · 0 评论 -
java内存分配机制(转)
通过这几天对一个内存溢出程序的监控,学习了程序运行时对内存的使用机制,在这里和大家分享下。 Java程序运行在JVM(Java Virtual Machine,Java虚拟机)上,可以把JVM理解成Java程序和操作系统之间的桥梁,JVM实现了Java的平台无关性,由此可见JVM的重要性。所以在学习Java内存分配原理的时候一定要牢记这一切都是在JVM中进行的,JVM是内存转载 2012-06-12 14:49:37 · 315 阅读 · 0 评论 -
openfire插件开发的四种方式(转)
openfire 的插件可以访问所有openfire的API。这给我们的插件实现提供了巨大的灵活性。以下提供了四种比较常用的插件集成方式。1、Register a plugin as a Component。 Components可以接收一个特定子域(sub-domain)的所有包。比如test_componet.example.com。所以,一个发送给joe@test_componet.ex转载 2012-07-02 14:41:51 · 561 阅读 · 0 评论 -
Spring MVC和Struts2的区别
1. 机制:spring mvc的入口是servlet,而struts2是filter,这样就导致了二者的机制不同。 2. 性能:spring会稍微比struts快。spring mvc是基于方法的设计,而sturts是基于类,每次发一次请求都会实例一个action,每个action都会被注入属性,而spring基于方法,粒度更细,但要小心把握像在servlet控制数据一样。spring3转载 2013-01-08 11:17:59 · 422 阅读 · 0 评论 -
源代码解读Cas实现单点登出(single sign out)功能实现原理
转载http://www.blogjava.net/xmatthew/archive/2008/07/09/213808.html关于Cas实现单点登入(single sing on)功能的文章在网上介绍的比较多,想必大家多多少少都已经有所了解,在此就不再做具体介绍。如果不清楚的,那只能等我把single sign on这块整理出来后再了解了。当然去cas官方网站也是有很多的文章进行介绍。ca转载 2012-02-10 10:11:38 · 517 阅读 · 0 评论 -
Java 线程池的原理与实现
最近在学习线程池、内存控制等关于提高程序运行性能方面的编程技术,在网上看到有一哥们写得不错,故和大家一起分享。[分享]Java 线程池的原理与实现这几天主要是狂看源程序,在弥补了一些以前知识空白的同时,也学会了不少新的知识(比如 NIO),或者称为新技术吧。线程池就是其中之一,一提到线程,我们会想到以前《操作系统》的生产者与消费者,信号量,同步控制等等。一提到池,我们会转载 2011-11-01 12:19:34 · 373 阅读 · 0 评论 -
内存泄漏
<br />内存泄漏指由于疏忽或错误造成程序未能释放已经不再使用的内存的情况。内存泄漏并非指内存在物理上的消失,而是应用程序分配某段内存后,由于设计错误,失去了对该段内存的控制,因而造成了内存的浪费。内存泄漏与许多其他问题有着相似的症状,并且通常情况下只能由那些可以获得程序源代码的程序员才可以分析出来。然而,有不少人习惯于把任何不需要的内存使用的增加描述为内存泄漏,即使严格意义上来说这是不准确的。<br /> 一般我们常说的内存泄漏是指堆内存的泄漏。堆内存是指程序从堆中分配的,大小任意的(内存块的大小可以转载 2010-06-04 10:49:00 · 411 阅读 · 0 评论 -
Java的类加载机制
<br />Java 语言是一种具有动态性的解释型编程语言,当指定程序运行的时候, Java 虚拟机就将编译生成的 . class 文件按照需求和一定的规则加载进内存,并组织成为一个完整的 Java 应用程序。 Java 语言把每个单独的类 Class 和接口 Implements 编译成单独的一个 . class 文件,这些文件对于 Java 运行环境来说就是一个个可以动态加载的单元。正是因为 Java 的这种特性,我们可以在不重新编译其它代码的情况下,只编译需要修改的单元,并把修改文件编译后的 . cl转载 2010-06-04 10:58:00 · 358 阅读 · 0 评论 -
Struts 1 和 Struts 2 的线程安全
<br />总的来说,Struts1 的 Action 是单例模式,因此开发者必须保证它是线程安全的或是同步的,因为Struts 1中每个Action仅有一个实例来处理所有的请求。 <br /> <br /> 但是在用Struts 1开发时并没有考虑到线程安全问题,这是因为我们在Action中使用的基本都是局部变量,而“局部变量是线程安全的。因为每执行一个方法,都会在独立的空间创建局部变量,它不是共享的资源。局部变量包括方法的参数变量”(忘了引自哪了)。在Struts 1中,所有的变量都是定义在Act原创 2010-06-07 10:24:00 · 584 阅读 · 0 评论 -
AOP思想与面向方面的编程
<br />AOP思想与面向方面的编程<br />AOP实际是GoF四人组设计模式的一种扩展,设计模式所追求的是降低代码之间的耦合度,增加程序的灵活性和可重用性,AOP实际上就是设计模式所追求的目标的一种实现。所谓的分离关注就是将某一通用的需求功能从不相关的类之中分离出来;同时,能够使得很多类共享一个行为,一旦行为发生变化,不必修改很多类,只要修改这个行为就可以。AOP就是这种实现分散关注的编程方法,它将“关注”封装在“方面”中。<br />面向对象的编程(OOP)方法是在面向过程的编程方法基础上进行的改进转载 2010-12-14 15:50:00 · 436 阅读 · 0 评论 -
Webservice中的SOAP和REST方式比较
REST是Representational State Transfer的简写,REST采用简单的URL的方式来代表一个对象,例如一个URL就对应一个对象。Amazon、Yahoo和国内的阿里软件都提供了REST方式的Webservice调用。REST的优点: 1)轻量级的解决方案,不必向SOAP那样要构建一个标准的SOAP XML。 2)可读性比较好:可以把URL的名字取得有实际意义。 3)不需要SDK支持:直接一个Http请求就可以,但是SOAP则可能需要使用到转载 2011-01-14 13:46:00 · 668 阅读 · 0 评论 -
linux下jni编程指南之——HelloWorld
该示例源于jni官方编程指南——《The Java™ NativeInterface Programmer’s Guide and Specification》。 本文通过一个简单的例子来演示如何使用JNI。我们写一个JAVA程序,并用它调用一个C函数来打印“Hello转载 2011-10-13 10:38:31 · 368 阅读 · 0 评论 -
Java读取图片EXIF信息
Java读取图片EXIF信息首先介绍一下什么是EXIF,EXIF是Exchangeable Image File的缩写,这是一种专门为数码相机照片设定的格式。这种格式可以用来记录数字照片的属性信息,例如相机的品牌及型号、相片的拍摄时间、拍摄时所设置 的光圈大小、快门速度、IS转载 2011-10-10 16:05:02 · 809 阅读 · 0 评论 -
java中判断socket服务器端是否断开连接
最近在开发中遇到一个问题,就是如何判断远端服务器是否已经断开连接,如果断开那么需要重新连接。首先想到socket类的方法isClosed()、isConnected()、isInputStreamShutdown()、 isOutputStreamShutdown()等,但经过试验并查看相关文档,这些方法都是本地端的状态,无法判断远端是否已经断开连接。然后想到是否可以通过OutputStr转载 2011-10-28 12:27:43 · 784 阅读 · 0 评论 -
servlet和filter的异同
以前总以为filter就是一种特殊servlet,所以他们在web.xml中配置因该是一样的,但是事实并非如此!请看下文:看Servelt规范: 引用 A filter is a reusable piece of code that can transform the content of HTTP requests, responses, and heade转载 2013-01-08 11:23:30 · 453 阅读 · 0 评论