struts2学习笔记

来源:互联网 发布:学科评估网络空间安全 编辑:程序博客网 时间:2024/06/10 10:28

struts2学习笔记

1.struts2 是在webwork2上发展而来,struts2同struts1一样,也是MVC框架
2.struts2 的2.1跟2.0还是有差别的org.struts2.dispatchher.ng.filter.....
3.<url-pattern>/*</url-pattern>
4.一个最简单的struts2项目,配置步骤:
4.1 找一份struts2的配置文件,struts.xml,放在src目录下
4.2 修改web.xml文件,可以在案例中找一个,加上<filter>就行
4.3 建立一个jsp文件
5.struts2.xml配置:
<package name="default" namespace="/" extends="struts-default">
        <action name="hello">
            <result>
            /hello.jsp
            </result>
        </action>
    </package>
</struts>
访问时:http://localhost:8080/struts2/hello 或者http://localhost:8080/struts2/hello.action 
[.action]可以省略
6.devMode 开发模式


7:struts2中添加本地的dtd文件的方法:
window---->属性----->catalog(xml catalog),在右侧添加一个,
设置location路径是本地地址,
key type:选择URI
key:http://strus.apache.org/dtds/struts-2.0.dtd

8: struts2中的namespace 决定了action的访问路径,默认为"",是不写,可以接收所有路径的action,
namespace可以写为/,或者/xxx, 或者/xxx/yyy,那么对应的action访问路径为/index.action
,/xxx/index.action,或者/xxx/yyy/index.action
namespace最好也用模块来进行命名

9.struts2 中的<package> 跟java中的package作用一样,用来区分重名的情况

10.<result name="success"> 名字为success的可以省略不写

11:对于web工程,如果直接copy后,把工程直接复制到myeclipse,把工程改名后,还需要修改
:右键工程--->属性--->Myeclipse--->web  看右侧,Context Root中,修改Web Context-root的名称
为新修改的工程名称

12:对于从别人那里copy过来的web项目,需要把以前的JRE remove from buildpath,因为那是保存的以前
的路径,然后在自己的项目中重新buildpath
重新buildpath:右键工程--->build path--->Configure build path--->libraries
然后add libraries ,选择JRE System Libraries

13.修改系统默认的index.jsp的编码方式:
window--->preference--->查找jsp,找到myeclipse下 Files and Editors 下的JSP大标签,修改右侧的编码就行

14.action里面的class可以配置自己的action类,
该action类,只要有public String execute() 方法,返回值是String类型的,就可以
被struts2当成一个action,这是struts2跟struts1的巨大区别
如果没有配置class ,会执行他自己的class ActionSupport,这个源码在xwork-2.1.2.jar中

15.struts2中的action,每次被访问一次都会创建一个,不会出现线程同步的问题
struts1中的action是单例的

16.struts2中action对应的类有3中写法
16.1 直接写类,只要有public String execute() 方法,返回值是String类型的,
16.2 实现action接口
16.3 继承ActionSupport类 【推荐,因为ActionSupport类 为我们封装了很多可以直接调用的方法】
未完待续……