`
wei5201
  • 浏览: 187250 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论
文章列表
一.要是在负载均衡,首先得实现应用服务器之间的session的复制!   1) 这要求所有放在session里的数据对象都必须实现Seriolizable接口!   2) 修改tomcat的server.xml,在<Engine>节点下添加: <Cluster className="org.apache.catalina.ha.tcp.SimpleTcpCluster" channelSendOptions="8"> <Manager classNa ...

spring rmi相关

看了《J2EE without EJB》的remote章节,忍不住写点代码试试,看看Spring的实现到底多巧妙。 1.先测试RMI服务的发布,测试代码如下: //remote Service package test.spring.remote.rmi; public interface MyService extends java.rmi.Remot { public void doSomething() throws java.rmi.RemoteException; } //pojo Service package test.spring.remote. ...
iBatis的sqlMap配置文件的selectKey元素有个type属性,可以指定pre或者post表示前生成(pre)还是后生成(post)。 Oracle设置 <!-- Oracle SEQUENCE --> <insert id="insertProduct-ORACLE" parameterClass="com.domain.Product"> <selectKey resultClass="int" keyProperty="id" type ...
import org.apache.tools.zip.ZipEntry; import org.apache.tools.zip.ZipOutputStream; public class ZipFile{ /** * 把files集合内的所有文件压缩成包test.zip * @param files * @throws IOException */ public void zipFiles(List<File> files) throws IOException{ File tmp_File = new ...
把html导出为excel或者word文档 1.jsp页面简单导出    导出为excel: <% response.setContentType("application/vnd.ms-excel;charset=UTF-8"); response.setCharacterEncoding("UTF-8"); response.setHeader("Content-Disposition","attachment;filename ...
项目中遇到了使用定时工作的程序,数目还很多,于是由于spring的方便性,使用spring-quartz! 使用之前,需要在项目中引入quartz的jar包,要注意quartz和spring版本的匹配,我使用的是quartz1.6.2,spring是2.0.7。 1. spring中涉及quartz的配置: & ...
公司最近要求在某些程序出异常的时候,发封邮件至某个coder,用来及时检查问题所在,要求详细知道哪个类,哪个方法出的异常,出的什么异常等,而且不修改以前的程序代码! 于是想到了spring的AOP.想到了其中的ThrowsAdvice接口,这是用来 ...
项目中需要和第三方平台接口,加了来源IP鉴权功能,测试时发现没有问题,但是部署以后发现存在问题,一直鉴权不通过,一群人抓瞎。 我找到那块的代码,跟了一遍流程发现逻辑没有啥问题,但是最终的结果却还是鉴权不通过,实在有些诡异。其基本逻辑为先取得配置的IP列表,然后通过request.getRemoteAddr()取得客户端的IP地址,做鉴权和校验,逻辑没问题,那么肯定是request.getRemoteAddr()出了问题,google下,发现有人遇到类似的问题。 最终定位为request.getRemoteAddr()这种方法在大部分情况下都是有效的。但是在通过了Apache,Squid等反向 ...
struts2的限制表单重复提交,除了可以限制提交外,还可以让程序员手动指定表单重复提交后,页面转到哪去!这点非常的方便了web开发! 其实原理也很简单,客户端这边保存表单的值,表单中通过<s:token/>标签多了个hidden域,value就是tokenId,而服务器那边则把tokenId保存在了session中,一次提交后,服务器那变tokenId变了,而客户端保存的没变,2边不一致则不让提交了. 见图吧: 三步走: 1.submit前,在表单内加上<s:token/> 2.<interceptor-ref name="token" ...
垂直分库指的是根据应用来分数据库,比如博客一个数据库,论坛一个数据库。水平分库是指,根据某些规则,将同一个应用/表的数据分布在不同的库上。比如根据用户ID把用户的博客文章分布在5个数据库上。 第1章  引言 随 ...
OGNL表达式语言很抽象,按下面的方式应该很好理解,解释了我们为什么在struts2的action中能为复合类型的属性赋值,以及我们为什么可以在jsp页面里使用ongl表达式(从request,session,application中取值等)         Struts2的OGNL表达式语言是基于Xwork的OGNL的,它在Xwork的基础上对OGNL进行了一些封装,因此先了解Xwork的OGNL是十分有必要的。Xwork的OGNL使用时比较容易理解。它有两个重要的概念:上下文环境和根对象。上下文环境是一个Map对象,所有的数据存取都是在上下文环境中进行的,你可以在存取数据时指定不同Map作 ...
jbpm4 在tomcat6 下面ssh2 这个错误! 原因是项目中WEB-INF\lib中的三个jar包(juel.jar, juel-engine.jar, juel-impl.jar)和tomcat6下lib中jar包(el-api.jar)冲突. 解决方法:方法一:换成tomcat5.5 一点问题也没有了 方法二:将juel.jar,juel-impl.jar这二个包复制到tomcat6下lib中,并删除原来的el-api.jar,切记要把WEB-INF\lib中的juel.jar, juel-impl.jar删除。不然还是要冲突. 其次,检查jdk版本是否为jdk6. 最后最好把j ...
1.单文件上传,不多说,见图: 注意第3步action中的属性名,以及get和set方法,名称不能乱写,属性名后缀不能变(contentType是得到文件的类型,fileName是得到上传的文件名),至于前缀部分必须和第2步中的fileName一致. 而文件的上传在struts2中,是有默认能上传文件的大小的,大约是2M的大小,超过2M,就不让上传了,我们怎么样突破这个限制呢?把下面这段东西添加进struts.xml: <costant name="struts.multipart.maxSize" value="100000000"/> ...
1.sruts2用什么来代替struts1中的formBean呢?其实在我们调用action中的excute方法之前,struts2的拦截器,已经帮我们调用action中属性的setter方法,给属性都设值了,所以在excute方法中,我们可以直接调用属性值.而我们在jsp中的ul表达式显示属性,那就得归功于action中属性的getter方法了. 关于复合类型的getter和setter方法,我们并不需要关注,因为struts2帮我们都弄好了,比如,按顺序下面3步: 1)我们的提交页面: <input type="text" name="product.i ...
接着上面我所说的: 1.如果你不想适应struts2特有的url的".action"的后缀名,其实你是可以去修改他的,下面的图片是把后缀改成了struts1中的".do",修改struts.xml: 或者如果你想".do"与".action"都可以访问的话,你可以 <constant name="struts.action.extension" value="do,action" />也就是用逗号隔开. 2.struts2的常用配置介绍,尤其"st ...
Global site tag (gtag.js) - Google Analytics