Struts2的学习和使用(1)

使用步骤:

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

<resul t   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中使用 "!方法名" 


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值