- 浏览: 40457 次
- 性别:
- 来自: 北京
最新评论
-
yjc2020:
log4j2 的搞一个,我升级失败了
logback.xml配置实例
文章列表
长连接与短连接
所谓长连接,指在一个TCP连接上可以连续发送多个数据包,在TCP连接保持期间,如果没有数据包发送,需要双方发检测包以维持此连接,一般需要自己做在线维持。 短连接是指通信双方有数据交互时,就建立一个TCP连接,数据发送完成后,则断开此TCP连接,一般银行都使用短连接。 比如http的,只是连接、请求、关闭,过程时间较短,服务器若是一段时间内没有收到请求即可关闭连接。 其实长连接是相对于通常的短连接而说的,也就是长时间保持客户端与服务端的连接状态。
长连接与短连接的操作过程
通常的短连接操作步骤是: 连接→数据传输→关闭连接;
而长连接通常就是: 连接→数据传输→保 ...
一、值栈是什么
简单的说:值栈是对应每一个请求对象的轻量级的内存数据中心。
Struts2中一个很激动人心的特性就是引入了值栈,在这里统一管理着数据,供Action、Result、Interceptor等Struts2的其他部分使用,这样一来,数据被集中管理起来而不会凌乱,大大方便了程序编写。
Struts2中关于值栈的另外一个很激动人心的特性就是:大多数情况下,你根本无需关心值栈,你不用管它在哪里,不用管它里面有什么,你只需要去获取自己需要的数据就可以了。也就是说,你可以隐式的使用值栈。
当然,如果编写自定义的Result或拦截器等较复杂功能的时候,还是需要显示访问值栈的,因此, ...
自定义一个拦截器需要三步:
1、自定义一个实现Interceptor接口(或者继承自AbstractInterceptor)的类。
2、在strutx.xml中注册上一步中定义的拦截器。
33、在需要使用的Action中引用上述定义的拦截器,为了方便也可将拦截器定义为默认的拦截器,这样在不加特殊声明的情况下所有的Action都被这个拦截器拦截。
定义拦截器:
其实在Struts2里面,要实现自定义的拦截器是非常简单的,只要写一个实现Interceptor接口的类就可以了。
也就是说,所有的拦截器都要实现com.opensymphony.xwork2.interceptor. ...
使用struts2拦截器、或者自定义拦截器是要特别注意:在Action里面必须最后一定要引用struts2自带的拦截器缺省堆栈defaultStack,如下(使用struts2自带的timer拦截器):
<action name="loginAction" class="cn.wjq.study.login.action.LoginAction" method="login">
<result name="toWelcome">/login/welcome.jsp< ...
对于package中default-action-ref的用法很多人有着不同的意见
有一部份的朋友在某个自定义的action中定义default-action-ref这个配置的时候,
认为在地址栏中输入地址如http://localhost:8080/project的时候(project为项目名),如果该项目 ...
struts2框架按如下搜索顺序加载struts2常量 struts-default.xml struts-plugin.xml default.propertiesstruts.xmlweb.xml
default.properties默认配置文件,在Struts 2的核心jar包-struts2-core中,里面配置了一些全局的信息,如下:
1、struts.configuration=org.apache.struts2.config.DefaultConfiguration
该属性指定加载struts2配置文件的配置文件管理器,该属性默认值就是org.apac ...