`
文章列表
https认证其实是基于证书认证,一般常用的x509认证。 关于x509认证,我们需要理解几个名称 Private key 指的是证书中的私钥。 Public key  指的是证书中的公钥。 KeyStore    指的是存储公钥的容器。 TrustStore  指的是存储私钥的容器。 简单的介绍下,x509认证的基本原理 1、客户端发送soap到服务端 首先A(客户端)需要使用自己的私钥进行签名,使用B(服务端)的公钥进行加密,然后将soap传给B,B用私钥进行解密,用A的公钥进行验签。 2、服务端返回数据到客户端 首先B用自己的私钥进行签名,用A的公钥进行加密,然后将soap传回给A,A用 ...
Apache(Web Server)负责处理HTML静态内容; Tomcat(App Server)负责处理动态内容; 其原理如下: Apache装有一个模块,这个模块叫mod_jk Apache通过80端口负责解析任何静态web内容 任何不能解析的内容,用表达式告诉mod_jk,让mod_jk派发给相关的app server去解释。 1、环境 Apache  : apache_2.2.17-win32-x86-no_ssl.msi (下载http://httpd.apache.org/download.cgi) Tomcat :  tomcat6.0.20。建议 下载 http:/ ...
spring的事务是从TransactionProxyFactoryBean开始的TransactionProxyFactoryBean也是一个FactoryBean 源码如下: public class TransactionProxyFactoryBean extends AbstractSingletonProxyFactoryBean     implements BeanFactoryAware {     public TransactionProxyFactoryBean()     {     }     public void setTransactionManager( ...
我们在项目中大多使用的声明式的AOP配置,其实在spring中也提供了编程式的AOP实现方法,具体在ProxyFactory中例如ProxyFactory例子如下: TargetImpl target = new TargetImpl(); ProxyFactory proxy = new ProxyFactory (); target.addAdvisor(youAdvisor); target.addAdvice(youAdvice); TargetImpl  targetproxy = proxy.getProxy(); proxyFactory类的源码如下: public c ...
我们都知道在spring AOP中产生代理对象的方式有jdk和cglib的方式生成,无论那种方式,AOP的拦截的处理都是通过ReflectiveMethodInvocation中的proceed方法 其方法的源码如下:   public Object proceed()         throws Throwable     {         //如果拦截器迭代完毕,这里开始调用目标方法         if(currentInterceptorIndex == interceptorsAndDynamicMethodMatchers.size() - 1)             retu ...
下面我们来看看Spring的AOP的一些相关代码是怎么得到Proxy的,让我们我们先看看AOP和Spring AOP的一些基本概念: Advice:     通知,制定在连接点做什么,在Sping中,他主要描述Spring围绕方法调用注入的额外的行为,Spring提供的通知类型有:     before advice,AfterReturningAdvice,ThrowAdvice,MethodBeforeAdvice,这些都是Spring AOP定义的接口类,具体的动作实现需要用户程序来完成。 Pointcut:     切点,其决定一个advice应该应用于哪个连接点,也就是需要插 ...
使用过jdbc的我们都知道spring jdbc ,首先我们看下JdbcTemplate 中的execute 在exceute的实现中看到了数据库进行操作的基本过程,比如需要获得数据库Connection,根据应用对数据库操作需要创建数据库的statement,对数据库操作进行回调,处理数据库异常   最后把数据库的连接关闭,等等,这里展示了使用JDBC完成数据库操作的完整过程,只是在spring中,对这些较为普通的JDBC使用,JdbcTemplate进行了一个封装而已。      public void execute(final String sql)         throws Da ...
spring jdbcTemplate 提供了很多查询和更新功能,但是如果我们需要高层次的抽象spring还有个RDBMS其中包括了SqlQuery,MappingSqlQuery,SqlUpdate等 我们首先来看下一个简单的查询简单例子 public class BokkQuery extends MappingSqlQuery<VersionInfo> {     public BokkQuery(DataSource dataSource)     {         super(dataSource, "select * from t_soft_version t ...
spring源码中的IOC的实现可以分为三步骤 1.加载资源将内容转换成Document对象 在spring中有个XmlBeanFactory类是对xml进行相关的加载。 private final XmlBeanDefinitionReader reader = new XmlBeanDefinitionReader(this); public XmlBeanFactory(Resource resource, BeanFactory parentBeanFactory) throws BeansException { super(parentBeanFactory); //加载 ...
public class TextViewLinkActivity extends Activity { TextView myTextView; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); myTextView = (TextView) this.findViewById(R.id.myTextView); // ...
Global site tag (gtag.js) - Google Analytics