首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 软件管理 > 软件架构设计 >

Struts2从零开始札记

2012-10-27 
Struts2从零开始笔记功能:实现MVC框架, 把请求跟视图分开准备工作:1、先下载Struts2软件解压后打开,里面有a

Struts2从零开始笔记
功能:实现MVC框架, 把请求跟视图分开
准备工作:
1、先下载Struts2软件解压后打开,里面有apps(实例程序),lib(类库)、docs(帮助文档)、    src(源码)等文件夹
做自己的第一个小项目步骤:
1、把实例程序下的lib文件夹下的.jar包全部考到我们自己的项目中。,但是里面的junit.jar和spring-test.jar不用。
2、打开apps中的任一一个实例程序观察目录结构可以发现我们在项目的src下面要有struts.xml文件
3、参实例程序中的web.xml可以修改我们自己的Web.xml,在我们自己的web.xml中增加下面的代码。
    <filter>
        <filter-name>struts2</filter-name>
        <filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>
    </filter>

    <filter-mapping>
        <filter-name>struts2</filter-name>
        <url-pattern>/*</url-pattern>
    </filter-mapping>
4、修改struts.xml:把<struts>标签中的所有内容全部注释,然后增加下面代码
   <package name="default" namespace="/" extends="struts-default">
        <action name="hello">
            <result>/Hello.jsp</result>
        </action>
    </package>
5、在自己的项目的WebRoot下面建一个Hello.jsp文件
6、在Eclipse中布部署Struts2项目:Window-Preferences-MyEclips-Servers-Tomcat找到Tomcat目录
7、启动自己的Tomcat,在浏览器中输入http://locahost:8888/struts/hell就可以访问自己的Hello.jsp文件了。
说明:浏览器中的地址要根据自己所配置的Tomcat的和项目名称而定
一些配置:
1、让Eclipse为我们在写struts.xml时自动提示
   解压struts2-core-2.1.8.jar,在Window-Preferences-MyEclipse-Files and Editors-XML-XML Catalog-Add,在弹出的对话框中
Location:自己所解压的struts2-core-2.1.8.jar后文件夹下的struts-2.0.dtd
Key Type:URl
Key:http://struts.apache.org/dtds/struts-2.0.dtd
运行机制:
当我们访问http://locahost:8888/struts/hell的时候,请求会被http协议发送给Tomcat,Tomcat就会发现你所请求的是Struts这个WebApplication,就会去找Webapplication中的web.xml配置文件
    <filter>
        <filter-name>struts2</filter-name>
        <filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>//(1)
    </filter>

    <filter-mapping>
        <filter-name>struts2</filter-name>
        <url-pattern>/*</url-pattern>//过滤所有的URL地址,并把这个地址交给(1)
    </filter-mapping>
StrutsPrepareAndExecuteFilter这个类会去查看"namespace(struts.xml中的)",在这里会发现namespace="/",接下来就找到struts.xml中的{
  <package name="default" namespace="/" extends="struts-default">
        <action name="hello">
            <result>/Hello.jsp</result>
        </action>
    </package>
}从地址栏中会发现要的是一个名叫hello的Action,找到这个Action后再从这个Action中找相应的Result所指定的文件(Hello.jsp)并把该页面返回给客服。
Action的传值:
1、在Action中把要需要传值的的参数设置为属性,并写上get()set()方法,在地址栏中直接    传入相应的值。
2、使用Domain Model接收参数(但是不能够接收不属于自己的属性的值)
3、使用DTO(作用是接收参数和把参数传给Model)

热点排行