问一个关于struts的问题

qiaowan19900712 2012-10-26 04:13:53
struts2的请求方式到底是哪里配置的 为什么是action!方法名 求解
...全文
189 15 打赏 收藏 转发到动态 举报
写回复
用AI写文章
15 条回复
切换为时间正序
请发表友善的回复…
发表回复
yao376689024 2012-10-29
  • 打赏
  • 举报
回复
我粗略的研究过STRUTS2的拦截器原理,其实就是在你加载的过程中,吧所有的.Action取出来形成一个map,,然后在值中再形成一个方法的Map。所以action的格式都是固定的,原因是它要根据这个格式来拆分,并找到相应的Map来取值,然后跳转到你请求的地方,传值是根据session传的,具体方式我就没研究了
qiaowan19900712 2012-10-29
  • 打赏
  • 举报
回复
恩 恩 知道啦 谢啦各位
jumpheightway 2012-10-27
  • 打赏
  • 举报
回复
struts的xml或者是properties里面配置
qiaowan19900712 2012-10-26
  • 打赏
  • 举报
回复
[Quote=引用 10 楼 的回复:]
这是web.xml文件的一段配置

<filter>
<filter-name>struts2</filter-name>
<filter-class>
org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter
</filter-class>
<!-- 自从Struts 2.1.3以后,下面的Filte……
[/Quote]嘿嘿 谢啦 再说点别的呗。。
qiaowan19900712 2012-10-26
  • 打赏
  • 举报
回复
[Quote=引用 10 楼 的回复:]
这是web.xml文件的一段配置

<filter>
<filter-name>struts2</filter-name>
<filter-class>
org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter
</filter-class>
<!-- 自从Struts 2.1.3以后,下面的Filte……
[/Quote]嘿嘿 这个我也知道 我想知道点底层的东西 还有其他的配置
yangcmao 2012-10-26
  • 打赏
  • 举报
回复
这是web.xml文件的一段配置

<filter>
<filter-name>struts2</filter-name>
<filter-class>
org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter
</filter-class>
<!-- 自从Struts 2.1.3以后,下面的FilterDispatcher已经标注为过时
<filter-class>org.apache.struts2.dispatcher.FilterDispatcher</filter-class> -->
</filter>
<filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
这里的*代表所有路径默认struts2是action
也可以这样<url-pattern>*.do</url-pattern>|点.后面是可以任意的
当你请求的时候会根据路径来找你的后缀
qiaowan19900712 2012-10-26
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 的回复:]
1:http://struts.apache.org/dtds/struts-2.0.dtd

2:struts-default.xml

剩下的你自己去研究吧
[/Quote]恩 恩 我瞅瞅 谢啦 嘿嘿
qiaowan19900712 2012-10-26
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 的回复:]
在struts2的核心包中有个default.properties文件,此文件有个struts.action.extension=action键值对.这就是struts默认请求后缀为action定义的地方,如果修改默认的请求后缀,可以在struts.xml中定义<constant name="struts.action.extension" value="do" />
[/Quote]哦 哦 谢谢啊 我看看先 呵呵
jackson_fighting 2012-10-26
  • 打赏
  • 举报
回复
1:http://struts.apache.org/dtds/struts-2.0.dtd

2:struts-default.xml

剩下的你自己去研究吧

月亮床 2012-10-26
  • 打赏
  • 举报
回复
在struts2的核心包中有个default.properties文件,此文件有个struts.action.extension=action键值对.这就是struts默认请求后缀为action定义的地方,如果修改默认的请求后缀,可以在struts.xml中定义<constant name="struts.action.extension" value="do" />
qiaowan19900712 2012-10-26
  • 打赏
  • 举报
回复
为什么在有的项目里面就不识别action!方法名 只能用<action name="user_*" class="net.demo.action.UserAction" method="{1}">
<result name="error">/login.jsp</result>
</action>
我搞不懂 他是怎么做到的 上面那个是举个例子 想知道这到底是怎么个情况 不知道我表达的明不明白
qiaowan19900712 2012-10-26
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 的回复:]
我不知道你说的是struts的配置不;希望对你有帮助
struts2;配置文件的action

<action name="user_*" class="net.demo.action.UserAction" method="{1}">
<result name="error">/login.jsp</result>
</action>
*代表你所写action的方法
同时met……
[/Quote]嘿嘿 这个我也知道 我是不明白 他是在哪里配置的 让他识别的这些请求
yangcmao 2012-10-26
  • 打赏
  • 举报
回复
我不知道你说的是struts的配置不;希望对你有帮助
struts2;配置文件的action

<action name="user_*" class="net.demo.action.UserAction" method="{1}">
<result name="error">/login.jsp</result>
</action>
*代表你所写action的方法
同时method属性值为一个表达式{1},表示它的值是name属性值中第一个*的值
struts2默认的后缀是action
qiaowan19900712 2012-10-26
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 的回复:]
web.xml

XML code


<filter>
<filter-name>struts2</filter-name>
<filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>
</filter>
<filte……
[/Quote]这个只是拦截请求 他是在哪里知道加上!前面是请求的action 后面是方法的
jackson_fighting 2012-10-26
  • 打赏
  • 举报
回复
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>

81,092

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧