本文共 1362 字,大约阅读时间需要 4 分钟。
首先控制器接受用户的请求,并决定应该调用哪个模型进行处理;然后模型根据用户请求进行相应的业务逻辑处理,并返回数据;最后控制器调用相应的视图格式化模型数据并返回的数据,并通过视图呈现给用户。
1、多个视图能共享一个模型,大大提高了代码的可重用性;
2、MVC三个模块相互独立,改变其中一个不会影响其他两个,构造良好的松耦合的构件;
3、控制器提高了应用程序的灵活性与可配置性;
Strutts2是构建于jsp/servlet之上的存在于WEB容器这一层。
步骤:
1、新建一个web工程demo(login.jsp、index.jsp)
2、加入Struts2应用的最基本的jar包(9个)
commons-fileupload.jarcommons-io.jarcommons-logging.jarfreemarker.jarjavassist.jarognl.jarstruts2-core.jarxwork-core.jarcommons-lang3.jar3、将struts配置到web容器中(配置一个过滤器来获取用户请求)
4、编写login.jspstruts2 org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter struts2 /*
5、编写LoginAction
public class LoginAction{ private String username; private String password; public String execute(){ return "success"; } //....省略属性的setter/getter方法}6、配置struts2核心配置文件 struts.xml
Struts2执行过程:index.jsp
用户请求到达服务器后,由Struts2过滤器进行拦截该用户请求,然后再去匹配struts.xml中的<action/>名称为login,找到后流程转到该LoginAction中,此时用户请求时携带的参数在该类中通过对应的setter方法对成员变量username,password进行赋值,然后再去执行execute方法并返回一个状态值success,流程再次回到struts.xml中寻找<result/>匹配器name属性,得到其对应的index.jsp,服务器将通过该视图进行数据渲染后返回给客户端浏览器。
转载地址:http://ghxei.baihongyu.com/