struts2学习总结

作者:金牛区福生殡葬服务部 来源:www.cdfsbz.com 发布时间:2017-09-06 09:07:18
struts2学习总结

1.struts2访问过程
a.客服端请求被web.xml中的filterdispatcher 拦截
b.filterdispatcher 读取struts2中的struts.xml配置
c.请求经过interceptor拦截器,执行正式业务逻辑之前的操作
d.请求经过Action,执行正式业务逻辑,并返回指向页面返回结果
e.显示结果页面


2.struts2开发流程
a.配置jar包
b.配置web.xml
c.配置struts.xml
d.配置ation
e.编写代码
f.运行验证


3.jsp引用struts2标签
<%@ taglib prefix="s" uri="/struts-tags" %>


4.配置web.xml


<filter>
<filter-name>struts2</filter-name>
<filter-class>
org.apache.struts2.dispatcher.ng.filter.StrutsP
repareAndExecuteFilter
</filter-class>
</filter>
<filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>*.action</url-pattern>
<url-pattern>*.jsp</url-pattern>
</filter-mapping>


5.配置struts.xml
<struts>
<package name="example" extends="struts-default" >
<action name="login" class="com.insigma.action.UserLoginAction" method="execute">
<result name="success">/jsp/success.jsp</result>
<result name="fail">/jsp/fail.jsp</result>
</action>
</package>
<struts>


6.Action类的作用


Action
指struts配置中指明的Action条目,表示浏览器的某类请求。比如,
关于用户的管理。
Action类
实现业务逻辑,可配置为响应客户端请求的JAVA类。可以扩展自
struts2预定义的类,也可以是POJO。
Action方法
Action类中的方法,被struts2调用,用来响应特定的客户端请求。
该方法返回控制字符串,以确定要显示的页面


完成业务逻辑
是业务逻辑的入口,由此开始处理整个业务逻辑。
2. 提供数据传递中介
通过在action中定义属性,及getter,setter方法,可以作为和页面数
据交换的载体。
3. 帮助框架确定返回页面
action方法,返回一个字符串,和struts.xml的配置匹配输出页面


7.Action类的三种编写方式


1.
继承ActionSupport
com.opensymphony.xwork2.ActionSupport。比较便利,
可以使用ActionSupport里面已经实现的方法。
2.
普通Java类
实现业务逻辑,可配置为响应客户端请求的JAVA类。可以扩
展自struts2预定义的类,也可以是POJO。
3.
实现Action接口
com.opensymphony.xwork2.Action。需要实现execute方
法。(ActionSupport也实现了此接口)


8.有2种方式可以访问Servlet环境对象:ActionContext类和
ServletActionContext


ActionContext ctx = ActionContext.getContext();
Map<String, Object> request = (Map<String, Object>)ctx.get("request");
Map<String, Object> session = ctx.getSession();
Map<String, Object> application = ctx.getApplication();

HttpServletRequest req = ServletActionContext.getRequest();
HttpSession ses = req.getSession();
ServletContext app = req.getServletContext();


9.Action类的传值


第一种,使用Action属性传递数据。
Action类中有一个和页面同名的属性
接收客户端的数据,需要提供该属性setter方法
传给页面数据,需要提供该属性getter方法


提供对象的getter,setter方法
对象丌需要建立,struts2通过反射自劢生成
在页面的struts标签中,使用“对象名.属性名”引用


10.action中的result的转发类型。


result name="success" type="dispatcher">/jsp/success.jsp</result>
常见的类型属性有 dispatcher, redirect, redirectAction, stream
dispatcher
默认的属性,相当于本站内的请求转发
Redirect
相当于请求重定向:<result type="redirect">/success.jsp?user=${userName}</result>
redirectAction
相当于请求重定向,到本站的一个action:<result type="redirectAction">testAction</result>
stream
返回流给客户端。


11.Action的查找次序。
定义:
命名空间:在struts.xml中的package节点里配置的namespace属性。
如果没有配置namespace属性,则认为是默认的命名空间。
交请求,struts2的查找次序:
按照就近原则的顺序,分别到struts.xml中到namespace为:
“/path1/path2/path3”, “path1/path2”, “/path1”, “/”的package。
如果丌存在,继续往上找;如果存在此package,则找对应的login.action, 如果找
丌到,则到默认的命名空间所在的package中去找。如果找丌到,则页面显示找丌
到对应的action。
简单形容:以上四个加上默认的package,比作房间。就近开始找房间,找丌到继
续往下找,一旦找到一个房间,后面丌再找其他房间。开始看房间里面有没有对应的
名字,如果没有,找默认的,如果默认的也没有,则提示找丌到

企业建站2800元起,携手武汉肥猫科技,做一个有见地的颜值派!更多优惠请戳:天门网站建设 http://tianmen.45qun.com

  • 上一篇:struts2 18拦截器详解(十四)
  • 下一篇:最后一页
  • 
    COPYRIGHT © 2015 金牛区福生殡葬服务部 ALL RIGHTS RESERVED.
    购买cdfsbz.com友情链接、项目合作请联系客服QQ:2500-38-100 邮箱:2500-38-100#QQ.com(#换@)
    本站所有原创信息,未经许可请勿任意转载或复制使用 网站地图 技术支持:肥猫科技
    精彩专题:网站建设
    购买本站友情链接、项目合作请联系客服QQ:2500-38-100