Struts2从零开始笔记

[size=large][b]功能:[/b]实现MVC框架, 把请求跟视图分开
[b]准备工作:[/b]
1、先下载Struts2软件解压后打开,里面有apps(实例程序),lib(类库)、docs(帮助文档)、 src(源码)等文件夹
[b]做自己的第一个小项目步骤:[/b]
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的和项目名称而定
[b]一些配置:[/b]
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)

[/size]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值