struts控制器启动概述:由于web.xml中的filter-class中配置的类,在该类中定义了init(),dofilter(),destory()函数,init()函数由web服务器去调用并启动struts控制器
struts配置文件:
strust-default.xml:struts核心包的根目录
内置的配置文件,配置了很多默认拦截器,结果类型,设定好了拦截器栈,设定了struts的各项默认值
bean:声明struts底层程序的各项类,由struts控制器读取,避免程序升级可能造成的程序改改动,避免了硬编码
package:默认包,定义了struts默认拦截器,拦截器栈(将拦截器打包,使用方法),以及默认配置
struts.xml :根目录
自己编写的主配置文件,struts默认常量的修改也是修改在该文件上
主要做用:
配置自己的package,action
扩展内置的拦截器,拦截器栈,结果类型
设定配置信息的默认选项
修改覆盖struts.defalut.xml中的内容
设定struts的初始化常量
设定其他的struts配置文件
struts-plugin.xml :在插件包的根目录或在当前项目的根目录
配置第三方插件
struts常量
常量信息在核心包下 org/apache/struts2/default.properties中
常用的常量
struts.action.extension=do.go 用户需要指定多个请求后缀,则多个后缀之间以,隔开
struts.configuration.xml.reload=true struts文件修改后,系统是否自动重新加载该文件,开发阶段最好改为true
struts.devMode = true 开发模式下使用可以打印出更详细的错误信息,同时可以自动加载struts2的配置文件和资源文件
struts.ui.theme=simlpe 默认的视图主题,设置simple表示简单主题,目的时去掉struts2提供的css样式,在开发中css样式由美工设计的
struts.objectFactory=spring 与spring集成时,指定由spring负责action对象的创建
struts.enable.DynamicMethodInvocation=false 设定struts2是否支持动态方法的调用,默认时true
struts.multpart.maxSize=10701096 上传文件的大小限制
修改常量的方式
方法1: 在struts.xml中使用常量标签覆盖默认配置文件的值(准确说时javabean的值)
<constant name="struts.i18n.encoding" value="GBK"></constant>
方法2:根目录下新建struts.properties,将要修改的常量添加进去(不建议使用 主要是开发配合上会有影响阅读 xml文件引入顺序 properties文件会在xml文件之后,定义了同一常量会后者会覆盖前者)