MVC设计模式的自定义---------要求所有的请求都发送给控制器,控制器根据请求的url找到相应的Action进行处理,Action执行业务操作并获取数据,最后将结果放回给视图。
Struts2框架结构----- FilterDispatcherà拦截器1、拦截器2、拦截器3…-àActionàRrsult -àJSP
struts.properties文件配置开发阶段的建议
struts.configuration.xml.reload=true //开发阶段最好打开,修改后是否从新加载该文件
struts.serve.static.browserCache=false //开发阶段最好关闭,设置浏览器是否缓存静态内容
struts.xml中配置
struts.devMode=true //开发时打开,会提示更多的信息
加载顺序:struts2.xmlàstruts.propertiesàweb.xml
常量的搜索顺序是struts2.xmlàstruts.propertiesàweb.xml 所以不同文件中配置了相同的常量,后面的会覆盖前面的相同配置
action实现的Action接口,继承了ActionSupport类:
Action接口中定义了一些静态变量如NONE="none",ERROR="error",INPUT="input",LOGIN="login"
ActionSupport类中侧提供了许多默认方法,包括数据校验,默认请求方法等,例如Validate()数据校验方法:例如在action方法的发现数据不符合的话,就会执行addFieldError()方法,将错误信息写入Action类的FieldErrors中,Struts2框架将自动返回INPUT视图。
Struts2可以通过ActionContext类访问Servlet API
配置Action就是让Struts2容器知道Action的存在,并且能够调用该Action来处理相应的用户请求。
Action处理完毕请求后通常返回一个字符,即逻辑视图名,必须在struts.xml文件中完成逻辑视图和物理视图资源的映射。
Dispatcher、redirect、rdirectAction、stream是常用的结果类型,配置result,如果没有指定result的name和type,那么name默认为success,而type默认为dispatcher。
Struts2的异常处理机制是通过在strut.xml文件中配置<exception-mapping>元素来完成的,配置该元素时,需要指定exception和result两个属性。