struts1 中的actionservlet怎么理解

2024-12-21 15:29:38
推荐回答(2个)
回答1:

1、ActionServlet类是Struts框架的内置核心控制器组件,它继承了javax. servlet.http.HttpServlet类,Struts的启动一般从加载ActionServlet开始,因此它在MVC模型中扮演中央控制器的角色。
2、在Struts中,它的主要作用是用来接收用户的请求信息,然后根据系统配置要求将请求传递给相应的Action对象。

在具体实现时,它首先要判断Action对象是否存在,如果不存在则先创建该对象;在请求被接收后,控制器会将其传递给一个Action实例,这一过程同样会判断实例是否存在,如果不存在则需先创建该实例的execute()方法。

回答2:

一个全局的servlet,符合.do结尾(可以配置为其他匹配模式)的请求进入处理,并且struts 处理请求(截取字符串操作),然后把处理的请求与struts-config.xml 配置的action项里的 path属性比较,是否匹配。匹配就用type属性指定的对应的方法去处理。然后方法 返回字符串 在result里寻找匹配项,然后根据result定义的走向跳转。
/login.do----> /login---->execute()---->返回结果字符串---->指定页面

大概就这么回事。如果你学了servlet,你就多想会,以前的servlet就是一个请求一个servlet,要建立很多的servlet。struts 就是一个大的servlet,然后处理请求后去分发给不同的action。实际就这么回事。以前的是servlet文件多,struts的是 action多。希望你能理解!!!初学不要着急,慢慢理解!