Struts2的学习和使用(1)

来源:互联网 发布:windows性能测试工具 编辑:程序博客网 时间:2024/06/16 00:12

使用步骤:

1.导入Struts2所需要的jar包


2.在web.xml中配置Struts2的前端控制器 

 <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>

3.编写Struts2的默认配置文件Struts2.xml

<packagename="default" namespace="/" extends="struts-default">

              <!-- <a href="${pageContext.request.contextPath }/hello.action">访问struts2入门</a>-->

              <!-- 将请求 分发给一个Action-->

              <!-- action的name 就是hello.action去掉扩展名  -->

              <action name="hello"class="cn.itcast.struts2.demo1.HelloAction">

<result name="executesuccess">/demo1/success.jsp</result> 

</action>

   </package>

Struts2的流程分析

用户请求-->Struts2的StrutsPrepareAndExcuteFilter核心控制器(Web.xml中)----->根据url进入Struts2.xml中根据name匹配进入到对应的拦截类中,执行相应的方法。------>根据方法的返回值匹配result进入对应的jsp页面中。

Struts2的文件加载顺序

default.properties 该文件保存在 struts2-core-2.3.7.jar中org.apache.struts2包里面  (常量的默认值)

struts-default.xml 该文件保存在 struts2-core-2.3.7.jar  (Bean、拦截器、结果类型 )

struts-plugin.xml 该文件保存在struts-Xxx-2.3.7.jar  (在插件包中存在,配置插件信息 )

struts.xml 该文件是web应用默认的struts配置文件 (实际开发中,通常写struts.xml ) ******************************

struts.properties 该文件是Struts的默认配置文件  (配置常量 )

web.xml 该文件是Web应用的配置文件 (配置常量 )


(1)package标签:

<package name="default"namespace="/" extends="struts-default">

name是唯一的   namespace和action的name决定访问的路径  namespace如果不写的话默认是"".

(2)action标签:

<action name="hello"class="cn.itcast.struts2.demo1.HelloAction"  method=“方法名”>

name即匹配的url地址   class为进入的类  如果不写class则默认进入ActionSupport中   method即为执行的方法 ,如果不写则默认进入execute方法。

(3)result标签

<result name="executesuccess">/demo1/success.jsp</result>

name即为根据方法返回的字符串   根据字符串匹配进入对应的jsp页面   如果不写name 默认是success


跳转的路径是由namespace和action中的name共同决定的   /namespace/name    这两个中间不管是什么都能跳转


定义默认的action 如果没找到相应的action标签中的name 则去找定义的这个默认action

即:

<default-action-ref name="default"></default-action-ref>

<action name="default"  >
<result name="success">/WEB-INF/hello1.jsp</result>
</action>


Struts2的常用常量:

<constantname="struts.i18n.encoding" value="UTF-8"/>  

------- 相当于request.setCharacterEncoding("UTF-8"); 解决post请求乱码

<constant name="struts.action.extension"value="action,,"/> 

------- 访问struts2框架Action访问路径 扩展名 (要求)

这个就是后缀名 可以使 .action  或者空  或者.do 或者其他的 自己定义

<constantname="struts.serve.static.browserCache" value="false"/>

------ false不缓存,true浏览器会缓存静态内容,产品环境设置true、开发环境设false 

<constant name="struts.devMode"value="true" />  

------(修改完配置文件不用重启服务器)提供详细报错页面,修改struts.xml后不需要重启服务器 (要求)


Struts2的文件分离 类似于applicationContext.xml中的文件引入:

<include file="struts-part1.xml"/>


书写Acion类的三种方式

1.pojo类   自己写一个类实现业务

2. 实现Action接口

3.编写Action  继承ActionSupport  (推荐)

   可以在Action中使用 表单校验、错误信息设置、读取国际化信息三个功能

Action中方法的通配符

<action  name="customer_*"   class="cn.itcast.struts2.demo4.CustomerAction"   method="{1}"></action>  

---  {1}就是第一个* 匹配内容

动态方法调用

   1.首先保证常量中动态方法为true

   2.Action标签中 不写method  而在url中使用 "!方法名" 


原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 酒后头痛怎么办快速缓解疼痛 孕妇感冒头痛怎么办快速缓解疼痛 投稿后发现文章有错误怎么办 如有一方不同意离婚怎么办 孩子上课时注意力不集中怎么办 幼儿上课时注意力不集中怎么办 孩子读初中不爱读书怎么办 老师需要刺激孩子家长怎么办 错觉视界第11关怎么办 爱逃学的学生老师怎么办 论文投稿发现有错误怎么办 孩子上初中数学物理不好怎么办 火山小视频误踢怎么办 铁棍山药弄到手很痒怎么办 山药皮过敏很痒怎么办 貔貅被家人摸了怎么办? 摸了山药很痒怎么办 山药搞得皮肤痒怎么办 手上弄了山药痒怎么办 老板就是个富二代怎么办 中考准考证密码忘了怎么办 准考证号和密码忘了怎么办 安运继续教育考试不及格怎么办 微信的视频打不开怎么办 公众号被取消了怎么办 合同上不写工资怎么办 已经上班了想考个大专文凭怎么办 微信小程序违规暂停服务怎么办 程序锁密码忘了怎么办 忘了应用锁密码怎么办 毕业后发现论文有错误怎么办 柯丽尔打胶片时胶片卡住了怎么办 闽教英语要收费怎么办 高一学生英语差怎么办 高一英语基础差怎么办 老师教育学生学生跑出教室怎么办 研究生课题难出论文怎么办 一审过了上诉期怎么办 民事判决赔偿不给钱怎么办 民事申诉期过了怎么办 过了两年申诉期怎么办