可以将MVC模式的主要优势总结如下:

多个视图可以对应一个模型。这样有利于代码的重用。如果模型发生改变,也容易升级和维护。

由于模型和视图由Controller进行控制,并且模型和视图是分离的,因此,可以通过模型为视图提供不同的数据,如各种类型的数据库、XML、Excel等。

由于控制器负责访问视图和模型,因此,可以在控制器中加入权限验证来限制用户对敏感资源的访问。

在MVC模式中,3个层次是分离的,降低了各个层次之间的耦合性,这样有利于对系统的各层进行扩展[11]。

2.1.2  Struts2架构

Struts2是在Struts1和webwork技术的基础上进行合并的全新的框架,采用拦截器为核心。底层仍然使用servlet来处理数据。客户端提交表单,经Struts2自身拦截器和用户自定义的拦截器栈,将数据封装到Action对应的字段中然后进入该Action,用户在Action中执行相应的方法进行逻辑处理并返回一个字符串,然后Struts2根据配置文件定义好的跳转路径跳转到相应的页面或者下一个Action中[2]

Struts2的Action和执行方法提供多种方式的定义。

方式一:配置一个Action同时定义好该Action对应的method这样在JSP页面上直接写该Action就可以执行上述类中的方法。需要提交的表单:

<form action="Edit" method="post">

……

</form>

配置文件中需要配置如下:

<action name="Edit" class="com.UserAction" method="editUser">

  <result name="success">editUser.jsp</result>

</action>

方式二:一个Action只配置一次,当页面需要执行该Action中的不同方法是只需要在书写Action名称的时候按照一定的规则即可。需要提交的表单如下:

<form action="UserAction!editUser" method="post">

……

</form>

配置文件中的配置

<action name="UserAction" class="com.test.UserAction">

  <result name="success">editUser.jsp</result>

</action>

上述两种配置都可以实现在点击提交的时候将表单提交给UserAction中的editUser方法进行处理,不同的只是在配置的时候不一样。方式一中指明了需要提交的action名字,而在配置文件中可以找到,并且定义了相关的方法,所以可以直接转到UserAction中去执行[12]。而方式二则是使用了感叹号的方式进行配置,Struts2会根据用户的感叹号两边的内容到配置文件中去查找对应的action,并将表单提交给感叹号后面的方法去处理。两种方式的使用都各有优缺点,第一种方式更直接,只要写明了action名字,就可以直接到配置文件中找到相应的类和方法,当时需要对于每一个action都进行配置而第二种则更简洁清晰,一个Action只需要一个配置就可以了。因此在实际开发中第二种方式更加常见。

上一篇:基于边缘信息的图像文字定位
下一篇:基于分层贝叶斯的多幅图像超分辨算法与软件

基于Apriori算法的电影推荐

基于PageRank算法的网络数据分析

基于神经网络的验证码识别算法

基于网络的通用试题库系...

python基于决策树算法的球赛预测

基于消费者个性特征的化...

随机型存储模型應用研究【1393字】

安康汉江网讯

张洁小说《无字》中的女性意识

我国风险投资的发展现状问题及对策分析

麦秸秆还田和沼液灌溉对...

新課改下小學语文洧效阅...

ASP.net+sqlserver企业设备管理系统设计与开发

互联网教育”变革路径研究进展【7972字】

网络语言“XX体”研究

老年2型糖尿病患者运动疗...

LiMn1-xFexPO4正极材料合成及充放电性能研究