Struts2中Struts.xml的作用是啥?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Struts2中Struts.xml的作用是啥?相关的知识,希望对你有一定的参考价值。
struts.xml 为Struts 2的核心配置文件。struts.xml文件主要负责管理应用中的Action映射,以及该Action包含的Result定义等。struts.xml中主要配置Struts项目的一些全局的属性,用户请求和响应Action之间的对应关系,以及配置Action中可能用到的参数,以及处理结果的返回页面。还包括各种拦截器的配置等。 参考技术A
主要作用就是为Struts 2的核心配置文件。
一、struts.xml中主要配置Struts项目的一些全局的属性,用户请求和响应Action之间的对应关系,以及配置Action中可能用到的参数,以及处理结果的返回页面。
二、Apache Struts 2最初被称为WebWork 2,它是一个简洁的、可扩展的框架,可用于创建企业级Java web应用程序。设计这个框架是为了从构建、部署、到应用程序维护方面来简化整个开发周期。
三、web.xml配置文件是一种J2EE配置文件,决定servlet容器的HTTP元素需求如何进行处理。它严格来说不是一个Struts2 配置文件,但它是Struts2 运作所需要进行配置的文件。
四、在web.xml里定义一个FilterDispatcher类的接入点,而这个web.xml文件需要在WebContent/WEB-INF文件夹下创建。如果你开始时没有模板或工具(比如Eclipse或Maven2)的辅助来生成,那这就是第一个你需要配置的文件。
参考技术B(1)struts.xml 为Struts 2的核心配置文件。struts.xml文件主要负责管理应用中的Action映射,以及该Action包含的Result定义等。
(2)struts.xml中主要配置Struts项目的一些全局的属性,用户请求和响应Action之间的对应关系,以及配置Action中可能用到的参数,以及处理结果的返回页面。还包括各种拦截器的配置等。
参考技术C 1楼说的很对。1)Action映射是指:
在struts.xml中指定action执行的方法,如:<action name="findgoodstype" class="com.myStruts.web.action.GoodsTypeAction" method="findGoodsType">
一:name="findgoodstype" 即为调用action时使用的名称,调用方法为:findgoodstype.action。
二:class="com.myStruts.web.action.GoodsTypeAction" 是定向要到哪个java文件中,前提保证是:在com.myStruts.web.action包目录结构中要有GoodsTypeAction.java文件。
三:method="findGoodsType" 即为action要执行的方法,前提保证:在GoodsTypeAction.java文件中要有名为findGoodsType的方法。
2)Action中传递参数:
<action name="findgoodstype" class="com.myStruts.web.action.GoodsTypeAction" method="findGoodsType">
<param name="kind">child</param>
</action>
其中param name="kind",kind是传递的参数名,child为参数传递的值,该参数值在findGoodsType方法中可用ServletActionContext.getRequest().getParameter("kind")方法获得。
3)跳转到相应页面:
<action name="findgoodstype" class="com.myStruts.web.action.GoodsTypeAction" method="findGoodsType">
<param name="kind">child</param>
<result name="goodstype">stype.jsp</result>
</action>
其中result name="goodstype"中的goodstype为findGoodsType方法的返回值,可用return "findGoodsType";方式实现,stype.jsp为将要跳转到的jsp页面。
struts.xml文件的配置方法还有很多,以上只是常用的。
struts2中报异常Unable to instantiate Action是啥原因
原因可能是配置文件加载出了问题。
对于这样的问题,观察报错误的信息:javax.UnavailableException: Parsing error processing resource path /WEB-INF/struts-config.xml意思是:WEB - INF / struts-config.xml处理资源的时候解析错误,重点是解析错误,不能解析意思是不能被struts所编译通过,里面存在不合法的配置、标签、dtd、注释等约束 可能还有其他的。
Struts2是一个基于MVC设计模式的Web应用框架,它本质上相当于一个servlet,在MVC设计模式中,Struts2作为控制器(Controller)来建立模型与视图的数据交互。Struts 2是Struts的下一代产品,是在 struts 1和WebWork的技术基础上进行了合并的全新的Struts 2框架。其全新的Struts 2的体系结构与Struts 1的体系结构差别巨大。Struts 2以WebWork为核心,采用拦截器的机制来处理用户的请求,这样的设计也使得业务逻辑控制器能够与ServletAPI完全脱离开,所以Struts 2可以理解为WebWork的更新产品。虽然从Struts 1到Struts 2有着太大的变化,但是相对于WebWork,Struts 2的变化很小。
出错了,导致无法实例化Action本回答被提问者和网友采纳 参考技术B 贴struts配置文件给我看追问
vote_allVote.action
/login.html
没有写错啊
Unable to instantiate Action, com.vote.action.struts2.UserAction, defined for 'user_login' in namespace '/'无法加载类com.vote.impl.UserServiceImpl
麻烦帮我看一下是什么问题。。
以上是关于Struts2中Struts.xml的作用是啥?的主要内容,如果未能解决你的问题,请参考以下文章
过滤器映射 URL 模式 *.action 不起作用 struts2