struts2基本原理

1. Servlet与Filter区别:

Servlet

void init(ServletConfig cfg);//初始化,读取Servlet的配置参数

void service(ServletRequest request,ServletResponse response);服务方法,用户的每次请求都会执行

void destory();//销毁方法

单例的

--------------------------
Filter

void init(FilterConfig cfg);//初始化,读取Filter的配置参数

void doFilter(ServletRequest request,ServletResponse response,FilterChain chain);过滤方法,用户每次访问被过滤的资源,都会执行

void destory();//销毁方法

单例的

 

总结:过滤器比Servlet强大,它能够决定是否让目标执行。

---------------------------

实际开发:ServletMVC开发模型中作为控制器存在,那么Filter也可以作为控制器。


2. struts2是基于MVC开发的框架,属于表现层框架
struts2有struts+WebWork发展而来,与struts1有很大区别

 

 3. struts2目录结构:

- apps 示例应用
- docs 相关文档,包括快速入门,API等
- lib struts框架和核心类库,及struts2第三方插件类库
- src 全部源代码
开发没必要将lib下jar全加入


4. 主要jar包: 



5. struts2处理流程:

6.   加载配置文件顺序

adefault.properties:struts2-core**.jar org.apache.struts包中(程序员只能看)

bstruts-default.xmlstruts2-core**.jar中(程序员只能看)

cstruts-plugin.xml:在插件的jar包中(程序员只能看)
以下文件可自定义修改

dstruts.xml:在应用的构建路径顶端。自己定义的Struts配置文件(推荐)

estruts.properties:在应用的构建路径顶端。程序员可以编写(不推荐)

fweb.xml:配置过滤器时,指定参数。程序员可以编写(不推荐)

特别注意:顺序是固定的。后面的配置会覆盖前面的同名配置信息。


7. 代码验证

此处的默认配置在 default.properties 中,默认为action或无
struts.action.extension=action,,


8. 在Struts.xml中设置常用常量(覆盖default.properties文件中默认设置)使用constant参数

    
    
  1. //处理struts2处理请求后缀,默认为action, 如需配置多个,逗号隔开
  2. <constant name="struts.action.extension" value="action"/>
  3. //浏览器是否静态缓存内容(true),开发最好关闭
  4. <constant name="struts.serve.static.browserCache" value="false"/>
  5. //struts配置文件修改后,系统是否自动重新加载该文件(false),开发最好true
  6. <constant name="struts.configuration.xml.reload" value="true"/>
  7. //开发模式,可打印出更详细的错误信息
  8. <constant name="struts.devMode" value="true"/>
  9. //是否支持动态方法调用(false)DMI
  10. <constant name="struts.enable.DynamicMethodInvocation" value="false"/>


9. 获取当前工作路径:

test.jsp:
application.getContextPath();
将test.jsp放入Tomcat/web/目录下
地址:localhost:8080/web/test.jsp得到路径: /web
PS:如果在DIEA中需要配置运行路径run/edit configaration/Deployment


10. 多个配置文件(struts文件)

<struts><include file="struts1.xml"></include>    </struts>











  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值