- 浏览: 19806 次
最新评论
文章列表
一、总结前一天的学习
在前一天的学习中我们知道、了解并掌握了Web Server结合App Server是怎么样的一种架构,并且亲手通过Apache的Http Server与Tomcat6进行了整合的实验。
这样的架构的好处在于:
ü 减轻App Server端的压力,用Web Server ...
- 2012-06-28 14:25
- 浏览 322
- 评论(0)
一、先从J2EE工程的通用架构说起
这是一个通用的Web即B/S工程的架构,它由:
ü Web Server
ü App Server
ü DB Server
三大部分组成,其中:
² Web Server
置于企业防火墙外,这个防火墙,大家可以认为是一个CISCO路由器,然后在CISCO路由 ...
- 2012-06-28 10:48
- 浏览 282
- 评论(0)
自定义Annotation概念篇
来看一个最简单的annotation
package com.cts.elt.annotation;
import java.lang.annotation.Documented;
import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
importjava.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target ...
- 2012-03-26 14:22
- 浏览 210
- 评论(0)
前言:
在今天的学习中,我们讲开始过渡到一个真正的websecurity例子。
第二天中我们知道了如何使用handler来处理客户端提交上来的用户名与密码,而在今天的学习中,我们将会使用服务端预先配置的用户名与密码来authenticate客户端提交上来的值。
相对于第二天的学习,如果客户端提交的用户名与密码输错,但还是能够与服务端建立http连接来说,第三天中的例子的安全性则更高,当客户端提交上来的用户名与密码错误则更本不可能和服务端建立起有效的http连接。该例子同时适用于一切J2EE AppServer,比如说:IBMWAS, ORACLE WEBLOGIC。
同时,通过该例子将讲 ...
- 2012-01-20 13:25
- 浏览 364
- 评论(0)
前言:
第一天里说了如何用jax-ws去结合ssh框架。
在今天的教程中将会向大家详细讲述一个ws-security中的一个传统的”基于handler”来认证客户端传来的用户名密码的webservice.
客户端传过来一对用户名和密码,服务端进行认证。
当然,我们此处说这个用户名和密码的传送,那可不是用下面的这种形式来传送的哦:
http://xxx.do?username=xxx&password=xxx。
我们这个用户名和密码是带在soap报文中的, jax-ws用一个handler专门用于处理soap报文的。
一、书写Handler
1. 1 handler类
...
- 2012-01-20 13:19
- 浏览 297
- 评论(0)
前言:
在前面的“5天学会jaxws-webservice教程”,我们讲了基本的jax-ws的使用。
Jax-ws是业界公认的标准的webservice,它已经成为了一个行业界标准,包括cxf,其实cxf也是调用的jax-ws为标准的基于spring的webservice框架。
同时,大家都知道世界上除了j2ee体系外,还存在.net体系,同时有过相关经验的同事们也知道用ws-security无非就是涉及到“加密”,“解密”,而JAVA的x509所涉及到的证书,公钥,私钥与.net体系之间是无法通用的。
但是webservice是因该属于无所谓语言的一个标准,因此为了让j2ee的webs ...
- 2012-01-20 13:15
- 浏览 235
- 评论(0)
前言:
在第四天时了解了用jaxws如何去传输一个二进制文件,今天我们将讲述用Client上传一个Java复杂类型,该复杂类型中有一个字段叫myPhoto,为一个jpg/gif附件,服务端接受该上传的复杂类型,并把其中的二进制字段中的图片保存至本地。
对于我们来说,传输诸如下面这样一种的数据结构更符合企业级webservice的应用。
客户ID:
XXXX
客户名:
XXXX
客户靓照:
目标:
1. 客户端用Webservice上传一个带有二进制附件的java复杂类型,服务端收到客户端request后把java ...
- 2012-01-17 11:32
- 浏览 185
- 评论(0)
前言:
从今天开始,我们将学习如何使用Webservice进行二进制附件的传输,这一课题将分成两个部分:
l 第一部分实现Client上传一个附件到服务端,服务端接收Client传过来的二进制附件后保存至本地。
第二部分实现Client上传一个Java复杂类型,该复杂类型中有一个字段叫myPhoto,为一个jpg/gif附件,服务端接受该上传的复杂类型,并把其中的二进制字段中的图片保存至本地。
以下是我们要存取的图片(搞笑一下啊)
目标:
1. 客户端用Webservice上传一个二进制文件,服务端收到客户端request后把二进制附件读出,保存至本地
一、编写Serv ...
- 2012-01-17 11:23
- 浏览 277
- 评论(0)
前言:
在第二天的学习中,我们了解了jaxws如何返回一个List<String>类型的相对复杂的java数据类型给客户端,在今天,我们将更深入一步做一个真正的Java复杂类型的Webservice的传输调用。
目标:
1. 用Webservice调用和返回Java的复杂类型(比如说:List<Student>这样的数据)
一、编写Server端
1.1制作JAVA BEAN-Person对象
这次我们将返回一个List<Person>类型给客户端。
先来制作我们的Person类,代码如下:
package ctsjavacoe.ws ...
- 2012-01-17 11:18
- 浏览 310
- 评论(0)
第二天
前言:
大家都知道,仅仅输入或者返回一个简单型的String, Int在实际工作中没有太大的意义。很多时候我们的Service需要返回类似于List<Person>,List<String>这样的数据结构。
我们现在就一起来看用Jaxws怎么实现。
目标:
1. 用Webservice调用和返回Java的复杂类型(比如说:List<Student>这样的数据)
一、编写Server端
1.1先对jaxws返回List类型做一个简单的POC
在正式做我们的复杂类型返回前,我们先做一个试验来证明jaxws能否返回复杂类型即Colle ...
- 2012-01-17 11:15
- 浏览 240
- 评论(0)
前言:
随着近几年来,SOA,EAI等架构体系的日渐成熟,Webservice越来越炽手可热,尤其是在企业做异质平台整合时成为了首选的技术。
Java的Webservice技术更是层出不穷,比较流行的有:
Axis2,Spring WS以及Jaxws。
本人在日常工作和 ...
- 2012-01-16 21:02
- 浏览 244
- 评论(0)
更详细的内容参考我的另一篇:
网上交易安全之九阳神功-使用JAVA调用U盾进行客户认证的total solution
需要解决的问题:
1.Servlet如何读客户端的认证
很多网上的朋友都说
“我用X509Certificate[]certs = (X509Certificate[]) request .getAttribute("javax.servlet.request.X509Certificate");
得到的证书是个null”
几乎没有答案,这边给出解决方案
a.客户端访问这个servlet,客户端和放这个servlet的j2eeapp必 ...
- 2011-09-09 17:29
- 浏览 171
- 评论(0)
一、通过用户名和密码来进行认证的弊病
我们有一个网站,为了保证用户在线交易传输数据的安全性,我们会启用一个HTTPS/SSL:
但是,对于一些网上银行或者是网购来说,黑客特别喜欢攻击这样的网站, 有一种攻击手法叫MIMAT(中间者攻击), 伪造SSL证书,让客户端的HTTP流,流到他那边去, 然后再进一步用暴力破解,来破解你HTTP传输时的密码。
一、改进的交易流程
我们假设密码已经被MIM拿到了,拿到就拿到呗,大家知道工商银行网上转贴划款时除了输入用户名和密码外,还会在点”下一步”时,跳出一个页面,让你插上你的U盾,然后再送一下交易密码的过程吧?
这个就是”电子签名认证 ...
- 2011-09-09 16:30
- 浏览 239
- 评论(0)
In a typical struts+spring framework, we know how to inject our “service”
into the “action”. But sometime we have to use the “servlet”.
I mean the real servlet, not the struts’s action-servlet!
For example:
We have a servlet name is “UserServlet”, we want to inject the service
“MyTaskService” ...
- 2011-04-13 13:59
- 浏览 393
- 评论(0)
一般我们在form提交时不要担心我们的参数会显示给用户看。
我们主要解决的是以get方式进行url参数传递的问题,如:
http://xxx.xxx.xxx.xxx/xxx/xxx.do?pId=101&imageName=processimage.jpg这样的url pId=101&imageName=processimage.jgp这样的参数如何进行加密。
我们采用:
java.net.URLEncoder.encode(Base64编码(加密字串), StringCode) 这样的方法来对url中的参数进行加密。
首先我们先说一下如何加密。
...
- 2011-04-12 14:33
- 浏览 285
- 评论(0)