1.struts1 xwork : struts2
v c m
v web services(业务应用) m
2.包--继承包
3.namespace命名空间:逻辑上的名字
4.<result>
5二种创建action
Action 接口
ActionSupport
6.action 动态方法调用
1.method
2.!动态方法调用DMI
3.通配符方法
7.属性常量
8.全局视图
<global-results>
<result name="a1">/main.jsp</result>
</global-results>
9.传值---同名属性赋值原则
1.属性名字
2.领域对象接受用户数据User
3.ModelDriven接口接受数据
10.请求action的后缀设置
11.查分struts.xml文件
12.<result>的分类转向:4种(重点)
转发:
1.dispatcher:action---struts_a2.xml视图
2.chain:action--->action
重定向:
3.redirect:action--->视图
4.redirectAction:action---->action
13.在action中获取request,session.application(重点)
1. 解耦方式
ActionContext cc=ActionContext.getContext();
Map request=(Map)cc.get("request");
Map session=cc.getSession();
Map application=cc.getApplication();
---------------------------------
实现RequestAware,SessionAware,ApplicationAware接口
2.耦合方式:原生态对象
ServletActionContext
HttpServletRequest request=ServletActionContext.getRequest();
ServletContext application=ServletActionContext.getServletContext();
------------------------------------
ServletRequestAware
14.类型转换器:extends DefaultTypeConverter
重写方法:public Object convertValue(Map context, Object value, Class toType) {}
15.文件上传
1.简单的copy方式上传文件
2.流的方式上传文件
3.下载
16.拦截器:三种方法创建拦截器,第三种方法可选择拦截Action中的某几个方法,配置灵活
<s:toke>防止表单重复提交struts系统拦截器的使用
注意:给Action添加关联拦截器或拦截栈时,添加struts系统默认拦截器。
17.验证:
validate方法:在action中重写public void validate(){}方法
在配置文件中添加input路径,当验证不同过时系统自动转向input方法,不会进入execute方法。
在页面使用<s:fielderro>标签显示错误提示信息