[转载]Struts简单分析
来源:互联网 发布:centos 7 邮件服务器 编辑:程序博客网 时间:2024/05/06 18:04
------------------------------
给朋友讲了struts,写了大半天,转到这个上面。
action调用后缀是指定而非一定是*.do
web.xml有如下定义。
<servlet>
<servlet-name>action</servlet-name>
<servlet-class>org.apache.struts.action.ActionServlet</servlet-class>
<init-param>
<param-name>config</param-name>
<param-value>/WEB-INF/struts-config.xml</param-value>
</init-param>
</servlet>
<servlet-mapping>
<servlet-name>action</servlet-name>
<url-pattern>/do/*</url-pattern>
</servlet-mapping>
这个定义不一样。
不过通常是这样:
<servlet-mapping>
<servlet-name>action</servlet-name>
<url-pattern>*.do</url-pattern>
</servlet-mapping>
定义成
<servlet-mapping>
<servlet-name>action</servlet-name>
<url-pattern>*.sdfsdf</url-pattern>
</servlet-mapping>
也能行。
还有*.do不是文件,只是一个suffix。
web一般流程是
view---------------->servlet--------->service------->dao--------->database然后返回
从架构上来讲,struts只有一个Servlet.它所有的请求都通过ActionServlet.通过java的映射机制
调出Action ,如果action extends Action就执行execute()
,如果extends DispatchAction就必须指定
parameter=,执行它的指定method.
进行处理后通过ActionMapping.findForward("path")来跳到下一个页面。
既然讲了,就还讲一些。
struts的配置文件struts-config.xml
一般分为form,global,action,plugin
form 是指actionForm的定义,这个简单。
global有global-forwards ,global-exceptions定义的是全局定义。
action 可以有简单的
<action path="/test" type="org.apache.struts.actions.ForwardAction"
parameter="/WEB-INF/pages/common/main.jsp"/>
直接跳转,也有复杂点的
<action
path="/test/listQuotation"
type="net.villion.test.webapp.action.market.QuotationAction"
name="quotationForm"
scope="request"
input="list"
parameter="action"
unknown="false"
validate="false"
<forward
name="list"
path="association.quotation.list"
redirect="false"
/>
<forward
name="add"
path="association.quotation.add"
redirect="false"
/>
<forward
name="edit"
path="association.quotation.edit"
redirect="false"
/>
<forward
name="view"
path="association.quotation.view"
redirect="false"
/>
</action>
这个就是用了tiles的,forwar
path定义在tiles配置里面。讲重要的参数parameter="action"
validate="false"
parameter="action"
就说明我调用的url是/*.do?action=".."形式的。validate="false"说明不用对这个表单进行验证。
struts同一个表单,不同的地方有些地方验证,有些不用。就是这里指定了。
还有一般大家没有注意的重要参数redirect,这个是指参数是否继续传递下去,默认false,继续传递。有时候非常有用的。
plugin,struts的国际化,验证,以及tiles都是插件,有需要自己也可以写插件放进去
- [转载]Struts简单分析
- struts简单例子的分析
- struts简单例子的分析
- struts简单例子的分析
- Struts 2简单配置分析,让Struts 2运行起来!
- Struts 2简单配置分析,让Struts 2运行起来!
- Struts 2简单配置分析,让Struts 2运行起来!
- Struts中使用displaytag简单小教程(转载)
- struts标记库(转载)
- Struts标签-Logic(转载)
- (转载)Nutch 2.0 之 抓取流程简单分析
- Struts下的MapForm [转载]
- [转载]关于struts的学习!
- Eclipse开发struts指南(转载)
- Struts常见错误汇总(转载)
- Struts,Spring,Hibernate优缺点(转载)
- [转载] 第七章 struts国际化
- 【转载】struts.custom.i18n.resources
- 深入理解C#编程中的组件-事件-委托
- [转]对象数量(单件与对象池的区别)
- 使用VC++ ATL实现Office的COM插件
- 郁闷的一天
- QQ技术全攻略(原来简单的QQ,还隐藏着这么多秘密!)
- [转载]Struts简单分析
- XMLHTTP和DOMDocument在WEB应用上的使用问题
- 实现MSDN China的导航Panel
- shark使用oracle9i的安装
- 搭建Java开发环境
- 第二天
- 今夜静悄悄
- 3C融合(3c fusion)
- ACCESS在NTFS中只能读不能修改问题