为了账号安全,请及时绑定邮箱和手机立即绑定

Struts2入门

  • 4-4-4 动态方法调用(指定多个配置文件) <include file="***.xml"> </include> <constant name="struts.i18n.encoding" value="UTF-8"> </constant>
    查看全部
  • 动态方法调用: 动态方法调用是为了解决一个Action对应多个请求的处理,以免Action太多。 三种方式:指定method属性、感叹号方式、通配符方式 1:<action name="add" method="add" class="com.Action.hellowAction"> 2:<constant name="struts.enable.DynamicMethodInvocation" value="false"> </constant> <action name="hellowword" class="com.Action.hellowAction"> <result >/result.jsp</result> <result name="add">/add.jsp</result> <result name="update">/update.jsp</result> </action> http://localhost:8080/struts_hellowworld/aaa/hellowworld!.action 3: <action name="*_*" method="{2}" class="com.Action.{1}Action"> <result >/{2}.jsp</result> <result name="add">/{2}.jsp</result> <result name="update">/{2}.jsp</result> </action> http://localhost:8080/struts_hellowworld/aaa/hellow_add.action
    查看全部
  • Action 搜索顺序
    查看全部
  • 解析struts.xml——(下): 6、<action> <!-- Action配置:一个Action可以被多次映射(只要action配置中的name不同) name:action名称,如(假设namespace="/"):http://localhost:8080/项目名/<action>中属性name值.action class:对应的类的路径 method:调用Action中的方法名 Ps:每个package包里可以定义多个action --> <action name="" class="" method="" converter=""> <!-- 引用拦截器:name:拦截器名称或拦截器栈名称 --> <interceptor-ref name=""></interceptor-ref> <!-- 节点配置:name:result名称,和Action中返回的值相同(如果不写name,默认SUCCESS或"success"); type:result类型,不写则选用superpackage的type struts-default.xml中的默认为dispatcher --> <result name="" type="">/xxx.jsp</result> <!-- 参数设置:name:对应Action中的get/set方法 --> <param name="">值</param> </action> 7、<constant> <!-- struts.properties文件中的语句:struts.i18n.reload=true,则对应struts.xml文件中语法如下 --> <constant name="struts.i18n.reload" value="true"></constant>
    查看全部
    0 采集 收起 来源:struts2核心文件

    2018-03-22

  • 解析struts.xml——(上): 1、.dtd就是约束struts.xml中可以有哪些标签不能有哪些标签。 2、<include> <!-- 可以通过 <include file="">包含其他文件,include节点是struts2中组件化的方式,可以将每个功能模块独立到一个xml配置文件中,然后用Include节点引用 --> <include file="struts-default.xml"></include> 3、<package> package提供了将多个Action组织成为一个模块的方式。 package的名字必须是唯一的(配置文件中可以有多个包,但包名要唯一),可以在这个包上加一些拓展的包。 abstract设置package的属性为抽象,抽象的package不能定义action的值,ture或false。 namespace="/test":http://localhost:8080/项目名/test/xx.action namespace="/":http://localhost:8080/项目名/xx.action <package name="包名" extends="继承的父类的名称" namespace="包的命名空间"> 4、拦截器 <interceptors> <!-- 拦截器定义name(名称)和class(类路径) --> <interceptor name="" class=""></interceptor> <!-- 定义拦截器栈 --> <interceptor-stack name=""> <interceptor-ref name=""></interceptor-ref> </interceptor-stack> </interceptors> <!-- 定义默认的拦截器,每个Action都会自动引用。如果Action中引用了其他的拦截器,默认的拦截器将无效 --> <default-interceptor-ref name=""></default-interceptor-ref> 5、<global-results> <!-- 全局results配置 --> <global-results> <result name="">/xxx.jsp</result> </global-results>
    查看全部
    0 采集 收起 来源:struts2核心文件

    2018-03-22

  • #制定默认编码集,对于请求参数带有中文的情况应该设置成gbk.gb2312,默认值utf-8 1.struts.i18n.encoding=utf-8 #是否每次HTTP请求到达时,都重新加载国际化资源文件,默认为false 2.struts.i18n.reload = true #但struts.xml改动后,是否重新加载该文件,在开发阶段建议设置成true,提高开发效率,默认为false 3.struts.configuration.xml.reload=true #是否使用struts2的开发模式,可以获得更多报错信息,便于调试,在开发阶段设置为true,默认为false 4.struts.devMode =true #设置浏览器是否缓存静态页面,开发阶段设置为false,以获得服务器最新响应,默认为true 5.struts.serve.static.browserCache=true #指定后缀为.action形式的请求可以被struts2处理,可配置多个请求后缀,比如.do,struts等,配置多个后缀名用逗号隔开 6.struts.action.extendsion=action,do,struts2, #配置服务器运行时的端口号,一般情况下该属性不用修改,如果端口号占用则重新分配端口号,默认为80 7.struts.url.http.port = 8080
    查看全部
    0 采集 收起 来源:struts2核心文件

    2016-05-21

  • struts.properties
    查看全部
    0 采集 收起 来源:struts2核心文件

    2016-05-21

  • struts.xml的作用
    查看全部
    0 采集 收起 来源:struts2核心文件

    2016-05-21

  • web.xml
    查看全部
    0 采集 收起 来源:struts2核心文件

    2016-05-21

  • 用户的请求HttpServletRequest--->过滤器filter--->ActionMapper(.action)请求---->过滤器---->ActionProxy---->通过ConfigurationManager读取struts.xml中的ActionInvocation具体的Action类---->通过ActionProxy创建Action反向实例---->拦截器--->action,返回result(字符串对象)对应的视图---->拦截器---->HttpServletResponse返回请求
    查看全部
  • (别人博客上copy的) 上图来源于Struts2官方站点,是Struts 2 的整体结构。 一个请求在Struts2框架中的处理大概分为以下几个步骤 1 客户端初始化一个指向Servlet容器(例如Tomcat)的请求 2 这个请求经过一系列的过滤器(Filter)(这些过滤器中有一个叫做ActionContextCleanUp的可选过滤器,这个过滤器对于Struts2和其他框架的集成很有帮助,例如:SiteMesh Plugin) 3 接着FilterDispatcher被调用,FilterDispatcher询问ActionMapper来决定这个请是否需要调用某个Action 4 如果ActionMapper决定需要调用某个Action,FilterDispatcher把请求的处理交给ActionProxy 5 ActionProxy通过Configuration Manager询问框架的配置文件,找到需要调用的Action类 6 ActionProxy创建一个ActionInvocation的实例。 7 ActionInvocation实例使用命名模式来调用,在调用Action的过程前后,涉及到相关拦截器(Intercepter)的调用。 8 一旦Action执行完毕,ActionInvocation负责根据struts.xml中的配置找到对应的返回结果。返回结果通常是(但不总是,也可 能是另外的一个Action链)一个需要被表示的JSP或者FreeMarker的模版。在表示的过程中可以使用Struts2 框架中继承的标签。在这个过程中需要涉及到ActionMapper 在上述过程中所有的对象(Action,Results,Interceptors,等)都是通过ObjectFactory来创建的。
    查看全部
  • StrutsPrepareAndExecuteFilter 代替2.0、2.1版本的核心过滤器StrutsFilter的原因是它不止可以在Struts顶头配置,还可以在Action执行之前设置进行过滤。strut2工作原理 请求通过过滤器,如果请求中含有.action的后缀,则传给actionmapper进行处理查看是否有相应的action请求,再返回给过滤器,过滤器传给actionproxy代理,actionproxy通过config查找Struts.xml文件里面是否含有对应的action,通过一系列的拦截器后执行Action,对请求进行处理,然后返回字符串result找到对应视图(jsp等),再返回给response
    查看全部
  • 一个请求在Struts2框架中的处理大概分为以下几个步骤: 1 客户端发送请求; 2 这个请求经过一系列的过滤器(Filter)(这些过滤器中有一个叫做ActionContextCleanUp的可选过滤器,这个过滤器对于Struts2和其他框架的集成很有帮助,例如:SiteMesh Plugin) 3 接着FilterDispatcher被调用,FilterDispatcher询问ActionMapper来决定这个请是否需要调用某个Action。FilterDispatcher的功能如下: (1)执行Actions (2)清除ActionContext (3)维护静态内容 (4)清除request生命周期内的XWork的interceptors 4 如果ActionMapper决定需要调用某个Action,FilterDispatcher把请求的处理交给ActionProxy 5 ActionProxy通过Configuration Manager询问框架的配置文件,找到需要调用的Action类 6 ActionProxy创建一个ActionInvocation的实例。 7 ActionInvocation实例使用命名模式来调用,在调用Action的过程前后,涉及到相关拦截器(Intercepter)的调用。 8 一旦Action执行完毕,ActionInvocation负责根据struts.xml中的配置找到对应的返回结果。返回结果通常是(但不总是,也可 能是另外的一个Action链)一个需要被表示的JSP或者FreeMarker的模版。在表示的过程中可以使用Struts2 框架中继承的标签。在这个过程中需要涉及到ActionMapper
    查看全部
  • MVC流程图
    查看全部
    0 采集 收起 来源:MVC模式简介

    2016-05-21

  • MVC
    查看全部
    0 采集 收起 来源:MVC模式简介

    2016-05-21

举报

0/150
提交
取消
课程须知
小伙伴们,学习本课程前需要具备Java Web基础,熟悉JSP和Servlet。
老师告诉你能学到什么?
1、能够对Struts2框架有更深入的了解 2、能够独立编写Struts2程序

微信扫码,参与3人拼团

意见反馈 帮助中心 APP下载
官方微信
友情提示:

您好,此课程属于迁移课程,您已购买该课程,无需重复购买,感谢您对慕课网的支持!