Struts2
不说话的卡卡西
勤奋治学 深度思考 静心钻研 先苦后甜
面向对象OO = 面向对象分析OOA + 面向对象设计OOD + 面向对象编程OOP + 面向切面编程 AOP
展开
-
Struts2-struts.xml中<package>配置
<package>元素可以把逻辑上相关的一组Action、Result、Intercepter等元素封装起来,形成一个独立的模块,package可以继承其他的package,也可以作为父包被其他的package继承,比如“<package name="helloworld" extends="struts-default">”中,helloworld这个包就继承了struts-default这个包原创 2016-12-16 20:51:49 · 625 阅读 · 0 评论 -
struts2拦截器
拦截器(Interceptor)是Struts2最强大的特性之一,它是一种可以让你在Action执行之前和Result执行之后进行一些功能处理的机制。 (在Action执行之前执行的拦截器是按照Interceptor1、Interceptor2和Interceptor3的顺序,而在Result执行之后,再次运行拦截器的时候,是按照Interceptor3、Interceptor2和Intercep转载 2017-02-22 18:19:06 · 259 阅读 · 0 评论 -
Action的生命周期及调用非execute方法
1、action的生命周期:Struts2中的Action在每一次web请求的时候都要新建一个实例。 2、调用非execute方法 1:配置方式调用 首先要在Action中实现要被调用的方法,这些方法的签名要求除了名字和execute不一样外,其他均应一样,也就是说,这些方法的定义要满足如下要求: 可见性为public 不需要传入参数 返回一个字符串,其实就是指示的下一个页面的resu原创 2016-12-20 18:32:15 · 464 阅读 · 0 评论 -
struts2Action的分模块配置
依据原则:不同的模块配置封装到不同的package中 如果所有的< package>都配置在一个struts.xml文件里面,必然会引起大家争用这个配置文件,因此,在实际开发中,通常都是一个< package>放在一个单独的文件中,比如叫struts-xxx.xml,最后由struts.xml来引用这些struts-xxx.xml。(通过include来引入各个单独的模块配置文件) 此时st原创 2016-12-20 18:05:51 · 261 阅读 · 0 评论 -
**strut2之Action的数据
一、数据来源 在helloworld示例里面,在运行Action的execute方法的时候,你会神奇般的发现,Action的属性是有值的,而这正是Action进行请求处理所需要的数据。那么,这些数据从何而来呢? 很明显,这些数据就是你在登录页面填写的数据,换句话说,这些数据来源于用户请求对象,也就是request对象。 可是,Struts2怎么知道,页面上的值如何和转载 2016-12-20 12:04:44 · 273 阅读 · 0 评论 -
struts2核心概念
在上面的运行流程图里,看到了很多Struts2的模块。简要描述一下那些与实际开发息息相关的概念。 1:FilterDispatcher Struts2的前端控制器,也是Struts2的MVC中的控制器部分。在实际开发中,只需要在web.xml中配置一次即可。但是一定要注意,如果还有其他的过滤器,那么FilterDispatcher的配置通常要出现在最后。 2:Action转载 2016-12-19 16:58:15 · 591 阅读 · 0 评论 -
struts2运行流程
。转载 2016-12-19 16:17:22 · 293 阅读 · 0 评论 -
struts2的mvc体现
户请求首先到达前端控制器FilterDispatcher。FilterDispatcher负责根据用户提交的URL和struts.xml中的配置,来选择合适的动作(Action),让这个Action来处理用户的请求。 FilterDispatcher其实是一个过滤器(Filter,servlet规范中的一种web组件),它是Struts2核心包里已经做好的类,不需要我们去开发,只是要在项目的web原创 2016-12-19 10:16:11 · 807 阅读 · 0 评论 -
struts2架构图
、原创 2016-12-19 15:48:03 · 283 阅读 · 0 评论 -
Action配置中的Result(局部result)
例如:<action name="helloworldAction" class="cn.javass.action.action.HelloWorldAction"> <result name="toWelcome">/s2impl/welcome.jsp</result> <result name="input">/s2impl/login原创 2016-12-20 18:43:09 · 762 阅读 · 0 评论 -
全局Result(让多个action公用一个result)
应用情景:一些Result需要由多个Action共用,比如,系统的每个页面都会判断用户是否登陆,如果没有登陆,那么都要跳转到登录页面,就可以配置全局Result,让这多个Action共享这些全局的Result 示例:<package name="helloworld" extends="struts-default"> // <global-results> </global-results>原创 2016-12-22 19:06:39 · 803 阅读 · 0 评论 -
Action和result之间的PreResultListener监听器
PreResultListener监听的事件就是Action执行完毕,马上要开始Result的处理了,这么一个事件。 跟Java里面其他的事件机制一样,需要注册监听器,而且要在事件触发之前注册才有效。 一、首先实现PreResultListener类package com.iseaweb.action;import com.opensymphony.xwork2.ActionInvocatio原创 2016-12-23 18:21:00 · 365 阅读 · 0 评论 -
Action使用通配符
定义< action>元素的name属性的时候使用通配符,使这个< action>元素不仅仅可以匹配一个URL,还可以匹配一类URL。而action的class属性和method属性能使用通配符的值。如果使用以下< action>配置:<action name="*_*" class="cn.javass.action.action.{1}Action" method="{2}">原创 2016-12-22 21:30:16 · 514 阅读 · 0 评论 -
Struts2中表单与Action传递数据三种方式
Action中的属性与表单中的属性一致就可以(字段的属性对应页面表单字段的属性相同)JSP中的表单<formaction="login.action"method="post">用户名:<inputtype="text"name="username"/> < br/>密码: <inputtype="password"name="password"/>< br/><inputtype="submit原创 2016-12-17 18:19:10 · 486 阅读 · 0 评论 -
Struts 2 数据验证及验证框架的应用
1.数据验证 Action 继承了 ActionSupport 类 ,而该类实现了 Action 、Validateable 、 ValidationAware 、TextProvider、LocaleProviderSerializable 接口。 在Validateable 接口定义了一个 validate() 方法 , 在用户自定义 Action 类中重写该方法就可以实现 验证功能。pub转载 2016-12-17 13:50:15 · 330 阅读 · 0 评论 -
struts2拦截器
Struts 2 框架的绝大部分功能是通过拦截器来完成的,当FilterDispatcher拦截到用户请求后,大量拦截器将会对用户请求进行处理,然后调用用户自定义的Action 类中的方法来处理请求。 拦截器的配置: 在struts.xml文件中来定义的,使用<interceptor name = "拦截器名" class = "拦截器实现的类"> <param name = "参数名"转载 2016-12-17 13:52:56 · 268 阅读 · 0 评论 -
Struts2初体验
Struts2简介:Struts2是一个基于MVC设计模式的Web应用框架,它本质上相当于一个servlet,在MVC设计模式中,Struts2作为控制器(Controller)来建立模型与视图的数据交互。Struts 2以WebWork为核心,采用拦截器的机制来处理用户的请求,这样的设计也使得业务逻辑控制器能够与ServletAPI完全脱离开,所以Struts 2可以理解为WebWork的更新产品原创 2016-12-16 20:19:26 · 287 阅读 · 0 评论 -
如何使用预定义的拦截器(struts2)
有两种方式: 1:在struts.xml的Action配置里面,引用需要使用的拦截器。 其实很简单,只需要在< action>元素中,配置需要的< interceptor-ref>子元素就可以了,< interceptor-ref>子元素里面配置需要使用的拦截器的名称,比如:<action name="helloworldAction" class="cn.javass.action.acti转载 2017-02-26 11:42:34 · 331 阅读 · 0 评论