struts2执行流程及环境搭建

       struts2和struts1一样,都是应用在web层的框架,不过,它不是基于struts1升级而来,而是一个基于webWork的全新框架,webWork框架是继struts1之后推出的开源框架。

         struts2和struts1在体系结构上是有很大差别的,struts2中需要用户实现的组件及元素有:Action类、strusts.xml。去掉了struts1中的actionForm,换了一种新的传递表单数据的方式。通过代码看一下区别吧。

   下面是一个简单的登录。

      1. 页面

<form id="form" action="user/logon" method="post" name="UserForm">
	<input type="text" id="userName" name="user.userName" >
	<input type="text" id="passWord" name="user.passWord">
	<input type="submit" value="登录">
</form>

    2.需要引入的jar以及配置文件的编写。

     web.xml文件

  <filter>
     <filter-name>struts2</filter-name>
     <filter-class> org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>
     <!--struts2的struts.xml文件的默认路径是在src下,如果为了将配置文件集中放置到一个地方,需要在配置过滤器时指定配置文件。同时还需要指定struts-default.xml和struts-plugin.xml这两个配置文件。现在strtus.xml是放在src/config下的-->
     <init-param>
	<param-name>config</param-name>
	<param-value>struts-default.xml,struts-plugin.xml,config/struts.xml</param-value>
     </init-param>
  </filter>
  <filter-mapping>
    <filter-name>struts2</filter-name>
    <url-pattern>/*</url-pattern>
  </filter-mapping>

    struts.xml文件核心配置文件

<struts>
	<!--struts-default是必须要继承的  -->
	<package name="pac" namespace="/" extends="struts-default">
		<action name="user" class="com.tgb.struts2.action.LogonAction" >
			<result name="success">/success.jsp</result>
			<result name="error">/error.jsp</result>
		</action>
	</package>
   
</struts>

    3. Action实现类

public class LogonAction {
	private User user; 
	//get、set方法
	public String execute() throws Exception{
  		if("liusong".equals(user.getUserName())&&"liusong".equals(user.getPassWord())){
   			return "success";
  		}else{
   			return "error";
  		}
	 }
}


       Action可以继承ActionSupport,也可以采用不继承方式。

       接收参数:可以建一个实体类来获取页面数据,就像struts1中的form,但是不需要继承ActionForm,也可以直接在action中定义userName和passWord属性来接收表单数据,但是struts2不支持直接在action的方法中直接加形参接收参数,这个在springMVC中是支持的。

         下面是struts2官网中关于struts2运行流程的图解,非常清晰:

  

       客户端发出请求,该请求经过一些过滤器,最后到达FilterDispacher。FilterDispacher根据配置文件的信息,判断该请求是否需要某个action,并找到对应的action,action的方法被执行后,根据返回结果在配置文件中匹配相应的页面或者重定向请求,最后将结果返回到客户端。

      如果想了解struts2内部更细致的执行流程,可以参考下面在网上摘录的一段描述:

     1. 客户端向服务器发出请求

     2. 请求经过一系列的过滤器,最终到达FilterDispatcher

     3. ActionMapper判断是否需要调用某个Action,FilterDispatcher把请求的处理交给ActionProxy

     4. actionProxy通过ConfigurationManager读取配置文件,根据截取的url找到对应的Action

     5. ActionProxy创建一个ActionInvocation实例

     6. ActionInvocation调用Action的execut方法

     7. ActionInvocation根据struts.xml配置找到对应的返回结果

 

 

 

 

 

 

 

 

 

 

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
对于Struts2的环境配置,你需要进行以下步骤: 1. 下载Struts2框架:你可以从官方网站(https://struts.apache.org/download.cgi)下载最新的Struts2版本。 2. 解压下载的文件:将下载的压缩包解压到你选择的目录。 3. 配置Struts2库:在你的项目中创建一个lib目录,并将解压后的文件中的所有JAR文件复制到该目录中。 4. 创建Web应用程序:在你的IDE中创建一个新的Web应用程序,并设置正确的项目结构和Web应用程序描述符。 5. 配置web.xml文件:在web.xml文件中添加Struts2的过滤器和监听器,以及其他必要的配置。你可以参考官方文档(https://struts.apache.org/core-developers/webxml.html)来了解详细配置信息。 6. 创建Struts2配置文件:在你的项目中创建一个struts.xml文件,并配置Struts2的相关设置,包括拦截器、动作映射等。你可以参考官方文档(https://struts.apache.org/core-developers/struts-xml.html)来了解如何编写配置文件。 7. 创建Action类:在你的项目中创建Action类,用于处理用户请求。Action类需要实现Action接口或继承自已有的Action类,并实现相应的方法。 8. 创建JSP视图:创建与Action对应的JSP视图,用于展示数据和与用户交互。 以上是Struts2环境配置的基本步骤,你可以根据你的项目需求进行更详细的配置和开发。希望对你有所帮助!如果你还有其他问题,请继续提问。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值