马士兵struts2学习笔记(详细版)

  • 格式:docx
  • 大小:43.83 KB
  • 文档页数:14

下载文档原格式

  / 36
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

1、02_尚学堂马士兵_Struts2_Struts2_HelloWorld_2.avi

指定Tomcat的目录,指定JDK搭建开发环境(拷贝jar包,复制struts.xml 文件此文件不要放在WEB-INF下面,应该放到src下面),在web.xml文件中:

struts2

org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAn dExecuteFilter

struts2

/*

其中/* 不要写/*.do 或者 /*.action约定俗成用/*

2、04_尚学堂马士兵_Struts2_Struts2_HelloWorld_3.avi

(1)

action -->相应的处理类或页面 -->

/Hello.jsp

(2)struts.xml不自动提示的解决办法: window--perferences-XML catalog---add---key Type="URI" key="*.dtd"

3、09_尚学堂马士兵_Struts2_Struts2_HelloWorld_7_2.avi

struts2的执行流程:

当用户在浏览器中敲入要访问的地址的时候,浏览器会将这个请求发送给tomcat然后tomcat判断应该交给那个WebApplication来处理,然后会读取它

下面的web.xml配置发现有配置:

struts2

org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAn dExecuteFilter

struts2

/*

因为 为/* 它会过滤所有的请求然后就交给filter类org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter 处理执行调用doFilter()方法,然后再方法中会读取struts-xml文件,根据用户请求的地址找到相应的package、 action、 result、然后将相应的页面返回给浏览器

4、10_尚学堂马士兵_Struts2_Struts2_Namespace_命名空间.avi

(1)namespace决定了action的访问路径,默认为"",可以接收所有路径的action

namespace可以写为/,或者/xxx,或者/xxx/yyy,对应的action访问路径为/index.action,

/xxx/index.action,或者/xxx/yyy/index.action

namespace最好也用模块来进行命名

5、11_尚学堂马士兵_Struts2_Struts2_Action.avi

(1)struts1 与struts2的一个重要区别:在struts1中进行多次访问的时候用到的是同一个Action对象。而struts2则是每一次访问都会创建一个Action 对象,所以struts2不会有线程安全问题的发生

(2)标签如果没有指定name属性默认返回值为success

(3)标签中的class值如果没有配置相应的类,它会调用struts默认的一个处理类的execute()方法.

(4)实现struts的处理类的时候不要自己随便写类然后定义execute()方法,也不要实现Action类而要从ActionSupport类继承,可以直接使用它为我们定义好的方法.

6、12_尚学堂马士兵_Struts2_Struts2_Path_路径问题.avi

(1)struts2中的路径问题是根据action的路径而不是jsp路径来确定,所以尽量不要使用相对路径。

虽然可以用redirect方式解决,但redirect方式并非必要。

解决办法非常简单,统一使用绝对路径。(在jsp中用request.getContextRoot