<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[Never lose the opportunity to succeed.]]></title><description><![CDATA[Java初学者]]></description><link>https://blog.youkuaiyun.com/lee4037</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; lee4037]]></copyright><item><title><![CDATA[mybatis调用方法包路径问题]]></title><link>https://blog.youkuaiyun.com/lee4037/article/details/43476557</link><guid>https://blog.youkuaiyun.com/lee4037/article/details/43476557</guid><author>lee4037</author><pubDate>Wed, 04 Feb 2015 03:28:41 +0800</pubDate><description><![CDATA[如:
SqlSession session = MyBatisUtil.getSqlSession();
List usersList = session.selectList("com.dao.UsersDao.selectAll");

......
可能会发现一个异常:java.lang.exceptionininitializererror....

改成:
SqlSess]]></description><category></category></item><item><title><![CDATA[Struts2验证码]]></title><link>https://blog.youkuaiyun.com/lee4037/article/details/42978611</link><guid>https://blog.youkuaiyun.com/lee4037/article/details/42978611</guid><author>lee4037</author><pubDate>Wed, 21 Jan 2015 21:13:47 +0800</pubDate><description><![CDATA[本文分三个步骤介绍验证码图片生成以及与Struts2结合使用。 
Step 1.随机验证码
　　一步一步来，要生成验证码图片，首先要有验证码，然后才能在画在图片上。为了能够灵活控制验证码，特别编写了SecurityCode类，它向外提供随机字符串。并且可以控制字符串的长度和难度。SecurityCode类中提供的验证码分三个难度，易（全数字）、中（数字+小写英文）、难（数字+大小写英文）。难度]]></description><category></category></item><item><title><![CDATA[Struts2中的类型转换]]></title><link>https://blog.youkuaiyun.com/lee4037/article/details/42843649</link><guid>https://blog.youkuaiyun.com/lee4037/article/details/42843649</guid><author>lee4037</author><pubDate>Sun, 18 Jan 2015 21:35:40 +0800</pubDate><description><![CDATA[目录(?)[+]

Struts2中的类型转换

如何编写类型转换器全局类型转换局部类型转换



1.    
Struts2中的类型转换
 
我们知道通过HTTP提交到后台的数据，都是字符串的形式，而我们需要的数据类型当然不只字符串类型一种。所以，我们需要类型转换！
在Struts2中，类型转换的概念除了用于将界面传递过来的字符串转换为特定的类型（convertFrom]]></description><category></category></item><item><title><![CDATA[Struts2深入学习：OGNL表达式原理]]></title><link>https://blog.youkuaiyun.com/lee4037/article/details/42796951</link><guid>https://blog.youkuaiyun.com/lee4037/article/details/42796951</guid><author>lee4037</author><pubDate>Sat, 17 Jan 2015 01:57:08 +0800</pubDate><description><![CDATA[一、OGNL表达式基础知识 

1. 示例：第一个OGNL程序

2. 示例：上下文环境中使用OGNL

3. 示例：使用OGNL调用方法

4. 示例：使用OGNL操作集合  

5. 示例：使用OGNL过滤集合与投影集合

二、OGNL与Struts2

OGNL表达式

OGNL，全称为Object-Graph Navigation Language，它是一个]]></description><category></category></item><item><title><![CDATA[MyEclipse10破解方法]]></title><link>https://blog.youkuaiyun.com/lee4037/article/details/42725515</link><guid>https://blog.youkuaiyun.com/lee4037/article/details/42725515</guid><author>lee4037</author><pubDate>Thu, 15 Jan 2015 01:51:49 +0800</pubDate><description><![CDATA[双击run.bat打开破解界面


步骤阅读



2

Usercode随便输入，点SystemId按钮产生一个SystemId，再点Active按钮。下面会产生一些东西


步骤阅读



3

打开MyEclipse，MyEclipse -> Subscription Information，把上面生成的LICENSEE复制到Subscripter中，LI]]></description><category></category></item><item><title><![CDATA[Struts2注解拦截器(Before、After、BeforeResult)]]></title><link>https://blog.youkuaiyun.com/lee4037/article/details/42527135</link><guid>https://blog.youkuaiyun.com/lee4037/article/details/42527135</guid><author>lee4037</author><pubDate>Thu, 08 Jan 2015 17:08:15 +0800</pubDate><description><![CDATA[Struts2 在 com.opensymphony.xwork2.interceptor.annotations 包中定义了 3 个拦截器注解类型，让你可以不用编写拦截器类，直接通过注解的方式指定 action 执行之前和之后需要调用的方法。

   Struts2 提供的 3 个拦截器注解类型都只能应用到方法级别。如下：

  Before

   标注一个 action 方法，该]]></description><category></category></item><item><title><![CDATA[Struts2注解配置]]></title><link>https://blog.youkuaiyun.com/lee4037/article/details/42527011</link><guid>https://blog.youkuaiyun.com/lee4037/article/details/42527011</guid><author>lee4037</author><pubDate>Thu, 08 Jan 2015 17:00:52 +0800</pubDate><description><![CDATA[1. 必要的jar包：
commons-fileupload-1.2.1.jar
commons-io-1.4.jar
commons-logging-1.1.1.jar
commons-logging-api.jar
freemarker-2.3.15.jar
ognl-2.7.3.jar
struts2-core-2.1.8.1.jar
xwork-core-2.1.6.jar]]></description><category></category></item><item><title><![CDATA[Struts2同时处理.do/.action后缀的请求]]></title><link>https://blog.youkuaiyun.com/lee4037/article/details/42526965</link><guid>https://blog.youkuaiyun.com/lee4037/article/details/42526965</guid><author>lee4037</author><pubDate>Thu, 08 Jan 2015 16:58:49 +0800</pubDate><description><![CDATA[首先在 web.xml
  配置如下：


<web-app version="3.0"

xmlns="http://java.sun.com/xml/ns/javaee"

xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

xsi:schemaLocation="http://java.sun.com/xml/ns]]></description><category></category></item><item><title><![CDATA[Struts2中的addActionError、addFieldError、addActionMessage的使用方法]]></title><link>https://blog.youkuaiyun.com/lee4037/article/details/42526943</link><guid>https://blog.youkuaiyun.com/lee4037/article/details/42526943</guid><author>lee4037</author><pubDate>Thu, 08 Jan 2015 16:56:54 +0800</pubDate><description><![CDATA[一 addActionError

①概念
addActionError是Action级别的错误消息


②添加
this.addActionError("错误信息");


③显示
显示全部的Action级别的错误消息,可以加CSS

 

 

二 addFieldError

①概念
addFieldError给一个字段(属性)添加错误消息


]]></description><category></category></item><item><title><![CDATA[Struts2标签库讲解]]></title><link>https://blog.youkuaiyun.com/lee4037/article/details/42526883</link><guid>https://blog.youkuaiyun.com/lee4037/article/details/42526883</guid><author>lee4037</author><pubDate>Thu, 08 Jan 2015 16:54:08 +0800</pubDate><description><![CDATA[要使用Struts2的标签,只需要在JSP页面添加如下一行定义即可：



struts2的标签共分为五大类：

一、逻辑控制标签

用于进行逻辑控制输出。主要分以下几类：

1）条件标签：用于执行基本的条件流转

：拥有一个test属性,其表达式的值用来决定标签里内容是否显示。欢迎hzd

：同上。



2）迭代标签：用于遍历集合(java.util.Col]]></description><category></category></item><item><title><![CDATA[Struts2中的constant配置详解]]></title><link>https://blog.youkuaiyun.com/lee4037/article/details/42526823</link><guid>https://blog.youkuaiyun.com/lee4037/article/details/42526823</guid><author>lee4037</author><pubDate>Thu, 08 Jan 2015 16:49:49 +0800</pubDate><description><![CDATA[通过对这些属性的配置，可以改变Struts 2 框架的一些默认行为，这些配置可以在struts.xml文件中完成，也可以在struts.properties文件中完成。

    1. 
    指定Web应用的默认编码集，相当于调用 HttpServletRequest的setCharacterEncoding方法。

    2.
    该属性设置是否每次HTTP请求到达时，系统]]></description><category></category></item><item><title><![CDATA[MySQL5数据库连接超时问题]]></title><link>https://blog.youkuaiyun.com/lee4037/article/details/42248661</link><guid>https://blog.youkuaiyun.com/lee4037/article/details/42248661</guid><author>lee4037</author><pubDate>Mon, 29 Dec 2014 23:22:56 +0800</pubDate><description><![CDATA[最近碰到一个mysql5数据库的问题。就是一个标准的servlet/tomcat网络应用，后台使用mysql数据库。问题是待机一晚上后，第二天早上第一次登录总是失败。察看日志发现如下错误：





“com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: Communications link failure

Last ]]></description><category></category></item><item><title><![CDATA[Hibernate二级缓存配置]]></title><link>https://blog.youkuaiyun.com/lee4037/article/details/42207353</link><guid>https://blog.youkuaiyun.com/lee4037/article/details/42207353</guid><author>lee4037</author><pubDate>Sun, 28 Dec 2014 02:13:42 +0800</pubDate><description><![CDATA[一、why（为什么要用Hibernate缓存？）
Hibernate是一个持久层框架，经常访问物理数据库。
为了降低应用程序对物理数据源访问的频次，从而提高应用程序的运行性能。
缓存内的数据是对物理数据源中的数据的复制，应用程序在运行时从缓存读写数据，在特定的时刻或事件会同步缓存和物理数据源的数据。
 
二、what（Hibernate缓存原理是怎样的？）Hibernate缓存包括两大类]]></description><category></category></item><item><title><![CDATA[Hibernate 所有缓存机制详解]]></title><link>https://blog.youkuaiyun.com/lee4037/article/details/42207311</link><guid>https://blog.youkuaiyun.com/lee4037/article/details/42207311</guid><author>lee4037</author><pubDate>Sun, 28 Dec 2014 02:10:42 +0800</pubDate><description><![CDATA[hibernate提供的一级缓存

hibernate是一个线程对应一个session，一个线程可以看成一个用户。也就是说session级缓存(一级缓存)只能给一个线程用，别的线程用不了，一级缓存就是和线程绑定了。



hibernate一级缓存生命周期很短，和session生命周期一样，一级缓存也称session级的缓存或事务级缓存。如果tb事务提交或回滚了，我们称session就]]></description><category></category></item><item><title><![CDATA[Hibernate本地SQL查询]]></title><link>https://blog.youkuaiyun.com/lee4037/article/details/42120193</link><guid>https://blog.youkuaiyun.com/lee4037/article/details/42120193</guid><author>lee4037</author><pubDate>Wed, 24 Dec 2014 10:03:44 +0800</pubDate><description><![CDATA[使用SQLQuery
对原生SQL查询执行的控制是通过SQLQuery接口进行的，通过执行Session.createSQLQuery()获取这个接口。最简单的情况下，我们可以采用以下形式：
List cats  =  sess.createSQLQuery( " select * from cats " ).addEntity(Cat. class ).list();
这个查询指定了:
]]></description><category></category></item><item><title><![CDATA[Hibernate联合主键映射]]></title><link>https://blog.youkuaiyun.com/lee4037/article/details/42097263</link><guid>https://blog.youkuaiyun.com/lee4037/article/details/42097263</guid><author>lee4037</author><pubDate>Tue, 23 Dec 2014 04:46:56 +0800</pubDate><description><![CDATA[1.联合主键的映射规则
1） 类中的每个主键属性都对应到数据表中的每个主键列。
Hibernate要求具有联合主键的实体类实现Serializable接口，并且重写hashCode与equals方法，重写这两个方法的原因在于Hibernate要根据数据库的联合主键来判断某两行记录是否是一样的，如果一样那么就认为是同一个对象，如果不一样，那么就认为是不同的对象。这反映到程序领域中就是根据hash]]></description><category></category></item><item><title><![CDATA[Hibernate的List映射]]></title><link>https://blog.youkuaiyun.com/lee4037/article/details/42074449</link><guid>https://blog.youkuaiyun.com/lee4037/article/details/42074449</guid><author>lee4037</author><pubDate>Mon, 22 Dec 2014 04:32:29 +0800</pubDate><description><![CDATA[Answer类为Question类一对多关联关系，即一个问题对应多个答案。他们的表结构如下 
 
如果希望Answer集合在Question类中作为List存储，我们可以使用hibernate的list或者bag标签来进行映射。 

当使用list标签映射时，Question.hbm.xml中的配置如下： 


Java代码 
 


       class name="m]]></description><category></category></item><item><title><![CDATA[Hibernate继承映射]]></title><link>https://blog.youkuaiyun.com/lee4037/article/details/42058263</link><guid>https://blog.youkuaiyun.com/lee4037/article/details/42058263</guid><author>lee4037</author><pubDate>Sun, 21 Dec 2014 07:15:50 +0800</pubDate><description><![CDATA[Hibernate继承映射
　　在面向对象的程序领域中，类与类之间是有继承关系的，例如Java世界中只需要extends关键字就可以确定这两个类的父子关系，但是在关系数据库的世界中，表与表之间没有任何关键字可以明确指明这两张表的父子关系，表与表是没有继承关系这样的说法的。为了将程序领域中的继承关系反映到数据中，Hibernate为我们提供了3中方案：
第一种方案：一个子类对应一张表。
第二种]]></description><category></category></item><item><title><![CDATA[hibernate中session的flushMode的区别]]></title><link>https://blog.youkuaiyun.com/lee4037/article/details/42057035</link><guid>https://blog.youkuaiyun.com/lee4037/article/details/42057035</guid><author>lee4037</author><pubDate>Sun, 21 Dec 2014 03:15:31 +0800</pubDate><description><![CDATA[这里面的清理缓存可以理解为hibernate自动执行了一次 session.flush();

选择什么样的flush mode就是采取对hibernate session采取什么样的数据刷新的策略。
Session.setFlushMode()用于设定清理缓存的时间点。

对比一下几种flush mode：

FlushMode.AUTO： 
调用Session的查询方法时，清理]]></description><category></category></item><item><title><![CDATA[java向多线程中传递参数的三种方法]]></title><link>https://blog.youkuaiyun.com/lee4037/article/details/42006633</link><guid>https://blog.youkuaiyun.com/lee4037/article/details/42006633</guid><author>lee4037</author><pubDate>Thu, 18 Dec 2014 15:59:55 +0800</pubDate><description><![CDATA[但在多线程的异步开发模式下，数据的传递和返回和同步开发模式有很大的区别。由于线程的运行和结束是不可预料的，因此，在传递和返回数据时就无法象函数一样通过函数参数和return语句来返回数据。

在传统的同步开发模式下，当我们调用一个函数时，通过这个函数的参数将数据传入，并通过这个函数的返回值来返回最终的计算结果。但在多线程的异步开发模式下，数据的传递和返回和同步开发模式有很大的区别。由于线程的运]]></description><category></category></item></channel></rss>