- 浏览: 113697 次
- 性别:
- 来自: 苏州
最新评论
-
tianhandigeng:
改了 还是没用
转 Apache httpd虚拟目录403 forbidden问题的解决 -
bluseli:
你好。希望能说说如何管理session和connection的 ...
转 ActiveMQ使用经验 -
youyun_2008:
F r a m e w o r k本质上和面向对象无关,用C语 ...
【分享】Java软件架构师所要需的东西 -
object_object:
你好,单台,通过硬件冗余主要是怎么做呢
转 ActiveMQ使用经验 -
aiyust070:
youyun_2008 写道WSDL 绑定可为 web ser ...
Webservice wsdl 结构简介
文章列表
web.xml
和springmvc共用同一个DispatcherServlet:
<servlet>
<servlet-name>resource_management</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<load-on-startup>2</load-on-startup>
</servlet>
<servlet- ...
web.xml
<!--
- Loads the root application context of this web app at startup, - by
default from "/WEB-INF/applicationContext.xml". - Note that you need
to fall back to Spring's ContextLoaderServlet for - J2EE servers that
do not follow the Servlet 2.4 initialization order. - ...
1)OGNL表达式语言
http://blog.csdn.net/zeng_84_long/article/details/6115654
特殊字符:# % $
#: 用于访问Action的上下文,相当于ActionContext.getContext()对象。
用于过滤(Selection)和投影(Projection)集合。
用于构造Map,也就是定义一个新的Map对象。
%: 标识OGNL表达式,其格式%{xxx}
需要将struts.tag.altSyntax的参数值设置为true,默认为true。 version 2.1.7
$: 用于在资源文件,Struts2的配置文件中标识O ...
1)访问Web元素
取得Map类型request,session,application,真实类型 HttpServletRequest, HttpSession, ServletContext的引用:
1. 前三者:依赖于容器
2. 前三者:IOC (只用这种)
3. 后三者:依赖于容器
4. 后三者:IOC
方法一:ActionContext方式
一般在Action类的构造方法、或execute()方法中获取。
private Map request;
private Map session;
private Map application;
public LoginAction ...
众所周知,Strut 2的Action类通过属性可以获得所有相关的值,如请求参数、Action配置参数、向其他Action传递属性值(通过chain结果)等等。要获得这些参数值,我们要做的唯一一件事就是在Action类中声明与参数同名的属性,在Struts ...
Apache Struts 2即是之前大家所熟知的WebWork 2。在经历了几年的各自发展后,WebWork和Struts社区决定合二为一,也即是Struts 2
Action 类:
Struts1要求Action类继承一个抽象基类。Struts1的一个普遍问题是使用抽象类编程而不是接口。
Struts 2 Act ...
1) struts.xml
<constant name="struts.devMode" value="true" />
struts.devMode : 是否设置为开发模式 true:是开发模式,否则不是
注:在开发模式下,修改Struts的配置文件后不需要重新启动Tomcat服务器即生效。
否则修改Struts配置文件后需要重新启动Tomcat服务器才生效。
Namespace
Namespace决定了action的访问路径,默认为“”,可以接收所有路径的action,如果没有找到相应的namespace时,则使用namespac ...
1. Digester
将所有的配置都写到代码里很不利于使用和扩展。tomcat中使用xml文件(如server.xml)来记录系统配置。例如,server.xml中,一个Context标签表示一个context容器。设置path和docPath属性可以使用下面的配置:
<context docBase="myApp" path="/myApp"/>
tomcat使用了开源库Digester将xml文件中的元素转换为java对象。
Digester是apache commons下的一个子项目,包含下面三个包:
(1)org.apache. ...
Host和Engine
1. Host
1)StandardHost类
catalina中org.apache.catalina.core.StandardHost类是Host接口的标准实现。该类继承自the org.apache.catalina.core.ContainerBase类,实现了Host和Deployer接口。
与StandardContext和StandardWrapper类似,StandardHost的构造函数会将basic valve(org.apache.catalina.core.StandardHostValve)添加到其pipeline中。
每当接收到一个ht ...
http://www.web-tag.net/all_7.htm
StandardContext类
创建了StandardContext实例后,必须调用调用其start方法来准备接收http请求。但是,在调用start方法时,可能会报错,这时StandardContext对象的available属性会被置为false,available属性表明了StandardContext对象是否可用。
若要是start方法正确执行,必须正确对StandardContext对象正确配置。tomcat中,配置StandardContext对象需要一系列操作。正确设置后,StandardContext对象才能读取并解析web.xml文件。
1)StandardContex ...
StandardWrapper
tomcat中有4种类型的container:engine, host, context, wrapper。
一般情况下,context中包含一个或多个wrapper,每个wrapper表示一个servlet定义。
1)方法调用序列
对与每个接收到的http请求,connector调用与其关联的container的invok ...
安全性
一些web应用的内容是受限的,只有有特定权限的用户才能访问。
servlet容器通过一个称为authenticator的valve来支持安全认证。当container启动时,authenticator被添加到container的pipeline中。在wrapper被调用之前,会先调用authenticator,用来对用户进行认证。若用户输入了正确的用户名密码,则authenticator会调用下一个valve,否则会直接返回,不再继续执行剩余的valve。
authenticator调用context的realm的authenticate方法对用户身份进行认证。
Realm(领域) ...
session管理
1)Session
catalina通过一个成为manager的组件管理session,该组件要实现org.apache.catalina.Manager接口,且必须与一个context关联。相比于其他组件,manager负责创建、更新、销毁session对象。
Session接口
Session接口是作为catalina的外 ...
Struts2基本执行流程:
1) FilterDispatcher/StrutsPrepareAndExecuteFilter 2.1.3
2) ActionMapper
当Filter拦截到用户的一个请求后时,会调用ActionMapper中所提供得的方法去判断当前这个用户请求是否与自己需要处理的用户请求相匹配,如果匹配成功,则继续调用ActionProxy进行进一步的处理。
3) ActionProxy
ActionProxy依据ActionMapper所生成的URI及配置管理器来找到响应用户请求的Action对象。
4) Action
5) ActionInvocation
在 ...