- 1、本文档共16页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
[orZ]struts2-0详解
[orZ]
一、Action方面的问题:
1、Struts2的手工配置:
将Struts2的配置文件拷贝到项目的src文件下。
将Struts2的jar包拷贝到WEB-INF的lib中。
配置web.xml文件。
2、Struts的执行过程:
由客户端(浏览器)敲一个地址。
浏览器将请求发给tomcat,tomcat回去将请求交给那个webapplicaton去处理,到找到那个webapplicaton之后,tomcat会参考web.xml配置文件。
根据web.xml配置文,将请求交给Struts2filter去处理,执行Struts.xml配置文件(namaspace、action、result。)。
forword给对应的jsp文件。
jsp文件将内容反馈给客户端。
3、Struts的作用:把请求与视图分开。
4、package name=default namespace=/ extends=struts-default
action name=helloStruts2
result
/hello.jsp
/result
/action
/package
namespace决定了action的访问路径,默认为“”,可以接受所有路径的action(http://localhost:8080/Struts2/ hello.jsp|| http://localhost:8080/Struts2/erewrrewr/ hello.jsp),namespace可以写为/,或者/xxx,或者/xxx/yyy,对应的action访问路径为/index.action,/xxx/index.action,或/xxx/yyy/space最好也用模块来进行命名。Namespace必须用“/”开头。
package在Struts2的配置文件(Struts.xml)中的作用和Java中的作用是一样的,将action打一个包,这样同名的action放在不同的package中使用就不会冲突了。
namespace和package命名的时候一般用模块来命名。例如:Package中name=”user” namespace=”/user”。
extends中的内容不要动。
注意:result中的jsp页面前面要加“/”
5、具体的Action的实现可以是一个普通的Java类,里面有public String execute方法即可或者实现Action接口,不过最常用的是从ActionSupport继承,好处在于可以直接使用Struts2封装好的方法。
6、在Struts1 中Action对象只有一个,这样就要考虑线程同步的问题;而Struts2每次访问Action时就new一个新的对应Action对象出来,避免了线程同步的问题。(这是Struts1与Struts2的重要区别)
7、当在配置文件中没有配class时,struts默认执行内部的一个class对象(ActionSupport)
8、路径问题:
Struts2中的路径问题是根据Action的路径而不是jsp路径来确定,所以尽量不要使用相对路径,统一使用绝对路径来解决。
使用MyEclipse经常用的,指定basePath。
MyEclipse中的base标签:指的是当前页面中的所有连接,默认在前面都会加上basePath。
9、在url地址中动态指定Action的调用:(参考Struts2_003项目)
浏览器地址栏中输入:HYPERLINK http://localhost:8080/Test/hello!add http://localhost:8080/Test/hello!add
Action的配置:
action name=hello class=com.sodi.action.Action1
result name=success
/hello.jsp
/result
/action
10、通配符的配置:(参考Struts2_004、Struts2_004项目)
通配符一定要遵守的原则:约定优于配置。
浏览器地址栏中输入:http://localhost:8080/Struts2_02/studentadd
Action的配置:
package name=student namespace=/ extends=struts-default
action name=student* class=com.sodi.action.studentAction met
文档评论(0)